diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index ee6486f93f8..97557384eb3 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -31,19 +31,20 @@ #include "cmaketool.h" #include "cmaketoolmanager.h" -#include +#include + #include + #include #include #include #include #include #include + #include #include -#include - #include #include #include @@ -89,7 +90,7 @@ class CMakeKitAspectWidget final : public KitAspectWidget public: CMakeKitAspectWidget(Kit *kit, const KitAspect *ki) : KitAspectWidget(kit, ki), m_comboBox(createSubWidget()), - m_manageButton(createSubWidget(KitAspectWidget::msgManage())) + m_manageButton(createManageButton(Constants::CMAKE_SETTINGS_PAGE_ID)) { m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy()); m_comboBox->setEnabled(false); @@ -103,10 +104,6 @@ public: connect(m_comboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &CMakeKitAspectWidget::currentCMakeToolChanged); - m_manageButton->setContentsMargins(0, 0, 0, 0); - connect(m_manageButton, &QPushButton::clicked, - this, &CMakeKitAspectWidget::manageCMakeTools); - CMakeToolManager *cmakeMgr = CMakeToolManager::instance(); connect(cmakeMgr, &CMakeToolManager::cmakeAdded, this, &CMakeKitAspectWidget::cmakeToolAdded); @@ -209,14 +206,9 @@ private: CMakeKitAspect::setCMakeTool(m_kit, id); } - void manageCMakeTools() - { - Core::ICore::showOptionsDialog(Constants::CMAKE_SETTINGS_PAGE_ID, m_manageButton); - } - bool m_removingItem = false; QComboBox *m_comboBox; - QPushButton *m_manageButton; + QWidget *m_manageButton; }; CMakeKitAspect::CMakeKitAspect() diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index c769aee0b42..7a9567890c3 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -28,8 +28,6 @@ #include "debuggeritemmanager.h" #include "debuggeritem.h" -#include - #include #include #include @@ -42,7 +40,7 @@ #include #include -#include + #include using namespace ProjectExplorer; @@ -73,10 +71,7 @@ public: connect(m_comboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &DebuggerKitAspectWidget::currentDebuggerChanged); - m_manageButton = createSubWidget(KitAspectWidget::msgManage()); - m_manageButton->setContentsMargins(0, 0, 0, 0); - connect(m_manageButton, &QAbstractButton::clicked, - this, &DebuggerKitAspectWidget::manageDebuggers); + m_manageButton = createManageButton(ProjectExplorer::Constants::DEBUGGER_SETTINGS_PAGE_ID); } ~DebuggerKitAspectWidget() override @@ -112,12 +107,6 @@ private: m_ignoreChanges = false; } - void manageDebuggers() - { - Core::ICore::showOptionsDialog(ProjectExplorer::Constants::DEBUGGER_SETTINGS_PAGE_ID, - m_manageButton); - } - void currentDebuggerChanged(int idx) { Q_UNUSED(idx) @@ -144,7 +133,7 @@ private: bool m_ignoreChanges = false; QComboBox *m_comboBox; - QPushButton *m_manageButton; + QWidget *m_manageButton; }; } // namespace Internal diff --git a/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.cpp b/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.cpp index a7057bf5606..fb0f3e56406 100644 --- a/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.cpp +++ b/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.cpp @@ -29,7 +29,6 @@ #include "mesontoolkitaspect.h" #include "ninjatoolkitaspect.h" -#include #include namespace MesonProjectManager { @@ -40,7 +39,7 @@ ToolKitAspectWidget::ToolKitAspectWidget(ProjectExplorer::Kit *kit, ToolType type) : ProjectExplorer::KitAspectWidget(kit, ki) , m_toolsComboBox(createSubWidget()) - , m_manageButton(createSubWidget(KitAspectWidget::msgManage())) + , m_manageButton(createManageButton(Constants::SettingsPage::TOOLS_ID)) , m_type{type} { m_toolsComboBox->setSizePolicy(QSizePolicy::Ignored, @@ -49,11 +48,6 @@ ToolKitAspectWidget::ToolKitAspectWidget(ProjectExplorer::Kit *kit, m_toolsComboBox->setToolTip(ki->description()); loadTools(); - m_manageButton->setContentsMargins(0, 0, 0, 0); - connect(m_manageButton, &QPushButton::clicked, this, [this]() { - Core::ICore::showOptionsDialog(Constants::SettingsPage::TOOLS_ID, m_manageButton); - }); - connect(MesonTools::instance(), &MesonTools::toolAdded, this, diff --git a/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.h b/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.h index 20fd23038e5..0ca8b066a18 100644 --- a/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.h +++ b/src/plugins/mesonprojectmanager/settings/tools/kitaspect/toolkitaspectwidget.h @@ -34,7 +34,6 @@ #include #include -#include namespace MesonProjectManager { namespace Internal { @@ -83,7 +82,7 @@ private: } QComboBox *m_toolsComboBox; - QPushButton *m_manageButton; + QWidget *m_manageButton; ToolType m_type; }; diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index affe0bc70e1..01c43163ab1 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -35,8 +35,8 @@ #include "toolchain.h" #include "toolchainmanager.h" -#include #include + #include #include #include @@ -249,10 +249,7 @@ public: refresh(); - m_manageButton = createSubWidget(KitAspectWidget::msgManage()); - m_manageButton->setContentsMargins(0, 0, 0, 0); - connect(m_manageButton, &QAbstractButton::clicked, - this, &ToolChainKitAspectWidget::manageToolChains); + m_manageButton = createManageButton(Constants::TOOLCHAIN_SETTINGS_PAGE_ID); } ~ToolChainKitAspectWidget() override @@ -298,11 +295,6 @@ private: } } - void manageToolChains() - { - Core::ICore::showOptionsDialog(Constants::TOOLCHAIN_SETTINGS_PAGE_ID, m_manageButton); - } - void currentToolChainChanged(Utils::Id language, int idx) { if (m_ignoreChanges || idx < 0) @@ -328,7 +320,7 @@ private: } QWidget *m_mainWidget = nullptr; - QPushButton *m_manageButton = nullptr; + QWidget *m_manageButton = nullptr; QHash m_languageComboboxMap; bool m_ignoreChanges = false; bool m_isReadOnly = false; @@ -839,7 +831,7 @@ public: { m_comboBox->setSizePolicy(QSizePolicy::Ignored, m_comboBox->sizePolicy().verticalPolicy()); m_comboBox->setModel(m_model); - m_manageButton = createSubWidget(KitAspectWidget::msgManage()); + m_manageButton = createManageButton(Constants::DEVICE_SETTINGS_PAGE_ID); refresh(); m_comboBox->setToolTip(ki->description()); @@ -849,8 +841,6 @@ public: this, &DeviceKitAspectWidget::modelReset); connect(m_comboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &DeviceKitAspectWidget::currentDeviceChanged); - connect(m_manageButton, &QAbstractButton::clicked, - this, &DeviceKitAspectWidget::manageDevices); } ~DeviceKitAspectWidget() override @@ -876,11 +866,6 @@ private: m_comboBox->setCurrentIndex(m_model->indexOf(DeviceKitAspect::device(m_kit))); } - void manageDevices() - { - Core::ICore::showOptionsDialog(Constants::DEVICE_SETTINGS_PAGE_ID, m_manageButton); - } - void modelAboutToReset() { m_selectedId = m_model->deviceId(m_comboBox->currentIndex()); @@ -902,7 +887,7 @@ private: bool m_ignoreChange = false; QComboBox *m_comboBox; - QPushButton *m_manageButton; + QWidget *m_manageButton; DeviceManagerModel *m_model; Utils::Id m_selectedId; }; diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index d73f637d2b7..b31d51c737e 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -760,6 +761,15 @@ void KitAspectWidget::addMutableAction(QWidget *child) child->setContextMenuPolicy(Qt::ActionsContextMenu); } +QWidget *KitAspectWidget::createManageButton(Id pageId) +{ + auto button = createSubWidget(msgManage()); + connect(button, &QPushButton::clicked, this, [pageId] { + Core::ICore::showOptionsDialog(pageId); + }); + return button; +} + QString KitAspectWidget::msgManage() { return tr("Manage..."); diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index 7b7ef33e7dc..390d37cf23f 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -146,6 +146,7 @@ public: const KitAspect *kitInformation() const { return m_kitInformation; } QAction *mutableAction() const { return m_mutableAction; } void addMutableAction(QWidget *child); + QWidget *createManageButton(Utils::Id pageId); protected: Kit *m_kit; diff --git a/src/plugins/qtsupport/qtkitinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp index 9f17a1bcb9d..d9b1b8c34b8 100644 --- a/src/plugins/qtsupport/qtkitinformation.cpp +++ b/src/plugins/qtsupport/qtkitinformation.cpp @@ -30,11 +30,11 @@ #include "qtparser.h" #include "qttestparser.h" -#include #include #include #include #include + #include #include #include @@ -42,7 +42,6 @@ #include #include -#include using namespace ProjectExplorer; using namespace Utils; @@ -63,7 +62,7 @@ public: QList versionIds = Utils::transform(QtVersionManager::versions(), &BaseQtVersion::uniqueId); versionsChanged(versionIds, QList(), QList()); - m_manageButton = createSubWidget(KitAspectWidget::msgManage()); + m_manageButton = createManageButton(Constants::QTVERSION_SETTINGS_PAGE_ID); refresh(); m_combo->setToolTip(ki->description()); @@ -73,8 +72,6 @@ public: connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged, this, &QtKitAspectWidget::versionsChanged); - - connect(m_manageButton, &QAbstractButton::clicked, this, &QtKitAspectWidget::manageQtVersions); } ~QtKitAspectWidget() final @@ -129,11 +126,6 @@ private: } } - void manageQtVersions() - { - Core::ICore::showOptionsDialog(Constants::QTVERSION_SETTINGS_PAGE_ID, m_manageButton); - } - void currentWasChanged(int idx) { QtKitAspect::setQtVersionId(m_kit, m_combo->itemData(idx).toInt()); @@ -149,7 +141,7 @@ private: } QComboBox *m_combo; - QPushButton *m_manageButton; + QWidget *m_manageButton; }; } // namespace Internal