diff options
author | hjk <hjk@qt.io> | 2020-02-04 18:16:57 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-02-05 11:41:29 +0000 |
commit | d7ae3b79f89f91f6b15f807b5c894da7e06c3013 (patch) | |
tree | ebbd5ded1ddd1fa035e99ebe98b384e676cfebb4 /src/plugins/vcsbase | |
parent | ccc2a347a75c3fd06d8f2028a17a3477c40e0a13 (diff) |
Core: Make IEditorFactory::createEditor use a function object
Also, replace or remove unneeded Q_OBJECTs, and make base
setters and adders protected.
Change-Id: I212257ef53984d8852dc8c478537199fc9483486
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/vcsbase')
-rw-r--r-- | src/plugins/vcsbase/basevcssubmiteditorfactory.cpp | 15 | ||||
-rw-r--r-- | src/plugins/vcsbase/basevcssubmiteditorfactory.h | 3 |
2 files changed, 7 insertions, 11 deletions
diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp index e366d8e56a..f278b8a0eb 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp @@ -44,12 +44,18 @@ VcsSubmitEditorFactory::VcsSubmitEditorFactory (const VcsBaseSubmitEditorParameters *parameters, const EditorCreator &editorCreator, VcsBasePluginPrivate *plugin) - : IEditorFactory(plugin), m_editorCreator(editorCreator) + : IEditorFactory(plugin) { setId(parameters->id); setDisplayName(QLatin1String(parameters->displayName)); addMimeType(parameters->mimeType); + setEditorCreator([this, editorCreator] { + VcsBaseSubmitEditor *editor = editorCreator(); + 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); @@ -68,11 +74,4 @@ VcsSubmitEditorFactory::VcsSubmitEditorFactory ActionManager::registerAction(m_diffAction, DIFF_SELECTED, context); } -Core::IEditor *VcsSubmitEditorFactory::createEditor() -{ - VcsBaseSubmitEditor *editor = m_editorCreator(); - editor->registerActions(m_undoAction, m_redoAction, m_submitAction, m_diffAction); - return editor; -} - } // namespace VcsBase diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.h b/src/plugins/vcsbase/basevcssubmiteditorfactory.h index 5cb7e84bcb..da648eeb17 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.h +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.h @@ -51,10 +51,7 @@ public: const EditorCreator &editorCreator, VcsBasePluginPrivate *plugin); - Core::IEditor *createEditor() override; - private: - EditorCreator m_editorCreator; QAction *m_submitAction = nullptr; QAction *m_diffAction = nullptr; QAction *m_undoAction = nullptr; |