Vcs: Merge basevcssubmiteditorfactory.* into vcsbasesubmiteditor.*

Not worth a separate translation unit anymore.

Change-Id: I579c81c811cd84d89fd39755dca2fbeffae017de
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2024-02-07 08:36:03 +01:00
parent 7da257e6c2
commit a39d38d187
14 changed files with 74 additions and 113 deletions

View File

@@ -31,7 +31,6 @@
#include <utils/layoutbuilder.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseclient.h>
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>

View File

@@ -40,7 +40,6 @@
#include <utils/temporarydirectory.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsoutputwindow.h>
#include <vcsbase/vcsbasesubmiteditor.h>

View File

@@ -8,7 +8,6 @@
#include "cvsutils.h"
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseclient.h>
#include <vcsbase/vcsbaseclientsettings.h>
#include <vcsbase/vcsbaseconstants.h>

View File

@@ -34,7 +34,6 @@
#include <utils/qtcassert.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseclient.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseplugin.h>

View File

@@ -53,7 +53,6 @@
#include <utils/utilsicons.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/cleandialog.h>
#include <vcsbase/submitfilemodel.h>
#include <vcsbase/vcsbaseconstants.h>

View File

@@ -29,7 +29,6 @@
#include <utils/qtcassert.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcscommand.h>

View File

@@ -34,7 +34,6 @@
#include <utils/temporarydirectory.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseeditorconfig.h>
#include <vcsbase/vcsbaseeditor.h>

View File

@@ -34,7 +34,6 @@
#include <utils/stringutils.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseconstants.h>
#include <vcsbase/vcsbaseplugin.h>

View File

@@ -5,7 +5,6 @@ add_qtc_plugin(VcsBase
SOURCES
baseannotationhighlighter.cpp baseannotationhighlighter.h
basevcseditorfactory.cpp basevcseditorfactory.h
basevcssubmiteditorfactory.cpp basevcssubmiteditorfactory.h
cleandialog.cpp cleandialog.h
commonvcssettings.cpp commonvcssettings.h
diffandloghighlighter.cpp diffandloghighlighter.h

View File

@@ -1,78 +0,0 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "basevcssubmiteditorfactory.h"
#include "vcsbaseplugin.h"
#include "vcsbasetr.h"
#include "vcsbasesubmiteditor.h"
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/ieditorfactory.h>
#include <utils/qtcassert.h>
using namespace Core;
namespace VcsBase {
const char SUBMIT[] = "Vcs.Submit";
const char DIFF_SELECTED[] = "Vcs.DiffSelectedFiles";
class VcsSubmitEditorFactory final : public IEditorFactory
{
public:
VcsSubmitEditorFactory(VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters)
{
QAction *submitAction = nullptr;
QAction *diffAction = nullptr;
QAction *undoAction = nullptr;
QAction *redoAction = nullptr;
const Context context(parameters.id);
ActionBuilder(versionControl, Core::Constants::UNDO)
.setText(Tr::tr("&Undo"))
.setContext(context)
.bindContextAction(&undoAction);
ActionBuilder(versionControl, Core::Constants::REDO)
.setText(Tr::tr("&Redo"))
.setContext(context)
.bindContextAction(&redoAction);
ActionBuilder(versionControl, SUBMIT)
.setText(versionControl->commitDisplayName())
.setIcon(VcsBaseSubmitEditor::submitIcon())
.setContext(context)
.bindContextAction(&submitAction)
.setCommandAttribute(Command::CA_UpdateText)
.addOnTriggered(versionControl, &VersionControlBase::commitFromEditor);
ActionBuilder(versionControl, DIFF_SELECTED)
.setText(Tr::tr("Diff &Selected Files"))
.setIcon(VcsBaseSubmitEditor::diffIcon())
.setContext(context)
.bindContextAction(&diffAction);
setId(parameters.id);
setDisplayName(QLatin1String(parameters.displayName));
addMimeType(QLatin1String(parameters.mimeType));
setEditorCreator([parameters, submitAction, diffAction, undoAction, redoAction] {
VcsBaseSubmitEditor *editor = parameters.editorCreator();
editor->setParameters(parameters);
editor->registerActions(undoAction, redoAction, submitAction, diffAction);
return editor;
});
}
};
void setupVcsSubmitEditor(VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters)
{
auto factory = new VcsSubmitEditorFactory(versionControl, parameters);
QObject::connect(versionControl, &QObject::destroyed, [factory] { delete factory; });
}
} // namespace VcsBase

View File

@@ -1,17 +0,0 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "vcsbase_global.h"
namespace VcsBase {
class VcsBaseSubmitEditorParameters;
class VersionControlBase;
VCSBASE_EXPORT void setupVcsSubmitEditor(
VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters);
} // namespace VcsBase

View File

@@ -23,8 +23,6 @@ QtcPlugin {
"baseannotationhighlighter.h",
"basevcseditorfactory.cpp",
"basevcseditorfactory.h",
"basevcssubmiteditorfactory.cpp",
"basevcssubmiteditorfactory.h",
"cleandialog.cpp",
"cleandialog.h",
"commonvcssettings.cpp",

View File

@@ -16,13 +16,21 @@
#include <aggregation/aggregate.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditorfactory.h>
#include <coreplugin/find/basetextfind.h>
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <extensionsystem/invoker.h>
#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectmanager.h>
#include <texteditor/fontsettings.h>
#include <texteditor/texteditorsettings.h>
#include <utils/algorithm.h>
#include <utils/checkablemessagebox.h>
#include <utils/completingtextedit.h>
@@ -33,12 +41,6 @@
#include <utils/temporarydirectory.h>
#include <utils/theme/theme.h>
#include <texteditor/fontsettings.h>
#include <texteditor/texteditorsettings.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectmanager.h>
#include <QAction>
#include <QApplication>
#include <QCompleter>
@@ -598,4 +600,65 @@ void VcsBaseSubmitEditor::filterUntrackedFilesOfProject(const FilePath &reposito
}
}
// Factories
const char SUBMIT[] = "Vcs.Submit";
const char DIFF_SELECTED[] = "Vcs.DiffSelectedFiles";
class VcsSubmitEditorFactory final : public IEditorFactory
{
public:
VcsSubmitEditorFactory(VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters)
{
QAction *submitAction = nullptr;
QAction *diffAction = nullptr;
QAction *undoAction = nullptr;
QAction *redoAction = nullptr;
const Context context(parameters.id);
ActionBuilder(versionControl, Core::Constants::UNDO)
.setText(Tr::tr("&Undo"))
.setContext(context)
.bindContextAction(&undoAction);
ActionBuilder(versionControl, Core::Constants::REDO)
.setText(Tr::tr("&Redo"))
.setContext(context)
.bindContextAction(&redoAction);
ActionBuilder(versionControl, SUBMIT)
.setText(versionControl->commitDisplayName())
.setIcon(VcsBaseSubmitEditor::submitIcon())
.setContext(context)
.bindContextAction(&submitAction)
.setCommandAttribute(Command::CA_UpdateText)
.addOnTriggered(versionControl, &VersionControlBase::commitFromEditor);
ActionBuilder(versionControl, DIFF_SELECTED)
.setText(Tr::tr("Diff &Selected Files"))
.setIcon(VcsBaseSubmitEditor::diffIcon())
.setContext(context)
.bindContextAction(&diffAction);
setId(parameters.id);
setDisplayName(QLatin1String(parameters.displayName));
addMimeType(QLatin1String(parameters.mimeType));
setEditorCreator([parameters, submitAction, diffAction, undoAction, redoAction] {
VcsBaseSubmitEditor *editor = parameters.editorCreator();
editor->setParameters(parameters);
editor->registerActions(undoAction, redoAction, submitAction, diffAction);
return editor;
});
}
};
void setupVcsSubmitEditor(VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters)
{
auto factory = new VcsSubmitEditorFactory(versionControl, parameters);
QObject::connect(versionControl, &QObject::destroyed, [factory] { delete factory; });
}
} // namespace VcsBase

View File

@@ -127,4 +127,8 @@ private:
friend class Internal::SubmitEditorFile; // for the file contents
};
VCSBASE_EXPORT void setupVcsSubmitEditor(
VersionControlBase *versionControl,
const VcsBaseSubmitEditorParameters &parameters);
} // namespace VcsBase