diff options
author | Henning Gruendl <henning.gruendl@qt.io> | 2020-03-09 08:30:17 +0100 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-03-09 11:40:19 +0000 |
commit | 73aaa2a38119b48c187fff2e9170ec900a77f91a (patch) | |
tree | 833acd0daca6f8167afeb401fb71f00f36abe8a7 /src/plugins/qmldesigner | |
parent | 6de4e496466d6eecdfd3191f36bd6fba20347fdb (diff) | |
download | qt-creator-73aaa2a38119b48c187fff2e9170ec900a77f91a.tar.gz |
ADS: Hide detached window if not in design mode
Task-number: QDS-1672
Change-Id: Ia20113cb9025c19194d87920cf060d2b9791e52a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r-- | src/plugins/qmldesigner/designmodewidget.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 29bb90f51f..d92bf6f6b3 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -42,6 +42,7 @@ #include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actionmanager_p.h> #include <coreplugin/actionmanager/command.h> +#include <coreplugin/modemanager.h> #include <qmldesigner/qmldesignerconstants.h> #include <coreplugin/outputpane.h> @@ -381,6 +382,23 @@ void DesignModeWidget::setup() setupNavigatorHistory(currentDesignDocument()->textEditor()); m_dockManager->initialize(); + + connect(Core::ModeManager::instance(), &Core::ModeManager::currentModeChanged, + this, [this](Core::Id mode, Core::Id oldMode) { + if (mode == Core::Constants::MODE_DESIGN) { + m_dockManager->reloadActiveWorkspace(); + m_dockManager->setModeChangeState(false); + } + + if (oldMode == Core::Constants::MODE_DESIGN + && mode != Core::Constants::MODE_DESIGN) { + m_dockManager->save(); + m_dockManager->setModeChangeState(true); + for (auto floatingWidget : m_dockManager->floatingWidgets()) + floatingWidget->hide(); + } + }); + viewManager().enableWidgets(); readSettings(); show(); |