/* 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 MOVIEINFOPAGE_H #define MOVIEINFOPAGE_H #include #include class WizardTreeModel; class SmTreeView; class SmTreeItem; class QSpinBox; class QLineEdit; class QSortFilterProxyModel; class QStringListModel; class QCompleter; class QDateEdit; class MovieInfoPage : public QWizardPage { Q_OBJECT public: explicit MovieInfoPage(QWidget *parent = nullptr); WizardTreeModel *model() { return mFileModel; } virtual void initializePage(); void addFile(const QString &file); void setCurrentDir(const QString &dir) { mCurrentDir = dir; } void selectFirst(); void saveData(); void restoreData(); const QStringList &origins() const { return mOrigins; } public slots: void initCompleters(); void guessOld(const QString &fullPath); private slots: void extractMetadata(); void addOld(); void addFiles(); void removeFile(); void toLower(); void fuzzyCheck(); private: void setupGui(); SmTreeView *mFileView; QLineEdit *mTitle; QLineEdit *mSubtitle; QSpinBox *mSeriesNo; QSpinBox *mQuality; QDateEdit *mCreationDate; WizardTreeModel *mFileModel; SmTreeItem *mMoviesItem; SmTreeItem *mCoversItem; QCompleter *mSeriesCompleter; QStringListModel *mSeriesCompleterModel; QSortFilterProxyModel *mProxy; QString mCurrentDir; QString mCurTitle; QString mCurSubtitle; QStringList mOrigins; int mCurSeriesno; int mCurQuality; }; #endif // MOVIEINFOPAGE_H