diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 13a6b13ecbd..7bec07881e8 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -407,6 +407,11 @@ void HelpPlugin::createRightPaneSideBar() << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_HELP_SIDEBAR), this)); + connect(m_centralWidget, SIGNAL(sourceChanged(QUrl)), this, + SLOT(updateSideBarSource(QUrl))); + connect(m_centralWidget, SIGNAL(currentViewerChanged()), this, + SLOT(updateSideBarSource())); + QAction *copyActionSideBar = new QAction(this); Core::Command *cmd = m_core->actionManager()->registerAction(copyActionSideBar, Core::Constants::COPY, QList() @@ -565,6 +570,19 @@ void HelpPlugin::openContextHelpPage(const QString &url) m_helpViewerForSideBar->setSource(QUrl(url)); } +void HelpPlugin::updateSideBarSource() +{ + const QUrl &url = m_centralWidget->currentSource(); + if (url.isValid()) + updateSideBarSource(url); +} + +void HelpPlugin::updateSideBarSource(const QUrl &newUrl) +{ + if (m_helpViewerForSideBar) + m_helpViewerForSideBar->setSource(newUrl); +} + void HelpPlugin::activateContext() { using namespace Core; diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index b66765177bd..f95e0f0ece4 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -132,6 +132,9 @@ private slots: void openHelpPage(const QString& url); void openContextHelpPage(const QString &url); + void updateSideBarSource(); + void updateSideBarSource(const QUrl &newUrl); + private: QToolBar *createToolBar(); void createRightPaneSideBar();