diff options
Diffstat (limited to 'archiveview.h')
-rw-r--r-- | archiveview.h | 54 |
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: |