Help: Close external window when opening page in help mode

Change-Id: I863e819c0e85185e74aa931b6f7eeb49766d3759
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
This commit is contained in:
Eike Ziller
2014-06-23 12:30:54 +02:00
parent 839502e204
commit b89a208b8d
2 changed files with 9 additions and 5 deletions

View File

@@ -61,12 +61,13 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget
QWidget(parent), QWidget(parent),
m_scaleUp(0), m_scaleUp(0),
m_scaleDown(0), m_scaleDown(0),
m_resetScale(0) m_resetScale(0),
m_style(style)
{ {
Utils::StyledBar *toolBar = new Utils::StyledBar(); Utils::StyledBar *toolBar = new Utils::StyledBar();
QAction *switchToHelp = new QAction(tr("Go to Help Mode"), toolBar); QAction *switchToHelp = new QAction(tr("Go to Help Mode"), toolBar);
connect(switchToHelp, SIGNAL(triggered()), this, SLOT(emitOpenHelpMode())); connect(switchToHelp, SIGNAL(triggered()), this, SLOT(helpModeButtonClicked()));
QAction *back = new QAction(QIcon(QLatin1String(":/help/images/previous.png")), QAction *back = new QAction(QIcon(QLatin1String(":/help/images/previous.png")),
tr("Back"), toolBar); tr("Back"), toolBar);
@@ -123,7 +124,7 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget
cmd = Core::ActionManager::registerAction(m_openHelpMode, cmd = Core::ActionManager::registerAction(m_openHelpMode,
Help::Constants::CONTEXT_HELP, Help::Constants::CONTEXT_HELP,
context); context);
connect(m_openHelpMode, SIGNAL(triggered()), this, SLOT(emitOpenHelpMode())); connect(m_openHelpMode, SIGNAL(triggered()), this, SLOT(helpModeButtonClicked()));
Core::ActionContainer *advancedMenu = Core::ActionManager::actionContainer(Core::Constants::M_EDIT_ADVANCED); Core::ActionContainer *advancedMenu = Core::ActionManager::actionContainer(Core::Constants::M_EDIT_ADVANCED);
QTC_CHECK(advancedMenu); QTC_CHECK(advancedMenu);
@@ -206,9 +207,11 @@ void HelpWidget::updateWindowTitle()
setWindowTitle(tr("Help - %1").arg(pageTitle)); setWindowTitle(tr("Help - %1").arg(pageTitle));
} }
void HelpWidget::emitOpenHelpMode() void HelpWidget::helpModeButtonClicked()
{ {
emit openHelpMode(m_viewer->source()); emit openHelpMode(m_viewer->source());
if (m_style == ExternalWindow)
close();
} }
} // Internal } // Internal

View File

@@ -71,7 +71,7 @@ private slots:
void updateBackMenu(); void updateBackMenu();
void updateForwardMenu(); void updateForwardMenu();
void updateWindowTitle(); void updateWindowTitle();
void emitOpenHelpMode(); void helpModeButtonClicked();
private: private:
QMenu *m_backMenu; QMenu *m_backMenu;
@@ -83,6 +83,7 @@ private:
QAction *m_copy; QAction *m_copy;
HelpViewer *m_viewer; HelpViewer *m_viewer;
WidgetStyle m_style;
}; };
} // Internal } // Internal