From 270d448eb1fcf5fd4ad0703302e164ccd38e5ddf Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 3 Feb 2022 17:57:31 +0100 Subject: [PATCH] CMakePM: Add "generator" link to the kit's CMake settings This way the user can access all the details from the CMake's generator documentation. Change-Id: I90990bf7ec0062122bc3f32d611e19da8f5f9afc Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmakekitinformation.cpp | 7 ++++++- src/plugins/projectexplorer/kitmanager.cpp | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index a0ec30783ae..2fdb16e31f3 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -352,6 +352,11 @@ public: m_label(createSubWidget()), m_changeButton(createSubWidget()) { + const CMakeTool *tool = CMakeKitAspect::cmakeTool(kit); + connect(this, &KitAspectWidget::labelLinkActivated, this, [=](const QString &link) { + CMakeTool::openCMakeHelpUrl(tool, "%1/manual/cmake-generators.7.html"); + }); + m_label->setToolTip(ki->description()); m_changeButton->setText(tr("Change...")); refresh(); @@ -561,7 +566,7 @@ CMakeGeneratorKitAspect::CMakeGeneratorKitAspect() { setObjectName(QLatin1String("CMakeGeneratorKitAspect")); setId(GENERATOR_ID); - setDisplayName(tr("CMake generator")); + setDisplayName(tr("CMake generator")); setDescription(tr("CMake generator defines how a project is built when using CMake.
" "This setting is ignored when using other build systems.")); setPriority(19000); diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index a64783d5c3d..52cf506a885 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -755,6 +755,9 @@ void KitAspectWidget::addToLayoutWithLabel(QWidget *parent) QTC_ASSERT(parent, return); auto label = createSubWidget(m_kitInformation->displayName() + ':'); label->setToolTip(m_kitInformation->description()); + connect(label, &QLabel::linkActivated, this, [this](const QString &link) { + emit labelLinkActivated(link); + }); LayoutExtender builder(parent->layout()); builder.finishRow();