/* 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 RANDOMTAB_H #define RANDOMTAB_H #include #include #include class QComboBox; class QPushButton; class QTreeView; class QSortFilterProxyModel; class QStandardItemModel; class QLineEdit; class QTextEdit; class RandomTab : public QWidget { Q_OBJECT public: enum CustomRoles { IdRole = Qt::UserRole + 1, SizeRole = Qt::UserRole + 2, DurationRole = Qt::UserRole + 3, DvdNoRole = Qt::UserRole + 4 }; enum { ColumnCount = 6 }; explicit RandomTab(QWidget *parent = 0); virtual ~RandomTab(); public slots: void setupModels(); void clearAll(); void refreshComboboxes(); void select(); void logMessage(const QString &msg); private: void setupGui(); void writeSettings(); void readSettings(); QStringList validDvdNos(); QComboBox *mGenre1; QComboBox *mGenre2; QComboBox *mGenre3; QVector mGenreBoxes; QComboBox *mActor1; QComboBox *mActor2; QComboBox *mActor3; QVector mActorBoxes; QLineEdit *mNumber; QPushButton *mSelect; QPushButton *mClear; QPushButton *mRefresh; QTreeView *mFileView; QTextEdit *mLog; QStandardItemModel *mFileModel; QStandardItemModel *mGenreModel; QStandardItemModel *mActorModel; QSortFilterProxyModel *mFileProxy; QSqlDatabase mDb; QStringList mValidDvds; }; #endif // RANDOMTAB_H