vcsbase: refactor status parsing in VCSBaseClient

This impacts Bazaar and Mercurial plugins

Change-Id: Ife1e83083b268e597928fbae30378e488e31ee96
Merge-request: 358
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/3335
This commit is contained in:
cerf
2011-08-22 15:33:03 +00:00
committed by Tobias Hunger
parent 96819ddb7a
commit 3907824b4d
14 changed files with 82 additions and 63 deletions

View File

@@ -67,6 +67,14 @@ class VCSBASE_EXPORT VCSBaseClient : public QObject
{
Q_OBJECT
public:
struct VCSBASE_EXPORT StatusItem
{
StatusItem();
StatusItem(const QString &s, const QString &f);
QString flags;
QString file;
};
explicit VCSBaseClient(VCSBaseClientSettings *settings);
~VCSBaseClient();
virtual bool synchronousCreateRepository(const QString &workingDir);
@@ -107,7 +115,7 @@ public:
virtual VCSBaseClientSettings *settings() const;
signals:
void parsedStatus(const QList<QPair<QString, QString> > &statusList);
void parsedStatus(const QList<VCSBase::VCSBaseClient::StatusItem> &statusList);
// Passes on changed signals from VCSJob to Control
void changed(const QVariant &v);
@@ -166,7 +174,7 @@ protected:
virtual QStringList statusArguments(const QString &file) const = 0;
virtual QStringList viewArguments(const QString &revision) const = 0;
virtual QPair<QString, QString> parseStatusLine(const QString &line) const = 0;
virtual StatusItem parseStatusLine(const QString &line) const = 0;
QString vcsEditorTitle(const QString &vcsCmd, const QString &sourceId) const;
void enqueueJob(const QSharedPointer<VCSJob> &);