diff --git a/src/plugins/clangtools/CMakeLists.txt b/src/plugins/clangtools/CMakeLists.txt index 59f9f320abd..9e2d4db6454 100644 --- a/src/plugins/clangtools/CMakeLists.txt +++ b/src/plugins/clangtools/CMakeLists.txt @@ -41,7 +41,7 @@ add_qtc_plugin(ClangTools executableinfo.cpp executableinfo.h filterdialog.cpp filterdialog.h runsettingswidget.cpp runsettingswidget.h runsettingswidget.ui - settingswidget.cpp settingswidget.h settingswidget.ui + settingswidget.cpp settingswidget.h tidychecks.ui virtualfilesystemoverlay.cpp virtualfilesystemoverlay.h ) diff --git a/src/plugins/clangtools/clangtools.qbs b/src/plugins/clangtools/clangtools.qbs index 36b44a4c512..4c2a4823161 100644 --- a/src/plugins/clangtools/clangtools.qbs +++ b/src/plugins/clangtools/clangtools.qbs @@ -74,7 +74,6 @@ QtcPlugin { "runsettingswidget.ui", "settingswidget.cpp", "settingswidget.h", - "settingswidget.ui", "tidychecks.ui", "virtualfilesystemoverlay.cpp", "virtualfilesystemoverlay.h", diff --git a/src/plugins/clangtools/settingswidget.cpp b/src/plugins/clangtools/settingswidget.cpp index 7c667d6ee66..e0f815ea3a5 100644 --- a/src/plugins/clangtools/settingswidget.cpp +++ b/src/plugins/clangtools/settingswidget.cpp @@ -3,79 +3,76 @@ #include "settingswidget.h" -#include "ui_settingswidget.h" - #include "clangtoolsconstants.h" #include "clangtoolsutils.h" +#include "runsettingswidget.h" #include #include #include -#include +#include +#include + +#include using namespace Utils; -namespace ClangTools { -namespace Internal { +namespace ClangTools::Internal { static SettingsWidget *m_instance = nullptr; -static void setupPathChooser(PathChooser *const chooser, - const QString &promptDiaglogTitle, - const QString &placeHolderText, - const FilePath &pathFromSettings, - const QString &historyCompleterId) -{ - chooser->setPromptDialogTitle(promptDiaglogTitle); - chooser->setDefaultValue(placeHolderText); - chooser->setFilePath(pathFromSettings); - chooser->setExpectedKind(Utils::PathChooser::ExistingCommand); - chooser->setHistoryCompleter(historyCompleterId); -} - SettingsWidget *SettingsWidget::instance() { return m_instance; } SettingsWidget::SettingsWidget() - : m_ui(new Ui::SettingsWidget) - , m_settings(ClangToolsSettings::instance()) + : m_settings(ClangToolsSettings::instance()) { m_instance = this; - m_ui->setupUi(this); - // - // Group box "Executables" - // + resize(400, 300); QString placeHolderText = shippedClangTidyExecutable().toUserOutput(); FilePath path = m_settings->clangTidyExecutable(); if (path.isEmpty() && placeHolderText.isEmpty()) path = Constants::CLANG_TIDY_EXECUTABLE_NAME; - setupPathChooser(m_ui->clangTidyPathChooser, - tr("Clang-Tidy Executable"), - placeHolderText, - path, - "ClangTools.ClangTidyExecutable.History"); + m_clangTidyPathChooser = new PathChooser; + m_clangTidyPathChooser->setExpectedKind(PathChooser::ExistingCommand); + m_clangTidyPathChooser->setPromptDialogTitle(tr("Clang-Tidy Executable")); + m_clangTidyPathChooser->setDefaultValue(placeHolderText); + m_clangTidyPathChooser->setFilePath(path); + m_clangTidyPathChooser->setHistoryCompleter("ClangTools.ClangTidyExecutable.History"); placeHolderText = shippedClazyStandaloneExecutable().toUserOutput(); path = m_settings->clazyStandaloneExecutable(); if (path.isEmpty() && placeHolderText.isEmpty()) path = Constants::CLAZY_STANDALONE_EXECUTABLE_NAME; - setupPathChooser(m_ui->clazyStandalonePathChooser, - tr("Clazy Executable"), - placeHolderText, - path, - "ClangTools.ClazyStandaloneExecutable.History"); + m_clazyStandalonePathChooser = new PathChooser; + m_clazyStandalonePathChooser->setExpectedKind(PathChooser::ExistingCommand); + m_clazyStandalonePathChooser->setPromptDialogTitle(tr("Clazy Executable")); + m_clazyStandalonePathChooser->setDefaultValue(placeHolderText); + m_clazyStandalonePathChooser->setFilePath(path); + m_clazyStandalonePathChooser->setHistoryCompleter("ClangTools.ClazyStandaloneExecutable.History"); - // - // Group box "Run Options" - // + m_runSettingsWidget = new RunSettingsWidget; + m_runSettingsWidget->fromSettings(m_settings->runSettings()); - m_ui->runSettingsWidget->fromSettings(m_settings->runSettings()); + using namespace Layouting; + + Column { + Group { + title(tr("Executables")), + Form { + tr("Clang-Tidy:"), m_clangTidyPathChooser, br, + tr("Clazy-Standalone:"), m_clazyStandalonePathChooser + } + }, + m_runSettingsWidget, + st + }.attachTo(this); } void SettingsWidget::apply() @@ -85,11 +82,11 @@ void SettingsWidget::apply() m_settings->setClazyStandaloneExecutable(clazyStandalonePath()); // Run options - m_settings->setRunSettings(m_ui->runSettingsWidget->toSettings()); + m_settings->setRunSettings(m_runSettingsWidget->toSettings()); // Custom configs const CppEditor::ClangDiagnosticConfigs customConfigs - = m_ui->runSettingsWidget->diagnosticSelectionWidget()->customConfigs(); + = m_runSettingsWidget->diagnosticSelectionWidget()->customConfigs(); m_settings->setDiagnosticConfigs(customConfigs); m_settings->writeSettings(); @@ -102,12 +99,12 @@ SettingsWidget::~SettingsWidget() FilePath SettingsWidget::clangTidyPath() const { - return m_ui->clangTidyPathChooser->rawFilePath(); + return m_clangTidyPathChooser->rawFilePath(); } FilePath SettingsWidget::clazyStandalonePath() const { - return m_ui->clazyStandalonePathChooser->rawFilePath(); + return m_clazyStandalonePathChooser->rawFilePath(); } // ClangToolsOptionsPage @@ -124,5 +121,4 @@ ClangToolsOptionsPage::ClangToolsOptionsPage() setWidgetCreator([] { return new SettingsWidget; }); } -} // namespace Internal -} // namespace ClangTools +} // ClangTools::Internal diff --git a/src/plugins/clangtools/settingswidget.h b/src/plugins/clangtools/settingswidget.h index b88745f4ed5..a3ebe999ccd 100644 --- a/src/plugins/clangtools/settingswidget.h +++ b/src/plugins/clangtools/settingswidget.h @@ -9,12 +9,14 @@ #include -namespace Utils { class FilePath; } +namespace Utils { +class FilePath; +class PathChooser; +} // Utils -namespace ClangTools { -namespace Internal { +namespace ClangTools::Internal { -namespace Ui { class SettingsWidget; } +class RunSettingsWidget; class SettingsWidget : public Core::IOptionsPageWidget { @@ -32,8 +34,11 @@ public: private: void apply() final; - std::unique_ptr m_ui; ClangToolsSettings *m_settings; + + Utils::PathChooser *m_clangTidyPathChooser; + Utils::PathChooser *m_clazyStandalonePathChooser; + RunSettingsWidget *m_runSettingsWidget; }; class ClangToolsOptionsPage final : public Core::IOptionsPage @@ -42,5 +47,4 @@ public: ClangToolsOptionsPage(); }; -} // namespace Internal -} // namespace ClangTools +} // ClangTools::Internal diff --git a/src/plugins/clangtools/settingswidget.ui b/src/plugins/clangtools/settingswidget.ui deleted file mode 100644 index 6ef3d092971..00000000000 --- a/src/plugins/clangtools/settingswidget.ui +++ /dev/null @@ -1,80 +0,0 @@ - - - ClangTools::Internal::SettingsWidget - - - - 0 - 0 - 400 - 300 - - - - - - - - - - Executables - - - - - - Clang-Tidy: - - - - - - - - - - Clazy-Standalone: - - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 183 - - - - - - - - - Utils::PathChooser - QWidget -
utils/pathchooser.h
- 1 -
- - ClangTools::Internal::RunSettingsWidget - QWidget -
clangtools/runsettingswidget.h
- 1 -
-
- - -