From 37871bc43cd79db68a297add2d9b84aa1bce2552 Mon Sep 17 00:00:00 2001 From: kh1 <qt-info@nokia.com> Date: Tue, 16 Mar 2010 15:28:31 +0100 Subject: [PATCH] Lazy reset the unfiltered filter. Reviewed-by: ck --- src/plugins/help/helpplugin.cpp | 41 ++++++++++++++++++--------------- src/plugins/help/helpplugin.h | 1 + 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index ef9f6f7c801..6a26dd7990a 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -420,6 +420,27 @@ void HelpPlugin::pluginUpdateDocumentation() updateDocumentation(); } +void HelpPlugin::resetFilter() +{ + const QLatin1String weAddedFilterKey("UnfilteredFilterInserted"); + const QLatin1String previousFilterNameKey("UnfilteredFilterName"); + if (m_helpEngine->customValue(weAddedFilterKey).toInt() == 1) { + // we added a filter at some point, remove previously added filter + const QString &previousFilter = + m_helpEngine->customValue(previousFilterNameKey).toString(); + if (!previousFilter.isEmpty()) + m_helpEngine->removeCustomFilter(previousFilter); + } + + // potentially remove a filter with new name + const QString filterName = tr("Unfiltered"); + m_helpEngine->removeCustomFilter(filterName); + m_helpEngine->addCustomFilter(filterName, QStringList()); + m_helpEngine->setCustomValue(weAddedFilterKey, 1); + m_helpEngine->setCustomValue(previousFilterNameKey, filterName); + m_helpEngine->setCurrentFilter(filterName); +} + bool HelpPlugin::updateDocumentation() { bool needsSetup = false; @@ -617,25 +638,6 @@ void HelpPlugin::extensionsInitialized() m_helpEngine->removeCustomFilter(filter); } - const QLatin1String weAddedFilterKey("UnfilteredFilterInserted"); - const QLatin1String previousFilterNameKey("UnfilteredFilterName"); - if (m_helpEngine->customValue(weAddedFilterKey).toInt() == 1) { - // we added a filter at some point, remove previously added filter - const QString &previousFilter = - m_helpEngine->customValue(previousFilterNameKey).toString(); - if (!previousFilter.isEmpty()) - m_helpEngine->removeCustomFilter(previousFilter); - } - - // potentially remove a filter with new name - const QString filterName = tr("Unfiltered"); - m_helpEngine->removeCustomFilter(filterName); - m_helpEngine->addCustomFilter(filterName, QStringList()); - m_helpEngine->setCustomValue(weAddedFilterKey, 1); - m_helpEngine->setCustomValue(previousFilterNameKey, filterName); - m_helpEngine->setCurrentFilter(filterName); - - m_bookmarkManager->setupBookmarkModels(); m_helpEngine->blockSignals(blocked); @@ -733,6 +735,7 @@ void HelpPlugin::modeChanged(Core::IMode *mode) qApp->processEvents(); qApp->setOverrideCursor(Qt::WaitCursor); + resetFilter(); m_centralWidget->setLastShownPages(); connect(m_helpEngine, SIGNAL(setupFinished()), m_helpEngine->searchEngine(), SLOT(indexDocumentation())); diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index a2e089dd4ac..de006ea2e71 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -133,6 +133,7 @@ private slots: void indexingFinished(); private: + void resetFilter(); bool updateDocumentation(); private: -- GitLab