aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designmodewidget.cpp
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2020-03-06 10:57:43 +0100
committerThomas Hartmann <thomas.hartmann@qt.io>2020-03-09 11:23:11 +0000
commit4f6ef7b698a4a4b57d912262f71119a35c3c4d71 (patch)
tree1772cff9b8160d035484116b5bd82bb7c69388b0 /src/plugins/qmldesigner/designmodewidget.cpp
parentdf2efd7df69f4bbacd77be746a10d0ffc18c55d8 (diff)
ADS: Disable workspace menu if not in design mode
Task-number: QDS-1741 Change-Id: I8ab9f9f130d74c1dd426077d1b8b9500534b380f Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/designmodewidget.cpp')
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index a434d5d866..29bb90f51f 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -244,16 +244,23 @@ void DesignModeWidget::setup()
// Setup Actions and Menus
Core::ActionContainer *mwindow = Core::ActionManager::actionContainer(Core::Constants::M_WINDOW);
// Window > Views
- Core::ActionContainer *mviews = Core::ActionManager::createMenu(Core::Constants::M_WINDOW_VIEWS);
+ Core::ActionContainer *mviews = Core::ActionManager::actionContainer(Core::Constants::M_WINDOW_VIEWS);
mviews->menu()->addSeparator();
// Window > Workspaces
Core::ActionContainer *mworkspaces = Core::ActionManager::createMenu(QmlDesigner::Constants::M_WINDOW_WORKSPACES);
mwindow->addMenu(mworkspaces, Core::Constants::G_WINDOW_VIEWS);
mworkspaces->menu()->setTitle(tr("&Workspaces"));
- mworkspaces->setOnAllDisabledBehavior(Core::ActionContainer::Show); // TODO what does it exactly do?!
-
- // Connect opening of the 'window' menu with creation of the workspaces menu
- connect(mwindow->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
+ mworkspaces->setOnAllDisabledBehavior(Core::ActionContainer::Show);
+ // Connect opening of the 'workspaces' menu with creation of the workspaces menu
+ connect(mworkspaces->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
+ // Disable workspace menu when context is different to C_DESIGN_MODE
+ connect(Core::ICore::instance(), &Core::ICore::contextChanged,
+ this, [mworkspaces](const Core::Context &context){
+ if (context.contains(Core::Constants::C_DESIGN_MODE))
+ mworkspaces->menu()->setEnabled(true);
+ else
+ mworkspaces->menu()->setEnabled(false);
+ });
// Create a DockWidget for each QWidget and add them to the DockManager
const Core::Context designContext(Core::Constants::C_DESIGN_MODE);