aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/dockwidgetlist.h
diff options
context:
space:
mode:
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