aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/beautifier
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-03-25 09:58:16 +0100
committerhjk <hjk@qt.io>2019-04-08 12:00:04 +0000
commit421e025c35f8f530719e153b60a7e27af99b5ef6 (patch)
treebd4ab700f234f7d8c93983e66523a112b11eb458 /src/plugins/beautifier
parentdb4b02167a14a68c0817bac955f5aff502d10714 (diff)
Beautifier: Reduce indirections
The two-phase initialization of the tools is not needed, as the second phase is called directly after construction. Also, the settings objects' lifetime is identical to the tools, no need to handle that dynamically. Change-Id: Iedfe8a95d68f9a667ef60ad9a107d0bae142b2cc Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/beautifier')
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstyle.cpp37
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstyle.h8
-rw-r--r--src/plugins/beautifier/beautifierabstracttool.h1
-rw-r--r--src/plugins/beautifier/beautifierplugin.cpp4
-rw-r--r--src/plugins/beautifier/clangformat/clangformat.cpp39
-rw-r--r--src/plugins/beautifier/clangformat/clangformat.h11
-rw-r--r--src/plugins/beautifier/uncrustify/uncrustify.cpp39
-rw-r--r--src/plugins/beautifier/uncrustify/uncrustify.h9
8 files changed, 51 insertions, 97 deletions
diff --git a/src/plugins/beautifier/artisticstyle/artisticstyle.cpp b/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
index 4a7ee4ec54..65f20cb125 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
+++ b/src/plugins/beautifier/artisticstyle/artisticstyle.cpp
@@ -29,7 +29,6 @@
#include "artisticstyleconstants.h"
#include "artisticstyleoptionspage.h"
-#include "artisticstylesettings.h"
#include "../beautifierconstants.h"
#include "../beautifierplugin.h"
@@ -58,16 +57,6 @@ namespace Internal {
namespace ArtisticStyle {
ArtisticStyle::ArtisticStyle()
- : m_settings(new ArtisticStyleSettings)
-{
-}
-
-ArtisticStyle::~ArtisticStyle()
-{
- delete m_settings;
-}
-
-bool ArtisticStyle::initialize()
{
Core::ActionContainer *menu = Core::ActionManager::createMenu(Constants::ArtisticStyle::MENU_ID);
menu->menu()->setTitle(tr("&Artistic Style"));
@@ -79,12 +68,10 @@ bool ArtisticStyle::initialize()
Core::ActionManager::actionContainer(Constants::MENU_ID)->addMenu(menu);
- connect(m_settings, &ArtisticStyleSettings::supportedMimeTypesChanged,
+ connect(&m_settings, &ArtisticStyleSettings::supportedMimeTypesChanged,
[this] { updateActions(Core::EditorManager::currentEditor()); });
- new ArtisticStyleOptionsPage(m_settings, this);
-
- return true;
+ new ArtisticStyleOptionsPage(&m_settings, this);
}
QString ArtisticStyle::id() const
@@ -94,7 +81,7 @@ QString ArtisticStyle::id() const
void ArtisticStyle::updateActions(Core::IEditor *editor)
{
- m_formatFile->setEnabled(editor && m_settings->isApplicable(editor->document()));
+ m_formatFile->setEnabled(editor && m_settings.isApplicable(editor->document()));
}
void ArtisticStyle::formatFile()
@@ -110,10 +97,10 @@ void ArtisticStyle::formatFile()
QString ArtisticStyle::configurationFile() const
{
- if (m_settings->useCustomStyle())
- return m_settings->styleFileName(m_settings->customStyle());
+ if (m_settings.useCustomStyle())
+ return m_settings.styleFileName(m_settings.customStyle());
- if (m_settings->useOtherFiles()) {
+ if (m_settings.useOtherFiles()) {
if (const ProjectExplorer::Project *project
= ProjectExplorer::ProjectTree::currentProject()) {
const Utils::FileNameList files = project->files(ProjectExplorer::Project::AllFiles);
@@ -127,13 +114,13 @@ QString ArtisticStyle::configurationFile() const
}
}
- if (m_settings->useSpecificConfigFile()) {
- const Utils::FileName file = m_settings->specificConfigFile();
+ if (m_settings.useSpecificConfigFile()) {
+ const Utils::FileName file = m_settings.specificConfigFile();
if (file.exists())
return file.toUserOutput();
}
- if (m_settings->useHomeFile()) {
+ if (m_settings.useHomeFile()) {
const QDir homeDirectory = QDir::home();
QString file = homeDirectory.filePath(".astylerc");
if (QFile::exists(file))
@@ -154,17 +141,17 @@ Command ArtisticStyle::command() const
bool ArtisticStyle::isApplicable(const Core::IDocument *document) const
{
- return m_settings->isApplicable(document);
+ return m_settings.isApplicable(document);
}
Command ArtisticStyle::command(const QString &cfgFile) const
{
Command command;
- command.setExecutable(m_settings->command());
+ command.setExecutable(m_settings.command());
command.addOption("-q");
command.addOption("--options=" + cfgFile);
- const int version = m_settings->version();
+ const int version = m_settings.version();
if (version > ArtisticStyleSettings::Version_2_03) {
command.setProcessing(Command::PipeProcessing);
if (version == ArtisticStyleSettings::Version_2_04)
diff --git a/src/plugins/beautifier/artisticstyle/artisticstyle.h b/src/plugins/beautifier/artisticstyle/artisticstyle.h
index 5927814489..0e2b566da2 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstyle.h
+++ b/src/plugins/beautifier/artisticstyle/artisticstyle.h
@@ -27,23 +27,21 @@
#include "../beautifierabstracttool.h"
+#include "artisticstylesettings.h"
+
QT_FORWARD_DECLARE_CLASS(QAction)
namespace Beautifier {
namespace Internal {
namespace ArtisticStyle {
-class ArtisticStyleSettings;
-
class ArtisticStyle : public BeautifierAbstractTool
{
Q_OBJECT
public:
ArtisticStyle();
- ~ArtisticStyle() override;
- bool initialize() override;
QString id() const override;
void updateActions(Core::IEditor *editor) override;
TextEditor::Command command() const override;
@@ -52,7 +50,7 @@ public:
private:
void formatFile();
QAction *m_formatFile = nullptr;
- ArtisticStyleSettings *m_settings;
+ ArtisticStyleSettings m_settings;
QString configurationFile() const;
TextEditor::Command command(const QString &cfgFile) const;
};
diff --git a/src/plugins/beautifier/beautifierabstracttool.h b/src/plugins/beautifier/beautifierabstracttool.h
index 813f37ac7f..d48ee0f576 100644
--- a/src/plugins/beautifier/beautifierabstracttool.h
+++ b/src/plugins/beautifier/beautifierabstracttool.h
@@ -45,7 +45,6 @@ public:
BeautifierAbstractTool() = default;
virtual QString id() const = 0;
- virtual bool initialize() = 0;
virtual void updateActions(Core::IEditor *editor) = 0;
/**
diff --git a/src/plugins/beautifier/beautifierplugin.cpp b/src/plugins/beautifier/beautifierplugin.cpp
index 90db34df1c..6e4cb079f2 100644
--- a/src/plugins/beautifier/beautifierplugin.cpp
+++ b/src/plugins/beautifier/beautifierplugin.cpp
@@ -129,10 +129,8 @@ BeautifierPluginPrivate::BeautifierPluginPrivate()
{
QStringList toolIds;
toolIds.reserve(m_tools.count());
- for (BeautifierAbstractTool *tool : m_tools) {
+ for (BeautifierAbstractTool *tool : m_tools)
toolIds << tool->id();
- tool->initialize();
- }
m_generalSettings.reset(new GeneralSettings);
new GeneralOptionsPage(m_generalSettings, toolIds, this);
diff --git a/src/plugins/beautifier/clangformat/clangformat.cpp b/src/plugins/beautifier/clangformat/clangformat.cpp
index ee2e9ad770..a6f7f8e198 100644
--- a/src/plugins/beautifier/clangformat/clangformat.cpp
+++ b/src/plugins/beautifier/clangformat/clangformat.cpp
@@ -29,7 +29,6 @@
#include "clangformatconstants.h"
#include "clangformatoptionspage.h"
-#include "clangformatsettings.h"
#include "../beautifierconstants.h"
#include "../beautifierplugin.h"
@@ -58,21 +57,6 @@ namespace Internal {
namespace ClangFormat {
ClangFormat::ClangFormat()
- : m_settings(new ClangFormatSettings)
-{
-}
-
-ClangFormat::~ClangFormat()
-{
- delete m_settings;
-}
-
-QString ClangFormat::id() const
-{
- return QLatin1String(Constants::ClangFormat::DISPLAY_NAME);
-}
-
-bool ClangFormat::initialize()
{
Core::ActionContainer *menu = Core::ActionManager::createMenu(Constants::ClangFormat::MENU_ID);
menu->menu()->setTitle(tr("&ClangFormat"));
@@ -100,17 +84,20 @@ bool ClangFormat::initialize()
Core::ActionManager::actionContainer(Constants::MENU_ID)->addMenu(menu);
- connect(m_settings, &ClangFormatSettings::supportedMimeTypesChanged,
+ connect(&m_settings, &ClangFormatSettings::supportedMimeTypesChanged,
[this] { updateActions(Core::EditorManager::currentEditor()); });
- new ClangFormatOptionsPage(m_settings, this);
+ new ClangFormatOptionsPage(&m_settings, this);
+}
- return true;
+QString ClangFormat::id() const
+{
+ return QLatin1String(Constants::ClangFormat::DISPLAY_NAME);
}
void ClangFormat::updateActions(Core::IEditor *editor)
{
- const bool enabled = editor && m_settings->isApplicable(editor->document());
+ const bool enabled = editor && m_settings.isApplicable(editor->document());
m_formatFile->setEnabled(enabled);
m_formatRange->setEnabled(enabled);
}
@@ -180,14 +167,14 @@ void ClangFormat::disableFormattingSelectedText()
Command ClangFormat::command() const
{
Command command;
- command.setExecutable(m_settings->command());
+ command.setExecutable(m_settings.command());
command.setProcessing(Command::PipeProcessing);
- if (m_settings->usePredefinedStyle()) {
- const QString predefinedStyle = m_settings->predefinedStyle();
+ if (m_settings.usePredefinedStyle()) {
+ const QString predefinedStyle = m_settings.predefinedStyle();
command.addOption("-style=" + predefinedStyle);
if (predefinedStyle == "File") {
- const QString fallbackStyle = m_settings->fallbackStyle();
+ const QString fallbackStyle = m_settings.fallbackStyle();
if (fallbackStyle != "Default")
command.addOption("-fallback-style=" + fallbackStyle);
}
@@ -196,7 +183,7 @@ Command ClangFormat::command() const
} else {
command.addOption("-style=file");
const QString path =
- QFileInfo(m_settings->styleFileName(m_settings->customStyle())).absolutePath();
+ QFileInfo(m_settings.styleFileName(m_settings.customStyle())).absolutePath();
command.addOption("-assume-filename=" + path + QDir::separator() + "%filename");
}
@@ -205,7 +192,7 @@ Command ClangFormat::command() const
bool ClangFormat::isApplicable(const Core::IDocument *document) const
{
- return m_settings->isApplicable(document);
+ return m_settings.isApplicable(document);
}
Command ClangFormat::command(int offset, int length) const
diff --git a/src/plugins/beautifier/clangformat/clangformat.h b/src/plugins/beautifier/clangformat/clangformat.h
index 4d69d2e9e5..ecacd7d8cb 100644
--- a/src/plugins/beautifier/clangformat/clangformat.h
+++ b/src/plugins/beautifier/clangformat/clangformat.h
@@ -27,24 +27,22 @@
#include "../beautifierabstracttool.h"
+#include "clangformatsettings.h"
+
QT_FORWARD_DECLARE_CLASS(QAction)
namespace Beautifier {
namespace Internal {
namespace ClangFormat {
-class ClangFormatSettings;
-
class ClangFormat : public BeautifierAbstractTool
{
Q_OBJECT
public:
ClangFormat();
- ~ClangFormat() override;
QString id() const override;
- bool initialize() override;
void updateActions(Core::IEditor *editor) override;
TextEditor::Command command() const override;
bool isApplicable(const Core::IDocument *document) const override;
@@ -53,11 +51,12 @@ private:
void formatFile();
void formatAtCursor();
void disableFormattingSelectedText();
+ TextEditor::Command command(int offset, int length) const;
+
QAction *m_formatFile = nullptr;
QAction *m_formatRange = nullptr;
QAction *m_disableFormattingSelectedText = nullptr;
- ClangFormatSettings *m_settings;
- TextEditor::Command command(int offset, int length) const;
+ ClangFormatSettings m_settings;
};
} // namespace ClangFormat
diff --git a/src/plugins/beautifier/uncrustify/uncrustify.cpp b/src/plugins/beautifier/uncrustify/uncrustify.cpp
index daeffdf2df..e2d2488224 100644
--- a/src/plugins/beautifier/uncrustify/uncrustify.cpp
+++ b/src/plugins/beautifier/uncrustify/uncrustify.cpp
@@ -29,7 +29,6 @@
#include "uncrustifyconstants.h"
#include "uncrustifyoptionspage.h"
-#include "uncrustifysettings.h"
#include "../beautifierconstants.h"
#include "../beautifierplugin.h"
@@ -58,16 +57,6 @@ namespace Internal {
namespace Uncrustify {
Uncrustify::Uncrustify()
- : m_settings(new UncrustifySettings)
-{
-}
-
-Uncrustify::~Uncrustify()
-{
- delete m_settings;
-}
-
-bool Uncrustify::initialize()
{
Core::ActionContainer *menu = Core::ActionManager::createMenu(Constants::Uncrustify::MENU_ID);
menu->menu()->setTitle(tr("&Uncrustify"));
@@ -87,12 +76,10 @@ bool Uncrustify::initialize()
Core::ActionManager::actionContainer(Constants::MENU_ID)->addMenu(menu);
- connect(m_settings, &UncrustifySettings::supportedMimeTypesChanged,
+ connect(&m_settings, &UncrustifySettings::supportedMimeTypesChanged,
[this] { updateActions(Core::EditorManager::currentEditor()); });
- new UncrustifyOptionsPage(m_settings, this);
-
- return true;
+ new UncrustifyOptionsPage(&m_settings, this);
}
QString Uncrustify::id() const
@@ -102,7 +89,7 @@ QString Uncrustify::id() const
void Uncrustify::updateActions(Core::IEditor *editor)
{
- const bool enabled = editor && m_settings->isApplicable(editor->document());
+ const bool enabled = editor && m_settings.isApplicable(editor->document());
m_formatFile->setEnabled(enabled);
m_formatRange->setEnabled(enabled);
}
@@ -144,17 +131,17 @@ void Uncrustify::formatSelectedText()
tc.movePosition(QTextCursor::EndOfLine);
const int endPos = tc.position();
formatCurrentFile(command(cfgFileName, true), startPos, endPos);
- } else if (m_settings->formatEntireFileFallback()) {
+ } else if (m_settings.formatEntireFileFallback()) {
formatFile();
}
}
QString Uncrustify::configurationFile() const
{
- if (m_settings->useCustomStyle())
- return m_settings->styleFileName(m_settings->customStyle());
+ if (m_settings.useCustomStyle())
+ return m_settings.styleFileName(m_settings.customStyle());
- if (m_settings->useOtherFiles()) {
+ if (m_settings.useOtherFiles()) {
if (const ProjectExplorer::Project *project
= ProjectExplorer::ProjectTree::currentProject()) {
const Utils::FileNameList files = project->files(ProjectExplorer::Project::AllFiles);
@@ -168,13 +155,13 @@ QString Uncrustify::configurationFile() const
}
}
- if (m_settings->useSpecificConfigFile()) {
- const Utils::FileName file = m_settings->specificConfigFile();
+ if (m_settings.useSpecificConfigFile()) {
+ const Utils::FileName file = m_settings.specificConfigFile();
if (file.exists())
return file.toString();
}
- if (m_settings->useHomeFile()) {
+ if (m_settings.useHomeFile()) {
const QString file = QDir::home().filePath("uncrustify.cfg");
if (QFile::exists(file))
return file;
@@ -191,15 +178,15 @@ Command Uncrustify::command() const
bool Uncrustify::isApplicable(const Core::IDocument *document) const
{
- return m_settings->isApplicable(document);
+ return m_settings.isApplicable(document);
}
Command Uncrustify::command(const QString &cfgFile, bool fragment) const
{
Command command;
- command.setExecutable(m_settings->command());
+ command.setExecutable(m_settings.command());
command.setProcessing(Command::PipeProcessing);
- if (m_settings->version() >= 62) {
+ if (m_settings.version() >= 62) {
command.addOption("--assume");
command.addOption("%file");
} else {
diff --git a/src/plugins/beautifier/uncrustify/uncrustify.h b/src/plugins/beautifier/uncrustify/uncrustify.h
index e35434fc81..ece235fb8b 100644
--- a/src/plugins/beautifier/uncrustify/uncrustify.h
+++ b/src/plugins/beautifier/uncrustify/uncrustify.h
@@ -27,22 +27,21 @@
#include "../beautifierabstracttool.h"
+#include "uncrustifysettings.h"
+
QT_FORWARD_DECLARE_CLASS(QAction)
namespace Beautifier {
namespace Internal {
namespace Uncrustify {
-class UncrustifySettings;
-
class Uncrustify : public BeautifierAbstractTool
{
Q_OBJECT
public:
Uncrustify();
- ~Uncrustify() override;
- bool initialize() override;
+
QString id() const override;
void updateActions(Core::IEditor *editor) override;
TextEditor::Command command() const override;
@@ -53,7 +52,7 @@ private:
void formatSelectedText();
QAction *m_formatFile = nullptr;
QAction *m_formatRange = nullptr;
- UncrustifySettings *m_settings;
+ UncrustifySettings m_settings;
QString configurationFile() const;
TextEditor::Command command(const QString &cfgFile, bool fragment = false) const;
};