forked from qt-creator/qt-creator
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:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ¶meters)
|
||||
{
|
||||
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 ¶meters)
|
||||
{
|
||||
auto factory = new VcsSubmitEditorFactory(versionControl, parameters);
|
||||
QObject::connect(versionControl, &QObject::destroyed, [factory] { delete factory; });
|
||||
}
|
||||
|
||||
} // namespace VcsBase
|
||||
@@ -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 ¶meters);
|
||||
|
||||
} // namespace VcsBase
|
||||
@@ -23,8 +23,6 @@ QtcPlugin {
|
||||
"baseannotationhighlighter.h",
|
||||
"basevcseditorfactory.cpp",
|
||||
"basevcseditorfactory.h",
|
||||
"basevcssubmiteditorfactory.cpp",
|
||||
"basevcssubmiteditorfactory.h",
|
||||
"cleandialog.cpp",
|
||||
"cleandialog.h",
|
||||
"commonvcssettings.cpp",
|
||||
|
||||
@@ -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 ¶meters)
|
||||
{
|
||||
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 ¶meters)
|
||||
{
|
||||
auto factory = new VcsSubmitEditorFactory(versionControl, parameters);
|
||||
QObject::connect(versionControl, &QObject::destroyed, [factory] { delete factory; });
|
||||
}
|
||||
|
||||
} // namespace VcsBase
|
||||
|
||||
@@ -127,4 +127,8 @@ private:
|
||||
friend class Internal::SubmitEditorFile; // for the file contents
|
||||
};
|
||||
|
||||
VCSBASE_EXPORT void setupVcsSubmitEditor(
|
||||
VersionControlBase *versionControl,
|
||||
const VcsBaseSubmitEditorParameters ¶meters);
|
||||
|
||||
} // namespace VcsBase
|
||||
|
||||
Reference in New Issue
Block a user