forked from qt-creator/qt-creator
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:
@@ -102,17 +102,17 @@ VCSBaseClientPrivate::VCSBaseClientPrivate(VCSBaseClient *client, VCSBaseClientS
|
||||
|
||||
void VCSBaseClientPrivate::statusParser(QByteArray data)
|
||||
{
|
||||
QList<QPair<QString, QString> > statusList;
|
||||
QList<VCSBaseClient::StatusItem> lineInfoList;
|
||||
|
||||
QStringList rawStatusList = QTextCodec::codecForLocale()->toUnicode(data).split(QLatin1Char('\n'));
|
||||
|
||||
foreach (const QString &string, rawStatusList) {
|
||||
QPair<QString, QString> status = m_client->parseStatusLine(string);
|
||||
if (!status.first.isEmpty() && !status.second.isEmpty())
|
||||
statusList.append(status);
|
||||
const VCSBaseClient::StatusItem lineInfo = m_client->parseStatusLine(string);
|
||||
if (!lineInfo.flags.isEmpty() && !lineInfo.file.isEmpty())
|
||||
lineInfoList.append(lineInfo);
|
||||
}
|
||||
|
||||
emit m_client->parsedStatus(statusList);
|
||||
emit m_client->parsedStatus(lineInfoList);
|
||||
}
|
||||
|
||||
void VCSBaseClientPrivate::annotateRevision(QString source, QString change, int lineNumber)
|
||||
@@ -131,6 +131,15 @@ void VCSBaseClientPrivate::saveSettings()
|
||||
m_clientSettings->writeSettings(m_core->settings());
|
||||
}
|
||||
|
||||
VCSBaseClient::StatusItem::StatusItem()
|
||||
{
|
||||
}
|
||||
|
||||
VCSBaseClient::StatusItem::StatusItem(const QString &s, const QString &f) :
|
||||
flags(s), file(f)
|
||||
{
|
||||
}
|
||||
|
||||
VCSBaseClient::VCSBaseClient(VCSBaseClientSettings *settings) :
|
||||
d(new VCSBaseClientPrivate(this, settings))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user