From 01fb9cdbaf51b1a2e41275c611924d1f905466ef Mon Sep 17 00:00:00 2001 From: kh1 <qt-info@nokia.com> Date: Wed, 14 Jul 2010 17:00:43 +0200 Subject: [PATCH] Make sure we open the help only if needed. Reviewed-by: ck --- src/plugins/help/helpindexfilter.cpp | 8 +++++++- src/plugins/help/helpindexfilter.h | 3 --- src/plugins/help/helpplugin.cpp | 9 --------- src/plugins/help/helpplugin.h | 1 - 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/plugins/help/helpindexfilter.cpp b/src/plugins/help/helpindexfilter.cpp index 21f514c54fd..10c4fc06f59 100644 --- a/src/plugins/help/helpindexfilter.cpp +++ b/src/plugins/help/helpindexfilter.cpp @@ -29,6 +29,9 @@ #include "helpindexfilter.h" +#include "centralwidget.h" +#include "topicchooser.h" + #include <extensionsystem/pluginmanager.h> #include <coreplugin/icore.h> #include <coreplugin/helpmanager.h> @@ -86,10 +89,13 @@ void HelpIndexFilter::accept(FilterEntry selection) const { const QString &key = selection.displayName; const QMap<QString, QUrl> &links = Core::HelpManager::instance()->linksForKeyword(key); + if (links.size() == 1) { emit linkActivated(links.begin().value()); } else if (!links.isEmpty()) { - emit linksActivated(links, key); + TopicChooser tc(CentralWidget::instance(), key, links); + if (tc.exec() == QDialog::Accepted) + emit linkActivated(tc.link()); } } diff --git a/src/plugins/help/helpindexfilter.h b/src/plugins/help/helpindexfilter.h index 859dc5a056a..dde609b3f54 100644 --- a/src/plugins/help/helpindexfilter.h +++ b/src/plugins/help/helpindexfilter.h @@ -37,8 +37,6 @@ namespace Help { namespace Internal { -class HelpPlugin; - class HelpIndexFilter : public Locator::ILocatorFilter { Q_OBJECT @@ -57,7 +55,6 @@ public: signals: void linkActivated(const QUrl &link) const; - void linksActivated(const QMap<QString, QUrl> &urls, const QString &keyword) const; private: QIcon m_icon; diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 718436afbfe..7b6b0af5303 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -299,8 +299,6 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error) addAutoReleasedObject(helpIndexFilter); connect(helpIndexFilter, SIGNAL(linkActivated(QUrl)), this, SLOT(switchToHelpMode(QUrl))); - connect(helpIndexFilter, SIGNAL(linksActivated(QMap<QString, QUrl>, QString)), - this, SLOT(switchToHelpMode(QMap<QString, QUrl>, QString))); QDesktopServices::setUrlHandler("qthelp", this, "handleHelpRequest"); connect(m_core->modeManager(), SIGNAL(currentModeChanged(Core::IMode*)), @@ -562,13 +560,6 @@ void HelpPlugin::switchToHelpMode(const QUrl &source) m_centralWidget->setFocus(); } -void HelpPlugin::switchToHelpMode(const QMap<QString, QUrl> &urls, - const QString &keyword) -{ - activateHelpMode(); - m_centralWidget->showTopicChooser(urls, keyword); -} - void HelpPlugin::slotHideRightPane() { Core::RightPaneWidget::instance()->setShown(false); diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index b97b61c2b62..5fba3590d1a 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -88,7 +88,6 @@ private slots: void switchToHelpMode(); void switchToHelpMode(const QUrl &source); - void switchToHelpMode(const QMap<QString, QUrl> &urls, const QString &keyword); void slotHideRightPane(); void updateSideBarSource(); -- GitLab