From 502508d87d5ea57ff299dfc90669f39d323674d0 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 15 Feb 2021 15:53:38 +0100 Subject: [PATCH] Welcome: Do not save default value to settings Task-number: QTCREATORBUG-24762 Change-Id: I9a587c76dfabee1cd707e6861de5bbc0e3e7583e Reviewed-by: Alessandro Portale --- src/plugins/welcome/welcomeplugin.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index 875cfb7c80f..1f665427103 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -121,6 +121,7 @@ private: QList m_pluginList; QList m_pageButtons; Id m_activePage; + Id m_defaultPage; }; class WelcomePlugin final : public ExtensionSystem::IPlugin @@ -358,8 +359,10 @@ WelcomeMode::WelcomeMode() WelcomeMode::~WelcomeMode() { - QSettings *settings = ICore::settings(); - settings->setValue(currentPageSettingsKeyC, m_activePage.toSetting()); + QtcSettings *settings = ICore::settings(); + settings->setValueWithDefault(currentPageSettingsKeyC, + m_activePage.toSetting(), + m_defaultPage.toSetting()); delete m_modeWidget; } @@ -371,13 +374,14 @@ void WelcomeMode::initPlugins() for (IWelcomePage *page : IWelcomePage::allWelcomePages()) addPage(page); - if (!m_activePage.isValid() && !m_pageButtons.isEmpty()) { + if (!m_pageButtons.isEmpty()) { const int welcomeIndex = Utils::indexOf(m_pluginList, Utils::equal(&IWelcomePage::id, Utils::Id("Examples"))); const int defaultIndex = welcomeIndex >= 0 ? welcomeIndex : 0; - m_activePage = m_pluginList.at(defaultIndex)->id(); - m_pageButtons.at(defaultIndex)->click(); + m_defaultPage = m_pluginList.at(defaultIndex)->id(); + if (!m_activePage.isValid()) + m_pageButtons.at(defaultIndex)->click(); } }