diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index b216617fc653262f59ae15c92943a5117c375b7e..b9ada606e3525342ec9b1d53fa26d03b58997964 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -307,8 +307,8 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error) SLOT(switchToHelpMode(QUrl))); QDesktopServices::setUrlHandler("qthelp", this, "handleHelpRequest"); - connect(m_core->modeManager(), SIGNAL(currentModeChanged(Core::IMode*)), - this, SLOT(modeChanged(Core::IMode*))); + connect(m_core->modeManager(), SIGNAL(currentModeChanged(Core::IMode*, + Core::IMode*)), this, SLOT(modeChanged(Core::IMode*, Core::IMode*))); addAutoReleasedObject(m_mode = new HelpMode(m_splitter, m_centralWidget)); m_mode->setContext(modecontext); @@ -570,23 +570,21 @@ void HelpPlugin::slotHideRightPane() Core::RightPaneWidget::instance()->setShown(false); } -void HelpPlugin::modeChanged(Core::IMode *mode) +void HelpPlugin::modeChanged(Core::IMode *mode, Core::IMode *old) { - if (mode == m_mode && m_firstModeChange) { - m_firstModeChange = false; - - qApp->processEvents(); + Q_UNUSED(old) + if (mode == m_mode) { qApp->setOverrideCursor(Qt::WaitCursor); - - m_helpManager->setupGuiHelpEngine(); - setupUi(); - resetFilter(); - OpenPagesManager::instance().setupInitialPages(); - - qApp->restoreOverrideCursor(); - } else if (mode == m_mode && !m_firstModeChange) { - qApp->setOverrideCursor(Qt::WaitCursor); - m_helpManager->setupGuiHelpEngine(); + if (m_firstModeChange) { + qApp->processEvents(); + m_helpManager->setupGuiHelpEngine(); + setupUi(); + resetFilter(); + m_firstModeChange = false; + OpenPagesManager::instance().setupInitialPages(); + } else { + m_helpManager->setupGuiHelpEngine(); + } qApp->restoreOverrideCursor(); } } diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index 5fba3590d1aabf156ba76eacb4094fa891dd7d08..c25f55189d1e172977a12de4c53723d7452ca130 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -73,7 +73,7 @@ public: ShutdownFlag aboutToShutdown(); private slots: - void modeChanged(Core::IMode *mode); + void modeChanged(Core::IMode *mode, Core::IMode *old); void activateContext(); void activateIndex();