summaryrefslogtreecommitdiff
path: root/src/plugins/help/localhelpmanager.cpp
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@qbc.io>2019-06-13 15:41:03 +0900
committerTasuku Suzuki <tasuku.suzuki@qbc.io>2019-07-29 09:15:14 +0000
commit395b5ec1853416ea09e3591547479186c201891e (patch)
treefd0fb913ffd7d2efb3a20051548560b6455d53e0 /src/plugins/help/localhelpmanager.cpp
parente3b1106afae5de6cd54ce627a0b11be041624591 (diff)
downloadqt-creator-395b5ec1853416ea09e3591547479186c201891e.tar.gz
Add open online documentation button to help viewer
Change-Id: I21685005709332b1201aaf08804399ecbd82bf7c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/help/localhelpmanager.cpp')
-rw-r--r--src/plugins/help/localhelpmanager.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/help/localhelpmanager.cpp b/src/plugins/help/localhelpmanager.cpp
index 140aa4a935..828af81984 100644
--- a/src/plugins/help/localhelpmanager.cpp
+++ b/src/plugins/help/localhelpmanager.cpp
@@ -36,6 +36,7 @@
#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
+#include <QDesktopServices>
#include <QFontDatabase>
#include <QMutexLocker>
@@ -445,3 +446,31 @@ void LocalHelpManager::updateFilterModel()
}
emit m_instance->filterIndexChanged(m_currentFilterIndex);
}
+
+bool LocalHelpManager::canOpenOnlineHelp(const QUrl &url)
+{
+ const QString address = url.toString();
+ if (address.startsWith("qthelp://org.qt-project.")
+ || address.startsWith("qthelp://com.nokia.")
+ || address.startsWith("qthelp://com.trolltech.")) {
+ return true;
+ }
+ return false;
+}
+
+bool LocalHelpManager::openOnlineHelp(const QUrl &url)
+{
+ static const QString qtcreatorUnversionedID = "org.qt-project.qtcreator";
+
+ if (canOpenOnlineHelp(url)) {
+ QString urlPrefix = "http://doc.qt.io/";
+ if (url.authority().startsWith(qtcreatorUnversionedID))
+ urlPrefix.append(QString::fromLatin1("qtcreator"));
+ else
+ urlPrefix.append("qt-5");
+ const QString address = url.toString();
+ QDesktopServices::openUrl(QUrl(urlPrefix + address.mid(address.lastIndexOf(QLatin1Char('/')))));
+ return true;
+ }
+ return false;
+}