From 1e3b7475f6818a5a3f9dc594319d8826200e0f1f Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 11 Feb 2020 17:54:18 +0100 Subject: Vcs: Remove some indirection in BaseVcsSubmitEditorFactory Change-Id: I6ddc818412c9104a06495e2dd8f245de1132e7c2 Reviewed-by: Orgad Shaneh --- src/plugins/vcsbase/basevcssubmiteditorfactory.cpp | 26 +++++++++++----------- src/plugins/vcsbase/basevcssubmiteditorfactory.h | 14 +++++++----- 2 files changed, 21 insertions(+), 19 deletions(-) (limited to 'src/plugins/vcsbase') diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp index 704b43d2f5..b285f6453d 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp @@ -31,8 +31,6 @@ #include #include -#include - using namespace Core; namespace VcsBase { @@ -52,26 +50,28 @@ VcsSubmitEditorFactory::VcsSubmitEditorFactory setEditorCreator([this, editorCreator, parameters] { VcsBaseSubmitEditor *editor = editorCreator(); editor->setParameters(parameters); - editor->registerActions(m_undoAction, m_redoAction, m_submitAction, m_diffAction); + editor->registerActions(&m_undoAction, &m_redoAction, &m_submitAction, &m_diffAction); return editor; }); Context context(parameters.id); - m_undoAction = new QAction(tr("&Undo"), this); - ActionManager::registerAction(m_undoAction, Core::Constants::UNDO, context); + m_undoAction.setText(tr("&Undo")); + ActionManager::registerAction(&m_undoAction, Core::Constants::UNDO, context); - m_redoAction = new QAction(tr("&Redo"), this); - ActionManager::registerAction(m_redoAction, Core::Constants::REDO, context); + m_redoAction.setText(tr("&Redo")); + ActionManager::registerAction(&m_redoAction, Core::Constants::REDO, context); QTC_ASSERT(plugin, return); - m_submitAction = new QAction(VcsBaseSubmitEditor::submitIcon(), - plugin->commitDisplayName(), this); - Command *command = ActionManager::registerAction(m_submitAction, SUBMIT, context); + m_submitAction.setIcon(VcsBaseSubmitEditor::submitIcon()); + m_submitAction.setText(plugin->commitDisplayName()); + + Command *command = ActionManager::registerAction(&m_submitAction, SUBMIT, context); command->setAttribute(Command::CA_UpdateText); - connect(m_submitAction, &QAction::triggered, plugin, &VcsBasePluginPrivate::commitFromEditor); + QObject::connect(&m_submitAction, &QAction::triggered, plugin, &VcsBasePluginPrivate::commitFromEditor); - m_diffAction = new QAction(VcsBaseSubmitEditor::diffIcon(), tr("Diff &Selected Files"), this); - ActionManager::registerAction(m_diffAction, DIFF_SELECTED, context); + m_diffAction.setIcon(VcsBaseSubmitEditor::diffIcon()); + m_diffAction.setText(tr("Diff &Selected Files")); + ActionManager::registerAction(&m_diffAction, DIFF_SELECTED, context); } } // namespace VcsBase diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.h b/src/plugins/vcsbase/basevcssubmiteditorfactory.h index 133d9fd0ff..f71d61bbbb 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.h +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.h @@ -30,7 +30,8 @@ #include #include -QT_FORWARD_DECLARE_CLASS(QAction); +#include +#include namespace VcsBase { @@ -40,9 +41,10 @@ class VcsBasePluginPrivate; // Parametrizable base class for editor factories creating instances of // VcsBaseSubmitEditor subclasses. + class VCSBASE_EXPORT VcsSubmitEditorFactory : public Core::IEditorFactory { - Q_OBJECT + Q_DECLARE_TR_FUNCTIONS(VcsBase::VcsSubmitEditorFactory) public: typedef std::function EditorCreator; @@ -52,10 +54,10 @@ public: VcsBasePluginPrivate *plugin); private: - QAction *m_submitAction = nullptr; - QAction *m_diffAction = nullptr; - QAction *m_undoAction = nullptr; - QAction *m_redoAction = nullptr; + QAction m_submitAction; + QAction m_diffAction; + QAction m_undoAction; + QAction m_redoAction; }; } // namespace VcsBase -- cgit v1.2.3