/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ #ifndef NEWMOVIEWIZARD_H #define NEWMOVIEWIZARD_H #include #include #include #include "smtreemodel.h" class QTreeView; class WizardTreeModel; class SmTreeItem; class QLineEdit; class QSpinBox; class QPushButton; class QComboBox; class NewMovieWizard : public QWizard { Q_OBJECT public: explicit NewMovieWizard(QWidget *parent = 0); }; class MovieInfoPage : public QWizardPage { Q_OBJECT public: explicit MovieInfoPage(QWidget *parent = 0); private slots: void addFiles(); void removeFile(); void typeChanged(QString); private: QTreeView *mFileView; QLineEdit *mTitle; QSpinBox *mSeriesNo; QSpinBox *mPartno; QSpinBox *mQuality; QSpinBox *mDvdNo; QPushButton *mAddFile; QPushButton *mRemoveFile; QComboBox *mFileType; WizardTreeModel *mFileModel; SmTreeItem *mMoviesItem; SmTreeItem *mCoversItem; }; class WizardTreeModel : public SmTreeModel { Q_OBJECT public: enum CustomRoles { FileNameRole = Qt::UserRole + 1, FileSizeRole = Qt::UserRole + 2, FileTypeRole = Qt::UserRole + 3, FullPathRole = Qt::UserRole + 4 }; enum Fields { FileName = 0, FileSize = 1, FileType = 3, FullPath = 4 }; enum Types { Movie = 1, FrontCover = 2, BackCover = 3, GeneralCover = 4 }; explicit WizardTreeModel(QStringList &headers, QObject *parent = 0); virtual ~WizardTreeModel() {} //data + flags virtual QVariant data(const QModelIndex &index, int role) const; virtual Qt::ItemFlags flags(const QModelIndex &index) const; //file types QStringList types() const; int typeId(const QString &value) const; private: QHash mFileTypeMap; }; #endif