diff options
Diffstat (limited to 'src/libs/advanceddockingsystem/dockmanager.cpp')
-rw-r--r-- | src/libs/advanceddockingsystem/dockmanager.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp index 15e7a9dbb1..af66f03b1a 100644 --- a/src/libs/advanceddockingsystem/dockmanager.cpp +++ b/src/libs/advanceddockingsystem/dockmanager.cpp @@ -94,6 +94,7 @@ public: QtcSettings *m_settings = nullptr; bool m_modeChangeState = false; + bool m_wasShown = false; bool m_workspaceOrderDirty = false; /** @@ -364,8 +365,10 @@ DockManager::DockManager(QWidget *parent) DockManager::~DockManager() { - emit aboutToUnloadWorkspace(d->m_workspace.fileName()); - save(); + if (d->m_wasShown) { + emit aboutToUnloadWorkspace(d->m_workspace.fileName()); + save(); + } saveStartupWorkspace(); saveLockWorkspace(); @@ -1324,6 +1327,11 @@ bool DockManager::isModeChangeState() const return d->m_modeChangeState; } +void DockManager::aboutToShow() +{ + d->m_wasShown = true; +} + expected_str<QString> DockManager::importWorkspace(const QString &filePath) { qCInfo(adsLog) << "Import workspace" << filePath; |