diff options
Diffstat (limited to 'randomtab.h')
-rw-r--r-- | randomtab.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/randomtab.h b/randomtab.h index 3f400e8..15ef087 100644 --- a/randomtab.h +++ b/randomtab.h @@ -11,6 +11,7 @@ #include <QWidget> #include <QSqlDatabase> #include <QVector> +#include <QTreeView> class QComboBox; class QPushButton; @@ -19,6 +20,10 @@ class QSortFilterProxyModel; class QStandardItemModel; class QLineEdit; class QTextEdit; +class QAction; +class QMenu; +class QContextMenuEvent; +class RandomFileView; class RandomTab : public QWidget { Q_OBJECT @@ -28,6 +33,8 @@ class RandomTab : public QWidget { enum { ColumnCount = 6 }; explicit RandomTab(QWidget *parent = 0); virtual ~RandomTab(); + const QMenu *contextMenu() const { return mContextMenu; } + QMenu *editMenu() { return mEditMenu; } public slots: void setupModels(); @@ -39,8 +46,12 @@ class RandomTab : public QWidget { void play(const QStringList &files); void logMessage(const QString &msg); + signals: + void configure(); + private: void setupGui(); + void setupActions(); void writeSettings(); void readSettings(); QStringList validDvdNos(); @@ -58,7 +69,7 @@ class RandomTab : public QWidget { QPushButton *mRefresh; QPushButton *mPlaySelected; QPushButton *mPlayAll; - QTreeView *mFileView; + RandomFileView *mFileView; QTextEdit *mLog; QStandardItemModel *mFileModel; QStandardItemModel *mGenreModel; @@ -66,6 +77,27 @@ class RandomTab : public QWidget { QSortFilterProxyModel *mFileProxy; QSqlDatabase mDb; QStringList mValidDvds; + QAction *mPlaySelectedA; + QAction *mPlayAllA; + QAction *mClearA; + QAction *mRefreshA; + QAction *mGoA; + QAction *mConfigureA; + QMenu *mContextMenu; + QMenu *mEditMenu; +}; + +class RandomFileView : public QTreeView { + Q_OBJECT + public: + explicit RandomFileView(QWidget *parent = 0); + void setContextMenu(QMenu *menu) { mCtxMenu = menu; } + + protected: + virtual void contextMenuEvent(QContextMenuEvent *e); + + private: + QMenu *mCtxMenu; }; #endif // RANDOMTAB_H |