summaryrefslogtreecommitdiffstats
path: root/archiveview.h
diff options
context:
space:
mode:
Diffstat (limited to 'archiveview.h')
-rw-r--r--archiveview.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/archiveview.h b/archiveview.h
index b164141..72dd078 100644
--- a/archiveview.h
+++ b/archiveview.h
@@ -13,6 +13,7 @@
#include <QSortFilterProxyModel>
#include <QWidget>
#include <QStyledItemDelegate>
+#include <QDate>
#include "archivemodel.h"
#include "smtreeview.h"
@@ -29,6 +30,9 @@ class ArchiveController;
class QSplitter;
class SimpleModel;
class QTextEdit;
+class QCompleter;
+class QStandardItemModel;
+class QSpinBox;
class ArchiveView : public QWidget {
Q_OBJECT
@@ -82,6 +86,9 @@ class ArchiveTree : public SmTreeView {
public slots:
void rename();
void remove();
+ void editActors();
+ void editGenres();
+ void editMetadata();
private:
void impossible(const QString msg = tr("Unable to perform function!"));
@@ -127,6 +134,53 @@ class FileTypeDelegate : public QStyledItemDelegate {
QHash<int, QString> mFiletypeMap;
};
+class MappingEditor : public QDialog {
+ Q_OBJECT
+ public:
+ explicit MappingEditor(const QString &caption, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ void fillCompleter(const QStringList &completions);
+ void setCurrentItems(const QStringList &items);
+ QStringList items() const;
+
+ private slots:
+ void addItem();
+ void removeItem();
+
+ private:
+ QStandardItemModel *mModel;
+ QSortFilterProxyModel *mProxy;
+ SmTreeView *mView;
+ QPushButton *mAdd;
+ QPushButton *mRemove;
+ QPushButton *mAccept;
+ QPushButton *mCancel;
+ QLineEdit *mEditor;
+ QCompleter *mCompleter;
+ QStringListModel *mCompleterModel;
+};
+
+class MetadataEditor : public QDialog {
+ Q_OBJECT
+ public:
+ explicit MetadataEditor(QWidget *parent = 0, Qt::WindowFlags f = 0);
+ void setSources(const QStringList &sources);
+ void setReleaseGroups(const QStringList &relGroups);
+ void setMetadata(const QList<QVariant> &data);
+ QList<QVariant> metadata() const;
+
+ private:
+ QSpinBox *mReleaseYear;
+ QComboBox *mSource;
+ QComboBox *mRelGroup;
+ QLineEdit *mSubject;
+ QLineEdit *mEncoderOpts;
+ QSpinBox *mPasses;
+ QTextEdit *mComment;
+ QPushButton *mCancel;
+ QPushButton *mAccept;
+ QDate mAdded;
+};
+
class FileNoDelegate : public QStyledItemDelegate {
Q_OBJECT
public: