diff --git a/src/plugins/help/generalsettingspage.cpp b/src/plugins/help/generalsettingspage.cpp index 7c82aa10f74..184360e54b8 100644 --- a/src/plugins/help/generalsettingspage.cpp +++ b/src/plugins/help/generalsettingspage.cpp @@ -91,12 +91,7 @@ QWidget *GeneralSettingsPage::widget() updateFontStyle(); updateFontFamily(); - m_homePage = HelpManager::customValue(QLatin1String("HomePage"), QString()) - .toString(); - if (m_homePage.isEmpty()) { - m_homePage = HelpManager::customValue(QLatin1String("DefaultHomePage"), - Help::Constants::AboutBlank).toString(); - } + m_homePage = LocalHelpManager::homePage(); m_ui->homePageLineEdit->setText(m_homePage); m_startOption = HelpManager::customValue(QLatin1String("StartOption"), @@ -168,7 +163,7 @@ void GeneralSettingsPage::apply() m_ui->homePageLineEdit->setText(homePage); if (m_homePage != homePage) { m_homePage = homePage; - HelpManager::setCustomValue(QLatin1String("HomePage"), homePage); + LocalHelpManager::setHomePage(homePage); } const int startOption = m_ui->helpStartComboBox->currentIndex(); @@ -210,8 +205,7 @@ void GeneralSettingsPage::setBlankPage() void GeneralSettingsPage::setDefaultPage() { - m_ui->homePageLineEdit->setText( - HelpManager::customValue(QLatin1String("DefaultHomePage"), QString()).toString()); + m_ui->homePageLineEdit->setText(LocalHelpManager::defaultHomePage()); } void GeneralSettingsPage::importBookmarks() diff --git a/src/plugins/help/helpviewer.cpp b/src/plugins/help/helpviewer.cpp index 8032048b7a9..0c814f46020 100644 --- a/src/plugins/help/helpviewer.cpp +++ b/src/plugins/help/helpviewer.cpp @@ -144,16 +144,7 @@ bool HelpViewer::launchWithExternalApp(const QUrl &url) void HelpViewer::home() { - const QHelpEngineCore &engine = LocalHelpManager::helpEngine(); - QString homepage = engine.customValue(QLatin1String("HomePage"), - QLatin1String("")).toString(); - - if (homepage.isEmpty()) { - homepage = engine.customValue(QLatin1String("DefaultHomePage"), - Help::Constants::AboutBlank).toString(); - } - - setSource(homepage); + setSource(LocalHelpManager::homePage()); } void HelpViewer::slotLoadStarted() diff --git a/src/plugins/help/localhelpmanager.cpp b/src/plugins/help/localhelpmanager.cpp index 38107951f41..9bbe007456f 100644 --- a/src/plugins/help/localhelpmanager.cpp +++ b/src/plugins/help/localhelpmanager.cpp @@ -35,6 +35,7 @@ #include "helpviewer.h" #include +#include #include #include @@ -56,6 +57,8 @@ QStandardItemModel *LocalHelpManager::m_filterModel = 0; QString LocalHelpManager::m_currentFilter = QString(); int LocalHelpManager::m_currentFilterIndex = -1; +static char kHelpHomePageKey[] = "Help/HomePage"; + LocalHelpManager::LocalHelpManager(QObject *parent) : QObject(parent) , m_guiNeedsSetup(true) @@ -83,6 +86,25 @@ LocalHelpManager *LocalHelpManager::instance() return m_instance; } +QString LocalHelpManager::defaultHomePage() +{ + static const QString url = QString::fromLatin1("qthelp://org.qt-project.qtcreator." + "%1%2%3/doc/index.html").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR) + .arg(IDE_VERSION_RELEASE); + return url; +} + +QString LocalHelpManager::homePage() +{ + return Core::ICore::settings()->value(QLatin1String(kHelpHomePageKey), + defaultHomePage()).toString(); +} + +void LocalHelpManager::setHomePage(const QString &page) +{ + Core::ICore::settings()->setValue(QLatin1String(kHelpHomePageKey), page); +} + void LocalHelpManager::setupGuiHelpEngine() { if (m_needsCollectionFile) { @@ -120,10 +142,6 @@ BookmarkManager& LocalHelpManager::bookmarkManager() if (!m_bookmarkManager) { m_bookmarkManager = new BookmarkManager; m_bookmarkManager->setupBookmarkModels(); - const QString &url = QString::fromLatin1("qthelp://org.qt-project.qtcreator." - "%1%2%3/doc/index.html").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR) - .arg(IDE_VERSION_RELEASE); - helpEngine().setCustomValue(QLatin1String("DefaultHomePage"), url); } } return *m_bookmarkManager; diff --git a/src/plugins/help/localhelpmanager.h b/src/plugins/help/localhelpmanager.h index f7f75d6cf95..4ca40675054 100644 --- a/src/plugins/help/localhelpmanager.h +++ b/src/plugins/help/localhelpmanager.h @@ -60,6 +60,10 @@ public: static LocalHelpManager *instance(); + static QString defaultHomePage(); + static QString homePage(); + static void setHomePage(const QString &page); + void setupGuiHelpEngine(); void setEngineNeedsUpdate(); diff --git a/src/plugins/help/openpagesmanager.cpp b/src/plugins/help/openpagesmanager.cpp index a5e0767e6ff..1d4f98aa885 100644 --- a/src/plugins/help/openpagesmanager.cpp +++ b/src/plugins/help/openpagesmanager.cpp @@ -129,14 +129,12 @@ void OpenPagesManager::setupInitialPages() const QHelpEngineCore &engine = LocalHelpManager::helpEngine(); const int option = engine.customValue(QLatin1String("StartOption"), Help::Constants::ShowLastPages).toInt(); - QString homePage = engine.customValue(QLatin1String("DefaultHomePage"), - Help::Constants::AboutBlank).toString(); + QString homePage = LocalHelpManager::homePage(); int initialPage = 0; switch (option) { case Help::Constants::ShowHomePage: { - m_model->addPage(engine.customValue(QLatin1String("HomePage"), - homePage).toString()); + m_model->addPage(homePage); } break; case Help::Constants::ShowBlankPage: {