aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/dockwidgetlist.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-19 20:36:51 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-19 20:36:51 +0000
commit6baa843a2a0bdf143617df269129d81dae0a3a38 (patch)
tree9a650b4349c1129c8c20b4536228bb838eb9ee67 /src/plugins/Ui/qsui/dockwidgetlist.h
parentb0ab8e75df1bb8c5752ebf3ed60334f1134b04f3 (diff)
downloadqmmp-6baa843a2a0bdf143617df269129d81dae0a3a38.tar.gz
qmmp-6baa843a2a0bdf143617df269129d81dae0a3a38.tar.bz2
qmmp-6baa843a2a0bdf143617df269129d81dae0a3a38.zip
qsui: added feature to add dock widgets from plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9509 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui/dockwidgetlist.h')
-rw-r--r--src/plugins/Ui/qsui/dockwidgetlist.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/plugins/Ui/qsui/dockwidgetlist.h b/src/plugins/Ui/qsui/dockwidgetlist.h
new file mode 100644
index 000000000..a03e29ff2
--- /dev/null
+++ b/src/plugins/Ui/qsui/dockwidgetlist.h
@@ -0,0 +1,32 @@
+#ifndef DOCKWIDGETLIST_H
+#define DOCKWIDGETLIST_H
+
+#include <QMainWindow>
+#include <QList>
+
+class QDockWidget;
+class QAction;
+class QMenu;
+
+class DockWidgetList : public QObject
+{
+ Q_OBJECT
+public:
+ explicit DockWidgetList(QMainWindow *parent);
+
+ void registerMenu(QMenu *menu, QAction *before);
+
+private slots:
+ void onViewActionToggled(bool visible);
+ void onWidgetAdded(const QString &id);
+ void onWidgetRemoved(const QString &id);
+ void onWidgetUpdated(const QString &id);
+
+private:
+ QMainWindow *m_mw;
+ QList<QDockWidget *> m_dockWidgetList;
+ QAction *m_beforeAction = nullptr;
+ QMenu *m_menu;
+};
+
+#endif // DOCKWIDGETLIST_H