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 "externaltoolmanager.h"
|
||||||
#include "fancytabwidget.h"
|
#include "fancytabwidget.h"
|
||||||
#include "generalsettings.h"
|
#include "generalsettings.h"
|
||||||
|
#include "helpmanager.h"
|
||||||
#include "icore.h"
|
#include "icore.h"
|
||||||
#include "idocumentfactory.h"
|
#include "idocumentfactory.h"
|
||||||
#include "jsexpander.h"
|
#include "jsexpander.h"
|
||||||
@@ -1516,8 +1517,17 @@ void MainWindow::changeLog()
|
|||||||
return;
|
return;
|
||||||
const FilePath file = versionedFiles.at(index).second;
|
const FilePath file = versionedFiles.at(index).second;
|
||||||
QString contents = QString::fromUtf8(file.fileContents().value_or(QByteArray()));
|
QString contents = QString::fromUtf8(file.fileContents().value_or(QByteArray()));
|
||||||
contents.replace(QRegularExpression("(QT(CREATOR)?BUG-[0-9]+)"),
|
static const QRegularExpression bugexpr("(QT(CREATOR)?BUG-[0-9]+)");
|
||||||
"[\\1](https://bugreports.qt.io/browse/\\1)");
|
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);
|
textEdit->setMarkdown(contents);
|
||||||
};
|
};
|
||||||
connect(versionCombo, &QComboBox::currentIndexChanged, textEdit, showLog);
|
connect(versionCombo, &QComboBox::currentIndexChanged, textEdit, showLog);
|
||||||
|
|||||||
Reference in New Issue
Block a user