diff --git a/src/plugins/help/helpmanager.cpp b/src/plugins/help/helpmanager.cpp index 7c75e8292170d5d09ec2f17eff44c7fb8d2c3fce..68edd0306e10a60dde0e50a4a30c230c08bae29b 100644 --- a/src/plugins/help/helpmanager.cpp +++ b/src/plugins/help/helpmanager.cpp @@ -41,16 +41,11 @@ HelpManager::HelpManager(HelpPlugin* plugin) { } -void HelpManager::openHelpPage(const QString& url) +void HelpManager::handleHelpRequest(const QString &url) { m_plugin->handleHelpRequest(url); } -void HelpManager::openContextHelpPage(const QString& url) -{ - m_plugin->openContextHelpPage(url); -} - void HelpManager::registerDocumentation(const QStringList &fileNames) { if (m_plugin) { diff --git a/src/plugins/help/helpmanager.h b/src/plugins/help/helpmanager.h index a7d4cfc8d9c73b2dbbcd63c0ea4a4f7db42b84a4..66371468c5d996a6b5c3e4f03e7b943b0ff9e9ca 100644 --- a/src/plugins/help/helpmanager.h +++ b/src/plugins/help/helpmanager.h @@ -47,12 +47,11 @@ class HELP_EXPORT HelpManager : public QObject public: HelpManager(Internal::HelpPlugin*); - void openHelpPage(const QString& url); - void openContextHelpPage(const QString &url); + void handleHelpRequest(const QString &url); void registerDocumentation(const QStringList &fileNames); signals: - void helpPluginUpdateDocumentation(); + void registerDocumentation(); private: Internal::HelpPlugin *m_plugin; diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 15b81c1a942f1d086dba75f3756bef92f05c2351..762ae385baebd6264b672e4fa6fd7a489a4b7c38 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -998,43 +998,35 @@ void HelpPlugin::addNewBookmark(const QString &title, const QString &url) m_bookmarkManager->showBookmarkDialog(m_centralWidget, title, url); } -void HelpPlugin::handleHelpRequest(const QUrl& url) +void HelpPlugin::handleHelpRequest(const QString &address) { - if (url.queryItemValue(QLatin1String("view")) == QLatin1String("split")) - openContextHelpPage(url.toString()); - else - openHelpPage(url.toString()); -} + if (m_helpEngine->findFile(address).isValid()) { + const QUrl url(address); + if (url.queryItemValue(QLatin1String("view")) == QLatin1String("split")) { + using namespace Core::Constants; -void HelpPlugin::openHelpPage(const QString& url) -{ - if (m_helpEngine->findFile(url).isValid()) { - activateHelpMode(); - m_centralWidget->setSource(url); + Core::ModeManager *modeManager = Core::ICore::instance()->modeManager(); + if (modeManager->currentMode() == modeManager->mode(MODE_WELCOME)) + modeManager->activateMode(MODE_EDIT); + + if (HelpViewer* viewer = viewerForContextMode()) + viewer->setSource(url); + } else { + activateHelpMode(); + m_centralWidget->setSource(url); + } } else { // local help not installed, resort to external web help QString urlPrefix; - if (url.startsWith(QLatin1String("qthelp://com.nokia.qtcreator"))) { + if (address.startsWith(QLatin1String("qthelp://com.nokia.qtcreator"))) { urlPrefix = QString::fromLatin1("http://doc.trolltech.com/qtcreator" "-%1.%2/").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR); } else { urlPrefix = QLatin1String("http://doc.trolltech.com/latest/"); } - QDesktopServices::openUrl(QUrl(urlPrefix + url.mid(url + QDesktopServices::openUrl(QUrl(urlPrefix + address.mid(address .lastIndexOf(QLatin1Char('/')) + 1))); } } -void HelpPlugin::openContextHelpPage(const QString &url) -{ - using namespace Core::Constants; - - Core::ModeManager *modeManager = Core::ICore::instance()->modeManager(); - if (modeManager->currentMode() == modeManager->mode(MODE_WELCOME)) - modeManager->activateMode(MODE_EDIT); - - if (HelpViewer* viewer = viewerForContextMode()) - viewer->setSource(QUrl(url)); -} - Q_EXPORT_PLUGIN(HelpPlugin) diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index ac84679461d8451aa3e2f980fe8d57140ec263f3..335cf185d98792c43993a5d2ee3e2fe831124059 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -91,16 +91,13 @@ public: void setIndexFilter(const QString &filter); QString indexFilter() const; - void openHelpPage(const QString& url); - void openContextHelpPage(const QString &url); - QHelpEngine* helpEngine() const; void setFilesToRegister(const QStringList &files); public slots: void pluginUpdateDocumentation(); - void handleHelpRequest(const QUrl &url); + void handleHelpRequest(const QString &url); private slots: void modeChanged(Core::IMode *mode); diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp index 2419032a2cf1acd6348513bfc95f11c9627cb191..98233b6ca817c106890bfb7f76558cffbbb729ae 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp @@ -265,14 +265,14 @@ void GettingStartedWelcomePageWidget::slotOpenHelpPage(const QString& url) Help::HelpManager *helpManager = ExtensionSystem::PluginManager::instance()->getObject<Help::HelpManager>(); Q_ASSERT(helpManager); - helpManager->openHelpPage(url); + helpManager->handleHelpRequest(url); } void GettingStartedWelcomePageWidget::slotOpenContextHelpPage(const QString& url) { Help::HelpManager *helpManager = ExtensionSystem::PluginManager::instance()->getObject<Help::HelpManager>(); Q_ASSERT(helpManager); - helpManager->openContextHelpPage(url); + helpManager->handleHelpRequest(url); } void GettingStartedWelcomePageWidget::slotNextTip()