aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designmodewidget.cpp
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2020-03-13 14:58:59 +0100
committerHenning Gründl <henning.gruendl@qt.io>2020-03-13 14:34:44 +0000
commit5803448ea0a11e8c0985205c9fc915f84be6c3dd (patch)
tree5ab06c90ccf302ac04e48478a97f65ec873b24b9 /src/plugins/qmldesigner/designmodewidget.cpp
parent038e8491eecde99e0fa9cdfac3c5739d7f66a136 (diff)
ADS: Add workspace switcher ComboBox to Toolbar
Change-Id: Ice2e38ac8fd7a0a4ef174d443b9f7e308239aa40 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/designmodewidget.cpp')
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index d92bf6f6b3..68c1170f2b 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -66,6 +66,7 @@
#include <QLayout>
#include <QBoxLayout>
#include <QDir>
+#include <QComboBox>
#include <advanceddockingsystem/dockareawidget.h>
#include <advanceddockingsystem/docksplitter.h>
@@ -399,6 +400,30 @@ void DesignModeWidget::setup()
}
});
+ auto workspaceComboBox = new QComboBox();
+ workspaceComboBox->setMinimumWidth(120);
+ workspaceComboBox->setToolTip(tr("Switch the active workspace."));
+ auto sortedWorkspaces = m_dockManager->workspaces();
+ Utils::sort(sortedWorkspaces);
+ workspaceComboBox->addItems(sortedWorkspaces);
+ workspaceComboBox->setCurrentText(m_dockManager->activeWorkspace());
+ toolBar->addWidget(workspaceComboBox);
+
+ connect(m_dockManager, &ADS::DockManager::workspaceListChanged,
+ workspaceComboBox, [this, workspaceComboBox]() {
+ workspaceComboBox->clear();
+ auto sortedWorkspaces = m_dockManager->workspaces();
+ Utils::sort(sortedWorkspaces);
+ workspaceComboBox->addItems(sortedWorkspaces);
+ workspaceComboBox->setCurrentText(m_dockManager->activeWorkspace());
+ });
+ connect(m_dockManager, &ADS::DockManager::workspaceLoaded, workspaceComboBox, &QComboBox::setCurrentText);
+ connect(workspaceComboBox, QOverload<int>::of(&QComboBox::activated),
+ m_dockManager, [this, workspaceComboBox] (int index) {
+ Q_UNUSED(index)
+ m_dockManager->openWorkspace(workspaceComboBox->currentText());
+ });
+
viewManager().enableWidgets();
readSettings();
show();