From a8fc5e2134ef4655e9ea5ce884374f68b3213c48 Mon Sep 17 00:00:00 2001 From: cerf <delorme.hugues@gmail.com> Date: Mon, 22 Aug 2011 15:33:03 +0000 Subject: [PATCH] vcsbase: refactor status output signal in VCSBaseClient There is now a clear distinction between the basic status command and the status command used to emit parsed output Change-Id: Ie398a866ffcd8f4cc33b864ddbe23ce9d2e97437 Merge-request: 358 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> Reviewed-on: http://codereview.qt.nokia.com/3337 --- src/plugins/bazaar/bazaarclient.cpp | 1 - src/plugins/bazaar/bazaarplugin.cpp | 3 ++- src/plugins/mercurial/mercurialplugin.cpp | 2 +- src/plugins/vcsbase/vcsbaseclient.cpp | 6 +++--- src/plugins/vcsbase/vcsbaseclient.h | 3 ++- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/plugins/bazaar/bazaarclient.cpp b/src/plugins/bazaar/bazaarclient.cpp index 50c3a0497a1..7635e7331fb 100644 --- a/src/plugins/bazaar/bazaarclient.cpp +++ b/src/plugins/bazaar/bazaarclient.cpp @@ -220,7 +220,6 @@ QStringList BazaarClient::logArguments(const QStringList &files, QStringList BazaarClient::statusArguments(const QString &file) const { QStringList args; - args.append(QLatin1String("--short")); if (!file.isEmpty()) args.append(file); return args; diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp index 2b3e6b3b7c9..5c5932ab7bc 100644 --- a/src/plugins/bazaar/bazaarplugin.cpp +++ b/src/plugins/bazaar/bazaarplugin.cpp @@ -543,7 +543,8 @@ void BazaarPlugin::commit() connect(m_client, SIGNAL(parsedStatus(QList<VCSBase::VCSBaseClient::StatusItem>)), this, SLOT(showCommitWidget(QList<VCSBase::VCSBaseClient::StatusItem>))); - m_client->statusWithSignal(m_submitRepository); + // The "--short" option allows to easily parse status output + m_client->emitParsedStatus(m_submitRepository, QStringList(QLatin1String("--short"))); } void BazaarPlugin::showCommitWidget(const QList<VCSBase::VCSBaseClient::StatusItem> &status) diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index 48c6d1fa39c..dfac2ec4fb1 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -568,7 +568,7 @@ void MercurialPlugin::commit() connect(m_client, SIGNAL(parsedStatus(QList<VCSBase::VCSBaseClient::StatusItem>)), this, SLOT(showCommitWidget(QList<VCSBase::VCSBaseClient::StatusItem>))); - m_client->statusWithSignal(m_submitRepository); + m_client->emitParsedStatus(m_submitRepository); } void MercurialPlugin::showCommitWidget(const QList<VCSBase::VCSBaseClient::StatusItem> &status) diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 7c4d206dd91..324dca2023a 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -396,11 +396,11 @@ void VCSBaseClient::status(const QString &workingDir, const QString &file) enqueueJob(job); } -void VCSBaseClient::statusWithSignal(const QString &repositoryRoot) +void VCSBaseClient::emitParsedStatus(const QString &repository, const QStringList &extraOptions) { QStringList args(vcsCommandString(StatusCommand)); - args << statusArguments(QString()); - QSharedPointer<VCSJob> job(new VCSJob(repositoryRoot, args, VCSJob::RawDataEmitMode)); + args << extraOptions; + QSharedPointer<VCSJob> job(new VCSJob(repository, args, VCSJob::RawDataEmitMode)); connect(job.data(), SIGNAL(rawData(QByteArray)), this, SLOT(statusParser(QByteArray))); enqueueJob(job); } diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h index 599d73223ab..29579a7aaf5 100644 --- a/src/plugins/vcsbase/vcsbaseclient.h +++ b/src/plugins/vcsbase/vcsbaseclient.h @@ -100,7 +100,8 @@ public: const QStringList &extraOptions = QStringList(), bool enableAnnotationContextMenu = false); void status(const QString &workingDir, const QString &file = QString()); - void statusWithSignal(const QString &repository); + virtual void emitParsedStatus(const QString &repository, + const QStringList &extraOptions = QStringList()); void revertFile(const QString &workingDir, const QString &file, const QString &revision = QString()); void revertAll(const QString &workingDir, const QString &revision = QString()); void import(const QString &repositoryRoot, const QStringList &files); -- GitLab