aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/vcsbase
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-02-04 18:16:57 +0100
committerhjk <hjk@qt.io>2020-02-05 11:41:29 +0000
commitd7ae3b79f89f91f6b15f807b5c894da7e06c3013 (patch)
treeebbd5ded1ddd1fa035e99ebe98b384e676cfebb4 /src/plugins/vcsbase
parentccc2a347a75c3fd06d8f2028a17a3477c40e0a13 (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.cpp15
-rw-r--r--src/plugins/vcsbase/basevcssubmiteditorfactory.h3
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;