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()); 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) : VcsBaseClient::StatusItem::StatusItem(const QString &s, const QString &f) :
flags(s), file(f) flags(s), file(f)
{ } { }
VcsBaseClient::VcsBaseClient(VcsBaseClientSettings *settings) : VcsBaseClient::VcsBaseClient(VcsBaseClientSettings *settings) :
VcsBaseClientImpl(settings), VcsBaseClientImpl(settings)
d(new VcsBaseClientPrivate)
{ {
qRegisterMetaType<QVariant>(); qRegisterMetaType<QVariant>();
} }
VcsBaseClient::~VcsBaseClient()
{
delete d;
}
bool VcsBaseClient::synchronousCreateRepository(const QString &workingDirectory, bool VcsBaseClient::synchronousCreateRepository(const QString &workingDirectory,
const QStringList &extraOptions) const QStringList &extraOptions)
{ {
@@ -412,7 +386,8 @@ void VcsBaseClient::diff(const QString &workingDir, const QStringList &files,
VcsBaseEditorConfig *paramWidget = editor->editorConfig(); VcsBaseEditorConfig *paramWidget = editor->editorConfig();
if (!paramWidget) { if (!paramWidget) {
paramWidget = d->createDiffEditor(editor); if (m_diffConfigCreator)
paramWidget = m_diffConfigCreator(editor->toolBar());
if (paramWidget) { if (paramWidget) {
paramWidget->setBaseArguments(extraOptions); paramWidget->setBaseArguments(extraOptions);
// editor has been just created, createVcsEditor() didn't set a configuration widget yet // 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(); VcsBaseEditorConfig *paramWidget = editor->editorConfig();
if (!paramWidget) { if (!paramWidget) {
paramWidget = d->createLogEditor(editor); if (m_logConfigCreator)
paramWidget = m_logConfigCreator(editor->toolBar());
if (paramWidget) { if (paramWidget) {
paramWidget->setBaseArguments(extraOptions); paramWidget->setBaseArguments(extraOptions);
// editor has been just created, createVcsEditor() didn't set a configuration widget yet // 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) void VcsBaseClient::setDiffConfigCreator(ConfigCreator creator)
{ {
d->m_diffConfigCreator = std::move(creator); m_diffConfigCreator = std::move(creator);
} }
void VcsBaseClient::setLogConfigCreator(ConfigCreator 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, void VcsBaseClient::import(const QString &repositoryRoot, const QStringList &files,

View File

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