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<WelcomePageButton *> 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,12 +374,13 @@ 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_defaultPage = m_pluginList.at(defaultIndex)->id();
if (!m_activePage.isValid())
m_pageButtons.at(defaultIndex)->click();
}
}