aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/macros/macrosplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/macros/macrosplugin.cpp')
-rw-r--r--src/plugins/macros/macrosplugin.cpp114
1 files changed, 62 insertions, 52 deletions
diff --git a/src/plugins/macros/macrosplugin.cpp b/src/plugins/macros/macrosplugin.cpp
index c87686fea3c..947c5151d3d 100644
--- a/src/plugins/macros/macrosplugin.cpp
+++ b/src/plugins/macros/macrosplugin.cpp
@@ -1,16 +1,12 @@
// Copyright (C) 2016 Nicolas Arnaud-Cormos
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-#include "macrosplugin.h"
-
#include "macrolocatorfilter.h"
#include "macromanager.h"
#include "macrooptionspage.h"
#include "macrosconstants.h"
#include "macrostr.h"
-#include <texteditor/texteditorconstants.h>
-
#include <coreplugin/coreconstants.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/actioncontainer.h>
@@ -18,14 +14,17 @@
#include <coreplugin/icore.h>
#include <coreplugin/icontext.h>
+#include <extensionsystem/iplugin.h>
+
+#include <texteditor/texteditorconstants.h>
+
#include <QAction>
#include <QKeySequence>
#include <QMenu>
-namespace Macros {
-namespace Internal {
+namespace Macros::Internal {
-class MacrosPluginPrivate
+class MacrosPluginPrivate final
{
public:
MacroManager macroManager;
@@ -33,50 +32,61 @@ public:
MacroLocatorFilter locatorFilter;
};
-MacrosPlugin::~MacrosPlugin()
+class MacrosPlugin final : public ExtensionSystem::IPlugin
{
- delete d;
-}
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Macros.json")
-void MacrosPlugin::initialize()
-{
- d = new MacrosPluginPrivate;
-
- Core::Context textContext(TextEditor::Constants::C_TEXTEDITOR);
-
- // Menus
- Core::ActionContainer *mtools = Core::ActionManager::actionContainer(Core::Constants::M_TOOLS);
- Core::ActionContainer *mmacrotools = Core::ActionManager::createMenu(Constants::M_TOOLS_MACRO);
- QMenu *menu = mmacrotools->menu();
- menu->setTitle(Tr::tr("Text Editing &Macros"));
- menu->setEnabled(true);
- mtools->addMenu(mmacrotools);
-
- QAction *startMacro = new QAction(Tr::tr("Record Macro"), this);
- Core::Command *command = Core::ActionManager::registerAction(startMacro, Constants::START_MACRO, textContext);
- command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Ctrl+[") : Tr::tr("Alt+[")));
- mmacrotools->addAction(command);
- connect(startMacro, &QAction::triggered, &d->macroManager, &MacroManager::startMacro);
-
- QAction *endMacro = new QAction(Tr::tr("Stop Recording Macro"), this);
- endMacro->setEnabled(false);
- command = Core::ActionManager::registerAction(endMacro, Constants::END_MACRO);
- command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Ctrl+]") : Tr::tr("Alt+]")));
- mmacrotools->addAction(command);
- connect(endMacro, &QAction::triggered, &d->macroManager, &MacroManager::endMacro);
-
- QAction *executeLastMacro = new QAction(Tr::tr("Play Last Macro"), this);
- command = Core::ActionManager::registerAction(executeLastMacro, Constants::EXECUTE_LAST_MACRO, textContext);
- command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Meta+R") : Tr::tr("Alt+R")));
- mmacrotools->addAction(command);
- connect(executeLastMacro, &QAction::triggered, &d->macroManager, &MacroManager::executeLastMacro);
-
- QAction *saveLastMacro = new QAction(Tr::tr("Save Last Macro"), this);
- saveLastMacro->setEnabled(false);
- command = Core::ActionManager::registerAction(saveLastMacro, Constants::SAVE_LAST_MACRO, textContext);
- mmacrotools->addAction(command);
- connect(saveLastMacro, &QAction::triggered, &d->macroManager, &MacroManager::saveLastMacro);
-}
-
-} // Internal
-} // Macros
+public:
+ ~MacrosPlugin() final
+ {
+ delete d;
+ }
+
+ void initialize() final
+ {
+ d = new MacrosPluginPrivate;
+
+ Core::Context textContext(TextEditor::Constants::C_TEXTEDITOR);
+
+ // Menus
+ Core::ActionContainer *mtools = Core::ActionManager::actionContainer(Core::Constants::M_TOOLS);
+ Core::ActionContainer *mmacrotools = Core::ActionManager::createMenu(Constants::M_TOOLS_MACRO);
+ QMenu *menu = mmacrotools->menu();
+ menu->setTitle(Tr::tr("Text Editing &Macros"));
+ menu->setEnabled(true);
+ mtools->addMenu(mmacrotools);
+
+ QAction *startMacro = new QAction(Tr::tr("Record Macro"), this);
+ Core::Command *command = Core::ActionManager::registerAction(startMacro, Constants::START_MACRO, textContext);
+ command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Ctrl+[") : Tr::tr("Alt+[")));
+ mmacrotools->addAction(command);
+ connect(startMacro, &QAction::triggered, &d->macroManager, &MacroManager::startMacro);
+
+ QAction *endMacro = new QAction(Tr::tr("Stop Recording Macro"), this);
+ endMacro->setEnabled(false);
+ command = Core::ActionManager::registerAction(endMacro, Constants::END_MACRO);
+ command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Ctrl+]") : Tr::tr("Alt+]")));
+ mmacrotools->addAction(command);
+ connect(endMacro, &QAction::triggered, &d->macroManager, &MacroManager::endMacro);
+
+ QAction *executeLastMacro = new QAction(Tr::tr("Play Last Macro"), this);
+ command = Core::ActionManager::registerAction(executeLastMacro, Constants::EXECUTE_LAST_MACRO, textContext);
+ command->setDefaultKeySequence(QKeySequence(Core::useMacShortcuts ? Tr::tr("Meta+R") : Tr::tr("Alt+R")));
+ mmacrotools->addAction(command);
+ connect(executeLastMacro, &QAction::triggered, &d->macroManager, &MacroManager::executeLastMacro);
+
+ QAction *saveLastMacro = new QAction(Tr::tr("Save Last Macro"), this);
+ saveLastMacro->setEnabled(false);
+ command = Core::ActionManager::registerAction(saveLastMacro, Constants::SAVE_LAST_MACRO, textContext);
+ mmacrotools->addAction(command);
+ connect(saveLastMacro, &QAction::triggered, &d->macroManager, &MacroManager::saveLastMacro);
+ }
+
+private:
+ MacrosPluginPrivate *d = nullptr;
+};
+
+} // Macros::Internal
+
+#include "macrosplugin.moc"