Vcs: Remove some indirection in BaseVcsSubmitEditorFactory

Change-Id: I6ddc818412c9104a06495e2dd8f245de1132e7c2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2020-02-11 17:54:18 +01:00
parent 7cba257299
commit 1e3b7475f6
2 changed files with 22 additions and 20 deletions

View File

@@ -31,8 +31,6 @@
#include <coreplugin/actionmanager/actionmanager.h>
#include <utils/qtcassert.h>
#include <QAction>
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);
command->setAttribute(Command::CA_UpdateText);
connect(m_submitAction, &QAction::triggered, plugin, &VcsBasePluginPrivate::commitFromEditor);
m_submitAction.setIcon(VcsBaseSubmitEditor::submitIcon());
m_submitAction.setText(plugin->commitDisplayName());
m_diffAction = new QAction(VcsBaseSubmitEditor::diffIcon(), tr("Diff &Selected Files"), this);
ActionManager::registerAction(m_diffAction, DIFF_SELECTED, context);
Command *command = ActionManager::registerAction(&m_submitAction, SUBMIT, context);
command->setAttribute(Command::CA_UpdateText);
QObject::connect(&m_submitAction, &QAction::triggered, plugin, &VcsBasePluginPrivate::commitFromEditor);
m_diffAction.setIcon(VcsBaseSubmitEditor::diffIcon());
m_diffAction.setText(tr("Diff &Selected Files"));
ActionManager::registerAction(&m_diffAction, DIFF_SELECTED, context);
}
} // namespace VcsBase