From b2ca5e49831681d3a7ddf9cd9863a65f1a2977cc Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 7 Feb 2020 18:10:51 +0100 Subject: [PATCH] Beautifier: Avoid QObject parent in options page Change-Id: I7e1162802fb6d7d7dffe143dbcdf6d85dc18d56f Reviewed-by: Christian Stenger --- src/plugins/beautifier/beautifierplugin.cpp | 24 ++++++++++--------- src/plugins/beautifier/generaloptionspage.cpp | 3 +-- src/plugins/beautifier/generaloptionspage.h | 4 ++-- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/plugins/beautifier/beautifierplugin.cpp b/src/plugins/beautifier/beautifierplugin.cpp index 621c366175b..67784477d57 100644 --- a/src/plugins/beautifier/beautifierplugin.cpp +++ b/src/plugins/beautifier/beautifierplugin.cpp @@ -103,7 +103,17 @@ public: ClangFormat::ClangFormat clangFormatBeautifier; Uncrustify::Uncrustify uncrustifyBeautifier; - QList m_tools; + BeautifierAbstractTool *m_tools[3] { + &artisticStyleBeautifier, + &uncrustifyBeautifier, + &clangFormatBeautifier + }; + + GeneralOptionsPage optionsPage {{ + artisticStyleBeautifier.id(), + uncrustifyBeautifier.id(), + clangFormatBeautifier.id() + }}; }; static BeautifierPluginPrivate *dd = nullptr; @@ -126,15 +136,7 @@ void BeautifierPlugin::extensionsInitialized() } BeautifierPluginPrivate::BeautifierPluginPrivate() - : m_tools({&artisticStyleBeautifier, &uncrustifyBeautifier, &clangFormatBeautifier}) { - QStringList toolIds; - toolIds.reserve(m_tools.count()); - for (BeautifierAbstractTool *tool : m_tools) - toolIds << tool->id(); - - new GeneralOptionsPage(toolIds, this); - updateActions(); const Core::EditorManager *editorManager = Core::EditorManager::instance(); @@ -173,9 +175,9 @@ void BeautifierPluginPrivate::autoFormatOnSave(Core::IDocument *document) // Find tool to use by id and format file! const QString id = generalSettings.autoFormatTool(); - auto tool = std::find_if(m_tools.constBegin(), m_tools.constEnd(), + auto tool = std::find_if(std::begin(m_tools), std::end(m_tools), [&id](const BeautifierAbstractTool *t){return t->id() == id;}); - if (tool != m_tools.constEnd()) { + if (tool != std::end(m_tools)) { if (!(*tool)->isApplicable(document)) return; const TextEditor::Command command = (*tool)->command(); diff --git a/src/plugins/beautifier/generaloptionspage.cpp b/src/plugins/beautifier/generaloptionspage.cpp index dae4349d18c..db59c07a409 100644 --- a/src/plugins/beautifier/generaloptionspage.cpp +++ b/src/plugins/beautifier/generaloptionspage.cpp @@ -66,8 +66,7 @@ void GeneralOptionsPageWidget::apply() settings->save(); } -GeneralOptionsPage::GeneralOptionsPage(const QStringList &toolIds, QObject *parent) : - IOptionsPage(parent) +GeneralOptionsPage::GeneralOptionsPage(const QStringList &toolIds) { setId(Constants::OPTION_GENERAL_ID); setDisplayName(tr("General")); diff --git a/src/plugins/beautifier/generaloptionspage.h b/src/plugins/beautifier/generaloptionspage.h index 4721db481da..2995fd05e24 100644 --- a/src/plugins/beautifier/generaloptionspage.h +++ b/src/plugins/beautifier/generaloptionspage.h @@ -30,10 +30,10 @@ namespace Beautifier { namespace Internal { -class GeneralOptionsPage : public Core::IOptionsPage +class GeneralOptionsPage final : public Core::IOptionsPage { public: - GeneralOptionsPage(const QStringList &toolIds, QObject *parent); + explicit GeneralOptionsPage(const QStringList &toolIds); }; } // namespace Internal