From 738eaf85d10bd4ee1cc501eebb6d6df14906dda3 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 11 Oct 2016 15:34:06 +0300 Subject: [PATCH] SessionManager: Improve encapsulation on save Change-Id: I3fa5edf226c8369f9f12ccf95bf2914b50f9d48b Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/projectexplorer.cpp | 12 ++---------- src/plugins/projectexplorer/session.cpp | 12 +++++++----- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 2820174d616..862359e66a0 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1518,11 +1518,7 @@ void ProjectExplorerPlugin::openNewProjectDialog() void ProjectExplorerPluginPrivate::showSessionManager() { - if (SessionManager::isDefaultVirgin()) { - // do not save new virgin default sessions - } else { - SessionManager::save(); - } + SessionManager::save(); SessionDialog sessionDialog(ICore::mainWindow()); sessionDialog.setAutoLoadSession(dd->m_projectExplorerSettings.autorestoreLastSession); sessionDialog.exec(); @@ -1551,11 +1547,7 @@ void ProjectExplorerPluginPrivate::savePersistentSettings() foreach (Project *pro, SessionManager::projects()) pro->saveSettings(); - if (SessionManager::isDefaultVirgin()) { - // do not save new virgin default sessions - } else { - SessionManager::save(); - } + SessionManager::save(); } QSettings *s = ICore::settings(); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 54f4947e4e4..ee33bc79cc8 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -408,6 +408,10 @@ bool SessionManager::loadingSession() bool SessionManager::save() { + // do not save new virgin default sessions + if (isDefaultVirgin()) + return true; + emit m_instance->aboutToSaveSession(); if (!d->m_writer || d->m_writer->fileName() != sessionNameToFileName(d->m_sessionName)) { @@ -961,11 +965,9 @@ bool SessionManager::loadSession(const QString &session) // Allow everyone to set something in the session and before saving emit m_instance->aboutToUnloadSession(d->m_sessionName); - if (!isDefaultVirgin()) { - if (!save()) { - d->m_loadingSession = false; - return false; - } + if (!save()) { + d->m_loadingSession = false; + return false; } // Clean up