Vcs: De-pimpl VcsBaseClient

Not necessary in this case anyway, and a step towards merging
client and pluginbase hierarchies.

Change-Id: I2240afe14019b764c5bfe4dcccfb4db69bf45ad9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2020-01-31 17:28:43 +01:00
parent b1f5b18ac5
commit 61837aae0a
2 changed files with 10 additions and 35 deletions

View File

@@ -252,42 +252,16 @@ void VcsBaseClientImpl::saveSettings()
settings().writeSettings(Core::ICore::settings());
}
class VcsBaseClientPrivate
{
public:
VcsBaseEditorConfig *createDiffEditor(VcsBaseEditorWidget *editor);
VcsBaseEditorConfig *createLogEditor(VcsBaseEditorWidget *editor);
VcsBaseClient::ConfigCreator m_diffConfigCreator;
VcsBaseClient::ConfigCreator m_logConfigCreator;
};
VcsBaseEditorConfig *VcsBaseClientPrivate::createDiffEditor(VcsBaseEditorWidget *editor)
{
return m_diffConfigCreator ? m_diffConfigCreator(editor->toolBar()) : 0;
}
VcsBaseEditorConfig *VcsBaseClientPrivate::createLogEditor(VcsBaseEditorWidget *editor)
{
return m_logConfigCreator ? m_logConfigCreator(editor->toolBar()) : 0;
}
VcsBaseClient::StatusItem::StatusItem(const QString &s, const QString &f) :
flags(s), file(f)
{ }
VcsBaseClient::VcsBaseClient(VcsBaseClientSettings *settings) :
VcsBaseClientImpl(settings),
d(new VcsBaseClientPrivate)
VcsBaseClientImpl(settings)
{
qRegisterMetaType<QVariant>();
}
VcsBaseClient::~VcsBaseClient()
{
delete d;
}
bool VcsBaseClient::synchronousCreateRepository(const QString &workingDirectory,
const QStringList &extraOptions)
{
@@ -412,7 +386,8 @@ void VcsBaseClient::diff(const QString &workingDir, const QStringList &files,
VcsBaseEditorConfig *paramWidget = editor->editorConfig();
if (!paramWidget) {
paramWidget = d->createDiffEditor(editor);
if (m_diffConfigCreator)
paramWidget = m_diffConfigCreator(editor->toolBar());
if (paramWidget) {
paramWidget->setBaseArguments(extraOptions);
// editor has been just created, createVcsEditor() didn't set a configuration widget yet
@@ -453,7 +428,8 @@ void VcsBaseClient::log(const QString &workingDir, const QStringList &files,
VcsBaseEditorConfig *paramWidget = editor->editorConfig();
if (!paramWidget) {
paramWidget = d->createLogEditor(editor);
if (m_logConfigCreator)
paramWidget = m_logConfigCreator(editor->toolBar());
if (paramWidget) {
paramWidget->setBaseArguments(extraOptions);
// editor has been just created, createVcsEditor() didn't set a configuration widget yet
@@ -550,12 +526,12 @@ ExitCodeInterpreter VcsBaseClient::exitCodeInterpreter(VcsCommandTag cmd) const
void VcsBaseClient::setDiffConfigCreator(ConfigCreator creator)
{
d->m_diffConfigCreator = std::move(creator);
m_diffConfigCreator = std::move(creator);
}
void VcsBaseClient::setLogConfigCreator(ConfigCreator creator)
{
d->m_logConfigCreator = std::move(creator);
m_logConfigCreator = std::move(creator);
}
void VcsBaseClient::import(const QString &repositoryRoot, const QStringList &files,

View File

@@ -51,7 +51,6 @@ class VcsBaseEditorWidget;
class VcsBaseClientSettings;
class VcsJob;
class VcsBaseClientImplPrivate;
class VcsBaseClientPrivate;
class VcsBaseEditorConfig;
class VCSBASE_EXPORT VcsBaseClientImpl : public QObject
@@ -147,7 +146,7 @@ public:
};
explicit VcsBaseClient(VcsBaseClientSettings *settings);
~VcsBaseClient() override;
virtual bool synchronousCreateRepository(const QString &workingDir,
const QStringList &extraOptions = QStringList());
virtual bool synchronousClone(const QString &workingDir,
@@ -239,8 +238,8 @@ protected:
private:
void statusParser(const QString&);
friend class VcsBaseClientPrivate;
VcsBaseClientPrivate *d;
VcsBaseClient::ConfigCreator m_diffConfigCreator;
VcsBaseClient::ConfigCreator m_logConfigCreator;
};
} //namespace VcsBase