forked from qt-creator/qt-creator
ADS: Add workspace switcher ComboBox to Toolbar
Change-Id: Ice2e38ac8fd7a0a4ef174d443b9f7e308239aa40 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
committed by
Henning Gründl
parent
038e8491ee
commit
5803448ea0
@@ -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();
|
||||
|
Reference in New Issue
Block a user