diff --git a/src/plugins/android/androidgdbserverkitinformation.cpp b/src/plugins/android/androidgdbserverkitinformation.cpp index 1988b216069..78b817e727f 100644 --- a/src/plugins/android/androidgdbserverkitinformation.cpp +++ b/src/plugins/android/androidgdbserverkitinformation.cpp @@ -57,11 +57,8 @@ public: AndroidGdbServerKitAspectWidget(Kit *kit, const KitAspect *ki); ~AndroidGdbServerKitAspectWidget() override; - QString displayName() const override; - QString toolTip() const override; void makeReadOnly() override; void refresh() override; - bool visibleInKit() override; QWidget *mainWidget() const override; QWidget *buttonWidget() const override; @@ -78,6 +75,8 @@ private: AndroidGdbServerKitAspect::AndroidGdbServerKitAspect() { setId(AndroidGdbServerKitAspect::id()); + setDisplayName(tr("Android GDB server")); + setDescription(tr("The GDB server to use for this kit.")); setPriority(27999); // Just one less than Debugger! } @@ -91,6 +90,11 @@ QList AndroidGdbServerKitAspect::validate(const Kit *) const return QList(); } +bool AndroidGdbServerKitAspect::isApplicableToKit(const Kit *k) const +{ + return DeviceKitAspect::deviceId(k) == Constants::ANDROID_DEVICE_ID; +} + KitAspect::ItemList AndroidGdbServerKitAspect::toUserOutput(const Kit *kit) const { return KitAspect::ItemList() @@ -169,16 +173,6 @@ AndroidGdbServerKitAspectWidget::~AndroidGdbServerKitAspectWidget() delete m_label; } -QString AndroidGdbServerKitAspectWidget::displayName() const -{ - return tr("Android GDB server"); -} - -QString AndroidGdbServerKitAspectWidget::toolTip() const -{ - return tr("The GDB server to use for this kit."); -} - void AndroidGdbServerKitAspectWidget::makeReadOnly() { m_button->setEnabled(false); @@ -189,11 +183,6 @@ void AndroidGdbServerKitAspectWidget::refresh() m_label->setText(AndroidGdbServerKitAspect::gdbServer(m_kit).toString()); } -bool AndroidGdbServerKitAspectWidget::visibleInKit() -{ - return DeviceKitAspect::deviceId(m_kit) == Constants::ANDROID_DEVICE_ID; -} - QWidget *AndroidGdbServerKitAspectWidget::mainWidget() const { return m_label; diff --git a/src/plugins/android/androidgdbserverkitinformation.h b/src/plugins/android/androidgdbserverkitinformation.h index f6dd1c3f588..d7d5a929193 100644 --- a/src/plugins/android/androidgdbserverkitinformation.h +++ b/src/plugins/android/androidgdbserverkitinformation.h @@ -37,9 +37,8 @@ public: AndroidGdbServerKitAspect(); QVariant defaultValue(const ProjectExplorer::Kit *) const override; - QList validate(const ProjectExplorer::Kit *) const override; - + bool isApplicableToKit(const ProjectExplorer::Kit *k) const override; ItemList toUserOutput(const ProjectExplorer::Kit *) const override; ProjectExplorer::KitAspectWidget *createConfigWidget(ProjectExplorer::Kit *) const override; diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index 77a01c10454..da3902ffd88 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -111,7 +111,6 @@ public: private: // KitAspectWidget interface - QString displayName() const override { return tr("CMake Tool"); } void makeReadOnly() override { m_comboBox->setEnabled(false); } QWidget *mainWidget() const override { return m_comboBox; } QWidget *buttonWidget() const override { return m_manageButton; } @@ -122,12 +121,6 @@ private: m_comboBox->setCurrentIndex(tool ? indexOf(tool->id()) : -1); } - QString toolTip() const override - { - return tr("The CMake Tool to use when building a project with CMake.
" - "This setting is ignored when using other build systems."); - } - int indexOf(const Core::Id &id) { for (int i = 0; i < m_comboBox->count(); ++i) { @@ -213,6 +206,9 @@ CMakeKitAspect::CMakeKitAspect() { setObjectName(QLatin1String("CMakeKitAspect")); setId(TOOL_ID); + setDisplayName(tr("CMake Tool")); + setDescription(tr("The CMake Tool to use when building a project with CMake.
" + "This setting is ignored when using other build systems.")); setPriority(20000); //make sure the default value is set if a selected CMake is removed @@ -347,7 +343,6 @@ public: private: // KitAspectWidget interface - QString displayName() const override { return tr("CMake generator"); } void makeReadOnly() override { m_changeButton->setEnabled(false); } QWidget *mainWidget() const override { return m_label; } QWidget *buttonWidget() const override { return m_changeButton; } @@ -375,12 +370,6 @@ private: m_label->setText(message); } - QString toolTip() const override - { - return tr("CMake generator defines how a project is built when using CMake.
" - "This setting is ignored when using other build systems."); - } - void changeGenerator() { QPointer changeDialog = new QDialog(m_changeButton); @@ -531,6 +520,9 @@ CMakeGeneratorKitAspect::CMakeGeneratorKitAspect() { setObjectName(QLatin1String("CMakeGeneratorKitAspect")); setId(GENERATOR_ID); + 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); } @@ -804,7 +796,6 @@ public: private: // KitAspectWidget interface - QString displayName() const override { return tr("CMake Configuration"); } QWidget *mainWidget() const override { return m_summaryLabel; } QWidget *buttonWidget() const override { return m_manageButton; } @@ -824,11 +815,6 @@ private: m_editor->setPlainText(current.join('\n')); } - QString toolTip() const override - { - return tr("Default configuration passed to CMake when setting up a project."); - } - void editConfigurationChanges() { if (m_dialog) { @@ -903,6 +889,8 @@ CMakeConfigurationKitAspect::CMakeConfigurationKitAspect() { setObjectName(QLatin1String("CMakeConfigurationKitAspect")); setId(CONFIGURATION_ID); + setDisplayName(tr("CMake Configuration")); + setDescription(tr("Default configuration passed to CMake when setting up a project.")); setPriority(18000); } diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index 33f34107068..777d2114b62 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -83,8 +83,6 @@ public: } private: - QString displayName() const override { return tr("Debugger"); } - QString toolTip() const override { return tr("The debugger to use for this kit."); } QWidget *buttonWidget() const override { return m_manageButton; } QWidget *mainWidget() const override { return m_comboBox; } @@ -149,6 +147,8 @@ DebuggerKitAspect::DebuggerKitAspect() { setObjectName("DebuggerKitAspect"); setId(DebuggerKitAspect::id()); + setDisplayName(tr("Debugger")); + setDescription(tr("The debugger to use for this kit.")); setPriority(28000); } diff --git a/src/plugins/debugger/debuggerkitinformation.h b/src/plugins/debugger/debuggerkitinformation.h index 34bb85e79d3..9d129176600 100644 --- a/src/plugins/debugger/debuggerkitinformation.h +++ b/src/plugins/debugger/debuggerkitinformation.h @@ -42,7 +42,6 @@ public: DebuggerKitAspect(); QVariant defaultValue(const ProjectExplorer::Kit *k) const override; - QList validate(const ProjectExplorer::Kit *k) const override { return DebuggerKitAspect::validateDebugger(k); } diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 0aea9d1727f..eb4a13a6019 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -84,7 +84,6 @@ public: ~SysRootKitAspectWidget() override { delete m_chooser; } private: - QString displayName() const override { return tr("Sysroot"); } void makeReadOnly() override { m_chooser->setReadOnly(true); } QWidget *buttonWidget() const override { return m_chooser->buttonAtIndex(0); } QWidget *mainWidget() const override { return m_chooser->lineEdit(); } @@ -95,12 +94,6 @@ private: m_chooser->setFileName(SysRootKitAspect::sysRoot(m_kit)); } - QString toolTip() const override - { - return tr("The root directory of the system image to use.
" - "Leave empty when building for the desktop."); - } - void setPalette(const QPalette &p) override { KitAspectWidget::setPalette(p); @@ -123,6 +116,9 @@ SysRootKitAspect::SysRootKitAspect() { setObjectName(QLatin1String("SysRootInformation")); setId(SysRootKitAspect::id()); + setDisplayName(tr("Sysroot")); + setDescription(tr("The root directory of the system image to use.
" + "Leave empty when building for the desktop.")); setPriority(31000); } @@ -272,7 +268,6 @@ public: } private: - QString displayName() const override { return tr("Compiler"); } QWidget *mainWidget() const override { return m_mainWidget; } QWidget *buttonWidget() const override { return m_manageButton; } @@ -305,13 +300,6 @@ private: } } - QString toolTip() const override - { - return tr("The compiler to use for building.
" - "Make sure the compiler will produce binaries compatible with the target device, " - "Qt version and other libraries used."); - } - void manageToolChains() { Core::ICore::showOptionsDialog(Constants::TOOLCHAIN_SETTINGS_PAGE_ID, buttonWidget()); @@ -353,6 +341,10 @@ ToolChainKitAspect::ToolChainKitAspect() { setObjectName(QLatin1String("ToolChainInformation")); setId(ToolChainKitAspect::id()); + setDisplayName(tr("Compiler")); + setDescription(tr("The compiler to use for building.
" + "Make sure the compiler will produce binaries compatible " + "with the target device, Qt version and other libraries used.")); setPriority(30000); connect(KitManager::instance(), &KitManager::kitsLoaded, @@ -786,8 +778,6 @@ public: private: QWidget *mainWidget() const override { return m_comboBox; } - QString displayName() const override { return tr("Device type"); } - QString toolTip() const override { return tr("The type of device to run applications on."); } void makeReadOnly() override { m_comboBox->setEnabled(false); } void refresh() override @@ -817,6 +807,8 @@ DeviceTypeKitAspect::DeviceTypeKitAspect() { setObjectName(QLatin1String("DeviceTypeInformation")); setId(DeviceTypeKitAspect::id()); + setDisplayName(tr("Device type")); + setDescription(tr("The type of device to run applications on.")); setPriority(33000); } @@ -923,8 +915,6 @@ public: private: QWidget *mainWidget() const override { return m_comboBox; } QWidget *buttonWidget() const override { return m_manageButton; } - QString displayName() const override { return tr("Device"); } - QString toolTip() const override { return tr("The device to run the applications on."); } void makeReadOnly() override { m_comboBox->setEnabled(false); } void refresh() override @@ -970,6 +960,8 @@ DeviceKitAspect::DeviceKitAspect() { setObjectName(QLatin1String("DeviceInformation")); setId(DeviceKitAspect::id()); + setDisplayName(tr("Device")); + setDescription(tr("The device to run the applications on.")); setPriority(32000); connect(KitManager::instance(), &KitManager::kitsLoaded, @@ -1168,14 +1160,8 @@ public: private: QWidget *mainWidget() const override { return m_mainWidget; } QWidget *buttonWidget() const override { return m_manageButton; } - QString displayName() const override { return tr("Environment"); } void makeReadOnly() override { m_manageButton->setEnabled(false); } - QString toolTip() const override - { - return tr("Additional build environment settings when using this kit."); - } - void refresh() override { const QList changes = currentEnvironment(); @@ -1257,6 +1243,8 @@ EnvironmentKitAspect::EnvironmentKitAspect() { setObjectName(QLatin1String("EnvironmentKitAspect")); setId(EnvironmentKitAspect::id()); + setDisplayName(tr("Environment")); + setDescription(tr("Additional build environment settings when using this kit.")); setPriority(29000); } diff --git a/src/plugins/projectexplorer/kitinformation.h b/src/plugins/projectexplorer/kitinformation.h index 2295c8944c4..f3c170e1957 100644 --- a/src/plugins/projectexplorer/kitinformation.h +++ b/src/plugins/projectexplorer/kitinformation.h @@ -51,11 +51,8 @@ public: SysRootKitAspect(); QVariant defaultValue(const Kit *k) const override; - QList validate(const Kit *k) const override; - KitAspectWidget *createConfigWidget(Kit *k) const override; - ItemList toUserOutput(const Kit *k) const override; void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override; @@ -76,7 +73,6 @@ public: ToolChainKitAspect(); QVariant defaultValue(const Kit *k) const override; - QList validate(const Kit *k) const override; void upgrade(Kit *k) override; void fix(Kit *k) override; @@ -122,11 +118,8 @@ public: DeviceTypeKitAspect(); QVariant defaultValue(const Kit *k) const override; - QList validate(const Kit *k) const override; - KitAspectWidget *createConfigWidget(Kit *k) const override; - ItemList toUserOutput(const Kit *k) const override; static const Core::Id id(); @@ -151,7 +144,6 @@ public: DeviceKitAspect(); QVariant defaultValue(const Kit *k) const override; - QList validate(const Kit *k) const override; void fix(Kit *k) override; void setup(Kit *k) override; @@ -189,7 +181,6 @@ public: EnvironmentKitAspect(); QVariant defaultValue(const Kit *k) const override; - QList validate(const Kit *k) const override; void fix(Kit *k) override; diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index e56cbf8929e..e8d60b11f18 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -75,6 +75,8 @@ public: Core::Id id() const { return m_id; } int priority() const { return m_priority; } + QString displayName() const { return m_displayName; } + QString description() const { return m_description; } virtual QVariant defaultValue(const Kit *) const = 0; @@ -101,12 +103,18 @@ public: virtual void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const; + virtual bool isApplicableToKit(const Kit *) const { return true; } + protected: void setId(Core::Id id) { m_id = id; } + void setDisplayName(const QString &name) { m_displayName = name; } + void setDescription(const QString &desc) { m_description = desc; } void setPriority(int priority) { m_priority = priority; } void notifyAboutUpdate(Kit *k); private: + QString m_displayName; + QString m_description; Core::Id m_id; int m_priority = 0; // The higher the closer to the top. }; @@ -119,12 +127,12 @@ public: KitAspectWidget(Kit *kit, const KitAspect *ki); Core::Id kitInformationId() const; + QString displayName() const { return m_kitInformation->displayName(); } + QString toolTip() const { return m_kitInformation->description(); } - virtual QString displayName() const = 0; - virtual QString toolTip() const { return QString(); } virtual void makeReadOnly() = 0; virtual void refresh() = 0; - virtual bool visibleInKit() { return true; } + bool visibleInKit() { return m_kitInformation->isApplicableToKit(m_kit); } virtual QWidget *mainWidget() const = 0; virtual QWidget *buttonWidget() const { return nullptr; } diff --git a/src/plugins/qbsprojectmanager/qbskitinformation.cpp b/src/plugins/qbsprojectmanager/qbskitinformation.cpp index c1d1ad01688..b317fd88e8c 100644 --- a/src/plugins/qbsprojectmanager/qbskitinformation.cpp +++ b/src/plugins/qbsprojectmanager/qbskitinformation.cpp @@ -54,7 +54,6 @@ public: } private: - QString displayName() const override { return QbsKitAspect::displayName(); } void makeReadOnly() override { m_changeButton->setEnabled(false); } void refresh() override { m_contentLabel->setText(QbsKitAspect::representation(kit())); } QWidget *mainWidget() const override { return m_contentLabel; } @@ -75,14 +74,10 @@ QbsKitAspect::QbsKitAspect() { setObjectName(QLatin1String("QbsKitAspect")); setId(QbsKitAspect::id()); + setDisplayName(tr("Additional Qbs Profile Settings")); setPriority(22000); } -QString QbsKitAspect::displayName() -{ - return tr("Additional Qbs Profile Settings"); -} - QString QbsKitAspect::representation(const Kit *kit) { const QVariantMap props = properties(kit); diff --git a/src/plugins/qbsprojectmanager/qbskitinformation.h b/src/plugins/qbsprojectmanager/qbskitinformation.h index cc7235944a4..b6bd1b19847 100644 --- a/src/plugins/qbsprojectmanager/qbskitinformation.h +++ b/src/plugins/qbsprojectmanager/qbskitinformation.h @@ -37,7 +37,6 @@ class QbsKitAspect final : public ProjectExplorer::KitAspect public: QbsKitAspect(); - static QString displayName(); static QString representation(const ProjectExplorer::Kit *kit); static QVariantMap properties(const ProjectExplorer::Kit *kit); static void setProperties(ProjectExplorer::Kit *kit, const QVariantMap &properties); diff --git a/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp b/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp index bf01e0bf995..bcaac1f7f25 100644 --- a/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp +++ b/src/plugins/qmakeprojectmanager/qmakekitinformation.cpp @@ -61,15 +61,8 @@ public: private: QWidget *mainWidget() const override { return m_lineEdit; } - QString displayName() const override { return tr("Qt mkspec"); } void makeReadOnly() override { m_lineEdit->setEnabled(false); } - QString toolTip() const override - { - return tr("The mkspec to use when building the project with qmake.
" - "This setting is ignored when using other build systems."); - } - void refresh() override { if (!m_ignoreChange) @@ -92,6 +85,9 @@ QmakeKitAspect::QmakeKitAspect() { setObjectName(QLatin1String("QmakeKitAspect")); setId(QmakeKitAspect::id()); + setDisplayName(tr("Qt mkspec")); + setDescription(tr("The mkspec to use when building the project with qmake.
" + "This setting is ignored when using other build systems.")); setPriority(24000); } diff --git a/src/plugins/qmakeprojectmanager/qmakekitinformation.h b/src/plugins/qmakeprojectmanager/qmakekitinformation.h index e772943fde6..6cb2318a21c 100644 --- a/src/plugins/qmakeprojectmanager/qmakekitinformation.h +++ b/src/plugins/qmakeprojectmanager/qmakekitinformation.h @@ -38,7 +38,6 @@ public: QmakeKitAspect(); QVariant defaultValue(const ProjectExplorer::Kit *k) const override; - QList validate(const ProjectExplorer::Kit *k) const override; void setup(ProjectExplorer::Kit *k) override; diff --git a/src/plugins/qtsupport/qtkitinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp index f2d2c088524..7635c797181 100644 --- a/src/plugins/qtsupport/qtkitinformation.cpp +++ b/src/plugins/qtsupport/qtkitinformation.cpp @@ -82,7 +82,6 @@ public: } private: - QString displayName() const override { return tr("Qt version"); } void makeReadOnly() override { m_combo->setEnabled(false); } QWidget *mainWidget() const override { return m_combo; } QWidget *buttonWidget() const override { return m_manageButton; } @@ -92,13 +91,6 @@ private: m_combo->setCurrentIndex(findQtVersion(QtKitAspect::qtVersionId(m_kit))); } - QString toolTip() const override - { - return tr("The Qt library to use for all projects using this kit.
" - "A Qt version is required for qmake-based projects " - "and optional when using other build systems."); - } - private: static QString itemNameFor(const BaseQtVersion *v) { @@ -158,6 +150,10 @@ QtKitAspect::QtKitAspect() { setObjectName(QLatin1String("QtKitAspect")); setId(QtKitAspect::id()); + setDisplayName(tr("Qt version")); + setDescription(tr("The Qt library to use for all projects using this kit.
" + "A Qt version is required for qmake-based projects " + "and optional when using other build systems.")); setPriority(26000); connect(KitManager::instance(), &KitManager::kitsLoaded,