diff options
author | Henning Gruendl <henning.gruendl@qt.io> | 2020-03-06 10:57:43 +0100 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-03-09 11:23:11 +0000 |
commit | 4f6ef7b698a4a4b57d912262f71119a35c3c4d71 (patch) | |
tree | 1772cff9b8160d035484116b5bd82bb7c69388b0 /src/plugins/qmldesigner/designmodewidget.cpp | |
parent | df2efd7df69f4bbacd77be746a10d0ffc18c55d8 (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.cpp | 17 |
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); |