forked from qt-creator/qt-creator
Transform doc.qt.io/qt-creator links to internal qthelp links, for links
that are found locally in the documentation. That opens such links in Qt Creator, instead of in the web, if possible. Change-Id: I2270c6947db22f4aeb4968bf5b7245de57521c92 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
#include "externaltoolmanager.h"
|
||||
#include "fancytabwidget.h"
|
||||
#include "generalsettings.h"
|
||||
#include "helpmanager.h"
|
||||
#include "icore.h"
|
||||
#include "idocumentfactory.h"
|
||||
#include "jsexpander.h"
|
||||
@@ -1516,8 +1517,17 @@ void MainWindow::changeLog()
|
||||
return;
|
||||
const FilePath file = versionedFiles.at(index).second;
|
||||
QString contents = QString::fromUtf8(file.fileContents().value_or(QByteArray()));
|
||||
contents.replace(QRegularExpression("(QT(CREATOR)?BUG-[0-9]+)"),
|
||||
"[\\1](https://bugreports.qt.io/browse/\\1)");
|
||||
static const QRegularExpression bugexpr("(QT(CREATOR)?BUG-[0-9]+)");
|
||||
contents.replace(bugexpr, "[\\1](https://bugreports.qt.io/browse/\\1)");
|
||||
static const QRegularExpression docexpr("https://doc[.]qt[.]io/qtcreator/([.a-zA-Z/_-]*)");
|
||||
QList<QRegularExpressionMatch> matches;
|
||||
for (const QRegularExpressionMatch &m : docexpr.globalMatch(contents))
|
||||
matches.append(m);
|
||||
Utils::reverseForeach(matches, [&contents](const QRegularExpressionMatch &match) {
|
||||
const QString qthelpUrl = "qthelp://org.qt-project.qtcreator/doc/" + match.captured(1);
|
||||
if (!HelpManager::fileData(qthelpUrl).isEmpty())
|
||||
contents.replace(match.capturedStart(), match.capturedLength(), qthelpUrl);
|
||||
});
|
||||
textEdit->setMarkdown(contents);
|
||||
};
|
||||
connect(versionCombo, &QComboBox::currentIndexChanged, textEdit, showLog);
|
||||
|
||||
Reference in New Issue
Block a user