From 57c8d4751f2a6e4ab0cd675c269cd950e4f270be Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 11 Nov 2016 10:25:53 +0100 Subject: Hook up Actions for RandomTab Create edit and context menus. --- randomtab.h | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'randomtab.h') diff --git a/randomtab.h b/randomtab.h index 3f400e8..15ef087 100644 --- a/randomtab.h +++ b/randomtab.h @@ -11,6 +11,7 @@ #include #include #include +#include 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 -- cgit v1.2.3-70-g09d2