forked from qt-creator/qt-creator
Help: Fix that help viewer opened even if URL is opened in browser
After we constructed the online URL for Qt/Qt Creator documentation that is not installed locally, we can just open that via desktop services instead of bothering built-in help viewers. Change-Id: Ic8a37bc22d34af881b5daf87534d59db4d331e44 Task-number: QTCREATORBUG-16111 Reviewed-by: Robert Loehning <robert.loehning@qt.io>
This commit is contained in:
@@ -622,25 +622,25 @@ void HelpPlugin::handleHelpRequest(const QUrl &url, HelpManager::HelpViewerLocat
|
||||
if (HelpViewer::launchWithExternalApp(url))
|
||||
return;
|
||||
|
||||
QString address = url.toString();
|
||||
if (!HelpManager::findFile(url).isValid()) {
|
||||
const QString address = url.toString();
|
||||
if (address.startsWith("qthelp://org.qt-project.")
|
||||
|| address.startsWith("qthelp://com.nokia.")
|
||||
|| address.startsWith("qthelp://com.trolltech.")) {
|
||||
// local help not installed, resort to external web help
|
||||
QString urlPrefix = "http://doc.qt.io/";
|
||||
if (url.authority() == "org.qt-project.qtcreator")
|
||||
urlPrefix.append(QString::fromLatin1("qtcreator"));
|
||||
else
|
||||
urlPrefix.append("qt-5");
|
||||
address = urlPrefix + address.mid(address.lastIndexOf(QLatin1Char('/')));
|
||||
|| address.startsWith("qthelp://com.nokia.")
|
||||
|| address.startsWith("qthelp://com.trolltech.")) {
|
||||
// local help not installed, resort to external web help
|
||||
QString urlPrefix = "http://doc.qt.io/";
|
||||
if (url.authority() == "org.qt-project.qtcreator")
|
||||
urlPrefix.append(QString::fromLatin1("qtcreator"));
|
||||
else
|
||||
urlPrefix.append("qt-5");
|
||||
QDesktopServices::openUrl(QUrl(urlPrefix + address.mid(address.lastIndexOf(QLatin1Char('/')))));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const QUrl newUrl(address);
|
||||
HelpViewer *viewer = viewerForHelpViewerLocation(location);
|
||||
QTC_ASSERT(viewer, return);
|
||||
viewer->setSource(newUrl);
|
||||
viewer->setSource(url);
|
||||
ICore::raiseWindow(viewer);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user