aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/help/helpwidget.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-09-09 15:37:01 +0200
committerEike Ziller <eike.ziller@qt.io>2016-09-23 11:26:07 +0000
commita416a5b6e3e0d0c038276f1093cc5a1a770c3d5c (patch)
tree0e17342fcaba4a066e8348dc8c51f28bae9f2db2 /src/plugins/help/helpwidget.cpp
parent2cd307a7b007ef7752d0797d6e99492e797fa0a2 (diff)
Help: Option to open links in window
Task-number: QTCREATORBUG-16842 Change-Id: I420f48a00c56ebc89bade7e91ceb8ec391316e36 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Diffstat (limited to 'src/plugins/help/helpwidget.cpp')
-rw-r--r--src/plugins/help/helpwidget.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/help/helpwidget.cpp b/src/plugins/help/helpwidget.cpp
index 8684e7272da..40697fc50f0 100644
--- a/src/plugins/help/helpwidget.cpp
+++ b/src/plugins/help/helpwidget.cpp
@@ -417,8 +417,8 @@ void HelpWidget::addViewer(HelpViewer *viewer)
{
m_viewerStack->addWidget(viewer);
viewer->setFocus(Qt::OtherFocusReason);
- if (m_style == SideBarWidget || m_style == ExternalWindow)
- viewer->setOpenInNewPageActionVisible(false);
+ viewer->setActionVisible(HelpViewer::Action::NewPage, m_style == ModeWidget);
+ viewer->setActionVisible(HelpViewer::Action::ExternalWindow, m_style != ExternalWindow);
connect(viewer, &HelpViewer::sourceChanged, this, [viewer, this](const QUrl &url) {
if (currentViewer() == viewer)
emit sourceChanged(url);
@@ -438,6 +438,15 @@ void HelpWidget::addViewer(HelpViewer *viewer)
connect(viewer, &HelpViewer::titleChanged, this, &HelpWidget::updateWindowTitle);
connect(viewer, &HelpViewer::loadFinished, this, &HelpWidget::highlightSearchTerms);
+ connect(viewer, &HelpViewer::newPageRequested, [](const QUrl &url) {
+ OpenPagesManager::instance().createPage(url);
+ });
+ connect(viewer, &HelpViewer::externalPageRequested, [](const QUrl &url) {
+ HelpViewer *viewer = HelpPlugin::viewerForHelpViewerLocation(Core::HelpManager::ExternalHelpAlways);
+ if (QTC_GUARD(viewer))
+ viewer->setSource(url);
+ Core::ICore::raiseWindow(viewer);
+ });
updateCloseButton();
}