CMakePM: Add "variable" link to CMake offline/online documentation

This way an user can find quickly a CMake variable if needed.

Change-Id: Ie885a34321cf2ce31ee662659e669de88b28801c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Cristian Adam
2022-02-03 16:52:50 +01:00
parent 4fa399fbcb
commit d408e4c22c
4 changed files with 40 additions and 28 deletions

View File

@@ -382,26 +382,32 @@ FilePath CMakeTool::searchQchFile(const FilePath &executable)
return {};
}
QString CMakeTool::documentationUrl(bool online) const
QString CMakeTool::documentationUrl(const Version &version, bool online)
{
if (online)
return QString("https://cmake.org/cmake/help/v%1.%2")
.arg(version().major)
.arg(version().minor);
if (online) {
QString helpVersion = "latest";
if (!(version.major == 0 && version.minor == 0))
helpVersion = QString("v%1.%2").arg(version.major).arg(version.minor);
return QString("https://cmake.org/cmake/help/%1").arg(helpVersion);
}
return QString("qthelp://org.cmake.%1.%2.%3/doc")
.arg(version().major)
.arg(version().minor)
.arg(version().patch);
.arg(version.major)
.arg(version.minor)
.arg(version.patch);
}
void CMakeTool::openCMakeHelpUrl(const QString &linkUrl) const
void CMakeTool::openCMakeHelpUrl(const CMakeTool *tool, const QString &linkUrl)
{
if (!isValid())
return;
bool online = true;
Version version;
if (tool && tool->isValid()) {
online = tool->qchFilePath().isEmpty();
version = tool->version();
}
const bool online = qchFilePath().isEmpty();
Core::HelpManager::showHelpUrl(linkUrl.arg(documentationUrl(online)));
Core::HelpManager::showHelpUrl(linkUrl.arg(documentationUrl(version, online)));
}
void CMakeTool::readInformation() const