From a5803ae5552362e3431af53b36ddd497f1661a95 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 4 Oct 2022 17:49:00 +0200 Subject: [PATCH] Meson: Inline toolitemsettings.ui Change-Id: Ib305c45354e63142587593401fda45d03d42d207 Reviewed-by: Alessandro Portale --- .../mesonprojectmanager/CMakeLists.txt | 1 - .../mesonprojectmanager.qbs | 1 - .../settings/tools/toolitemsettings.cpp | 53 ++++++++++--------- .../settings/tools/toolitemsettings.h | 24 +++++---- .../settings/tools/toolitemsettings.ui | 46 ---------------- 5 files changed, 44 insertions(+), 81 deletions(-) delete mode 100644 src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.ui diff --git a/src/plugins/mesonprojectmanager/CMakeLists.txt b/src/plugins/mesonprojectmanager/CMakeLists.txt index d11468c7579..afc73cbb9df 100644 --- a/src/plugins/mesonprojectmanager/CMakeLists.txt +++ b/src/plugins/mesonprojectmanager/CMakeLists.txt @@ -14,7 +14,6 @@ add_qtc_plugin(MesonProjectManager settings/tools/toolssettingswidget.cpp settings/tools/toolssettingspage.cpp settings/tools/toolssettingspage.h - settings/tools/toolitemsettings.ui settings/tools/toolitemsettings.cpp settings/tools/toolitemsettings.h settings/tools/tooltreeitem.cpp diff --git a/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs b/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs index f4495b103ae..1749a697bb9 100644 --- a/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs +++ b/src/plugins/mesonprojectmanager/mesonprojectmanager.qbs @@ -88,7 +88,6 @@ Project { "settings/tools/kitaspect/toolkitaspectwidget.h", "settings/tools/toolitemsettings.cpp", "settings/tools/toolitemsettings.h", - "settings/tools/toolitemsettings.ui", "settings/tools/toolsmodel.cpp", "settings/tools/toolsmodel.h", "settings/tools/toolssettingsaccessor.cpp", diff --git a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.cpp b/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.cpp index 5492183a07d..918231b198f 100644 --- a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.cpp +++ b/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.cpp @@ -4,38 +4,44 @@ #include "toolitemsettings.h" #include "tooltreeitem.h" -#include "ui_toolitemsettings.h" -namespace MesonProjectManager { -namespace Internal { +#include +#include + +#include + +using namespace Utils; + +namespace MesonProjectManager::Internal { ToolItemSettings::ToolItemSettings(QWidget *parent) : QWidget(parent) - , ui(new Ui::ToolItemSettings) { - ui->setupUi(this); - ui->mesonPathChooser->setExpectedKind(Utils::PathChooser::ExistingCommand); - ui->mesonPathChooser->setHistoryCompleter(QLatin1String("Meson.Command.History")); - connect(ui->mesonPathChooser, - &Utils::PathChooser::rawPathChanged, - this, - &ToolItemSettings::store); - connect(ui->mesonNameLineEdit, &QLineEdit::textChanged, this, &ToolItemSettings::store); -} + m_mesonNameLineEdit = new QLineEdit; -ToolItemSettings::~ToolItemSettings() -{ - delete ui; + m_mesonPathChooser = new PathChooser; + m_mesonPathChooser->setExpectedKind(PathChooser::ExistingCommand); + m_mesonPathChooser->setHistoryCompleter(QLatin1String("Meson.Command.History")); + + using namespace Layouting; + + Form { + tr("Name:"), m_mesonNameLineEdit, br, + tr("Path:"), m_mesonPathChooser, br, + }.attachTo(this, WithoutMargins); + + connect(m_mesonPathChooser, &PathChooser::rawPathChanged, this, &ToolItemSettings::store); + connect(m_mesonNameLineEdit, &QLineEdit::textChanged, this, &ToolItemSettings::store); } void ToolItemSettings::load(ToolTreeItem *item) { if (item) { m_currentId = std::nullopt; - ui->mesonNameLineEdit->setDisabled(item->isAutoDetected()); - ui->mesonNameLineEdit->setText(item->name()); - ui->mesonPathChooser->setDisabled(item->isAutoDetected()); - ui->mesonPathChooser->setFilePath(item->executable()); + m_mesonNameLineEdit->setDisabled(item->isAutoDetected()); + m_mesonNameLineEdit->setText(item->name()); + m_mesonPathChooser->setDisabled(item->isAutoDetected()); + m_mesonPathChooser->setFilePath(item->executable()); m_currentId = item->id(); } else { m_currentId = std::nullopt; @@ -46,9 +52,8 @@ void ToolItemSettings::store() { if (m_currentId) emit applyChanges(*m_currentId, - ui->mesonNameLineEdit->text(), - ui->mesonPathChooser->filePath()); + m_mesonNameLineEdit->text(), + m_mesonPathChooser->filePath()); } -} // namespace Internal -} // namespace MesonProjectManager +} // MesonProjectManager::Internal diff --git a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.h b/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.h index 3d1407622fb..649accf18f8 100644 --- a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.h +++ b/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.h @@ -4,16 +4,21 @@ #pragma once #include -#include #include #include -namespace MesonProjectManager { -namespace Internal { +QT_BEGIN_NAMESPACE +class QLineEdit; +QT_END_NAMESPACE -namespace Ui { class ToolItemSettings; } +namespace Utils { +class FilePath; +class PathChooser; +} + +namespace MesonProjectManager::Internal { class ToolTreeItem; @@ -23,15 +28,16 @@ class ToolItemSettings : public QWidget public: explicit ToolItemSettings(QWidget *parent = nullptr); - ~ToolItemSettings(); void load(ToolTreeItem *item); void store(); - Q_SIGNAL void applyChanges(Utils::Id itemId, const QString &name, const Utils::FilePath &exe); + +signals: + void applyChanges(Utils::Id itemId, const QString &name, const Utils::FilePath &exe); private: - Ui::ToolItemSettings *ui; std::optional m_currentId{std::nullopt}; + QLineEdit *m_mesonNameLineEdit; + Utils::PathChooser *m_mesonPathChooser; }; -} // namespace Internal -} // namespace MesonProjectManager +} // MesonProjectManager::Internal diff --git a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.ui b/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.ui deleted file mode 100644 index 36b0828aec9..00000000000 --- a/src/plugins/mesonprojectmanager/settings/tools/toolitemsettings.ui +++ /dev/null @@ -1,46 +0,0 @@ - - - MesonProjectManager::Internal::ToolItemSettings - - - - 0 - 0 - 409 - 70 - - - - - - - Name: - - - - - - - - - - Path: - - - - - - - - - - - Utils::PathChooser - QWidget -
utils/pathchooser.h
- 1 -
-
- - -