diff options
author | Eike Ziller <eike.ziller@qt.io> | 2016-11-01 13:50:17 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2016-11-01 13:44:04 +0000 |
commit | 242f9fce58bef363df32d42789145b9990bb8298 (patch) | |
tree | bef959d206a72a6ed71cc462d258c79889b45b3b /src | |
parent | ad7ab4bee17dfad3fa0ded5d084cf3c33ec46139 (diff) | |
download | qt-creator-242f9fce58bef363df32d42789145b9990bb8298.tar.gz |
Help: Disable Add Bookmark action when current page is blank
Task-number: QTCREATORBUG-14204
Change-Id: I5d4a7ada10f0d69363e96bb4efd158444a051b71
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/help/helpwidget.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/help/helpwidget.cpp b/src/plugins/help/helpwidget.cpp index 0750910d81..d1ce0ac3c7 100644 --- a/src/plugins/help/helpwidget.cpp +++ b/src/plugins/help/helpwidget.cpp @@ -75,6 +75,11 @@ static void openUrlInWindow(const QUrl &url) Core::ICore::raiseWindow(viewer); } +static bool isBookmarkable(const QUrl &url) +{ + return !url.isEmpty() && url != QUrl(Help::Constants::AboutBlank); +} + HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget *parent) : QWidget(parent), m_style(style) @@ -436,6 +441,7 @@ void HelpWidget::setCurrentViewer(HelpViewer *viewer) m_viewerStack->setCurrentWidget(viewer); m_backAction->setEnabled(viewer->isBackwardAvailable()); m_forwardAction->setEnabled(viewer->isForwardAvailable()); + m_addBookmarkAction->setEnabled(isBookmarkable(viewer->source())); if (m_style == ExternalWindow) updateWindowTitle(); emit sourceChanged(viewer->source()); @@ -453,8 +459,10 @@ void HelpWidget::addViewer(HelpViewer *viewer) 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) + if (currentViewer() == viewer) { + m_addBookmarkAction->setEnabled(isBookmarkable(url)); emit sourceChanged(url); + } }); connect(viewer, &HelpViewer::forwardAvailable, this, [viewer, this](bool available) { if (currentViewer() == viewer) @@ -601,7 +609,7 @@ void HelpWidget::addBookmark() QTC_ASSERT(viewer, return); const QString &url = viewer->source().toString(); - if (url.isEmpty() || url == Help::Constants::AboutBlank) + if (!isBookmarkable(url)) return; BookmarkManager *manager = &LocalHelpManager::bookmarkManager(); |