From c49645483ea168c2728ab5fe4db3876532c76374 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Tue, 29 Mar 2022 00:14:48 +0900 Subject: Help: support qt-6 online documentation Last segment of host part represents version string. e.g. qthelp://org.qt-project.qtwidgets.630/... If it starts with "6", let's open qt-6 documentation. Otherwise, let's open qt-5 as it is. Change-Id: I88b5f6bd2ebfd8494e48f043678dbc190310b90f Reviewed-by: Eike Ziller Reviewed-by: Qt CI Bot Reviewed-by: Alessandro Portale --- src/plugins/help/localhelpmanager.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/plugins/help/localhelpmanager.cpp') diff --git a/src/plugins/help/localhelpmanager.cpp b/src/plugins/help/localhelpmanager.cpp index 49d09d2885..99c73c200d 100644 --- a/src/plugins/help/localhelpmanager.cpp +++ b/src/plugins/help/localhelpmanager.cpp @@ -589,10 +589,22 @@ bool LocalHelpManager::openOnlineHelp(const QUrl &url) if (canOpenOnlineHelp(url)) { QString urlPrefix = "http://doc.qt.io/"; - if (url.authority().startsWith(unversionedLocalDomainName)) + if (url.authority().startsWith(unversionedLocalDomainName)) { urlPrefix.append(Core::Constants::IDE_ID); - else - urlPrefix.append("qt-5"); + } else { + const auto host = url.host(); + const auto dot = host.lastIndexOf('.'); + if (dot < 0) { + urlPrefix.append("qt-5"); + } else { + const auto version = host.mid(dot + 1); + if (version.startsWith('6')) { + urlPrefix.append("qt-6"); + } else { + urlPrefix.append("qt-5"); + } + } + } const QString address = url.toString(); QDesktopServices::openUrl(QUrl(urlPrefix + address.mid(address.lastIndexOf(QLatin1Char('/'))))); return true; -- cgit v1.2.1