Welcome: Do not save default value to settings

Task-number: QTCREATORBUG-24762
Change-Id: I9a587c76dfabee1cd707e6861de5bbc0e3e7583e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Eike Ziller
2021-02-15 15:53:38 +01:00
parent a513f25c39
commit 502508d87d

View File

@@ -121,6 +121,7 @@ private:
QList<IWelcomePage *> m_pluginList; QList<IWelcomePage *> m_pluginList;
QList<WelcomePageButton *> m_pageButtons; QList<WelcomePageButton *> m_pageButtons;
Id m_activePage; Id m_activePage;
Id m_defaultPage;
}; };
class WelcomePlugin final : public ExtensionSystem::IPlugin class WelcomePlugin final : public ExtensionSystem::IPlugin
@@ -358,8 +359,10 @@ WelcomeMode::WelcomeMode()
WelcomeMode::~WelcomeMode() WelcomeMode::~WelcomeMode()
{ {
QSettings *settings = ICore::settings(); QtcSettings *settings = ICore::settings();
settings->setValue(currentPageSettingsKeyC, m_activePage.toSetting()); settings->setValueWithDefault(currentPageSettingsKeyC,
m_activePage.toSetting(),
m_defaultPage.toSetting());
delete m_modeWidget; delete m_modeWidget;
} }
@@ -371,13 +374,14 @@ void WelcomeMode::initPlugins()
for (IWelcomePage *page : IWelcomePage::allWelcomePages()) for (IWelcomePage *page : IWelcomePage::allWelcomePages())
addPage(page); addPage(page);
if (!m_activePage.isValid() && !m_pageButtons.isEmpty()) { if (!m_pageButtons.isEmpty()) {
const int welcomeIndex = Utils::indexOf(m_pluginList, const int welcomeIndex = Utils::indexOf(m_pluginList,
Utils::equal(&IWelcomePage::id, Utils::equal(&IWelcomePage::id,
Utils::Id("Examples"))); Utils::Id("Examples")));
const int defaultIndex = welcomeIndex >= 0 ? welcomeIndex : 0; const int defaultIndex = welcomeIndex >= 0 ? welcomeIndex : 0;
m_activePage = m_pluginList.at(defaultIndex)->id(); m_defaultPage = m_pluginList.at(defaultIndex)->id();
m_pageButtons.at(defaultIndex)->click(); if (!m_activePage.isValid())
m_pageButtons.at(defaultIndex)->click();
} }
} }