aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/bazaar
diff options
context:
space:
mode:
authorHugues Delorme <delorme.hugues@fougsys.fr>2015-03-11 17:52:26 +0100
committerhjk <hjk@theqtcompany.com>2015-03-13 13:16:20 +0000
commitc185d06997fdb4fdcc6111a4fbe87542959aa81b (patch)
tree1f54b61783731d3fa531848e90ca143540d82439 /src/plugins/bazaar
parent6433af534dee3ade44511ec3190425c03fb25ec5 (diff)
Vcs: colorize file items in submit editor
It's an eye-candy feature "à la" Tortoise client Change-Id: I5f772f2d9b1278712aea690208b0b0d08de6a80a Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'src/plugins/bazaar')
-rw-r--r--src/plugins/bazaar/bazaarclient.cpp8
-rw-r--r--src/plugins/bazaar/commiteditor.cpp13
-rw-r--r--src/plugins/bazaar/constants.h6
3 files changed, 23 insertions, 4 deletions
diff --git a/src/plugins/bazaar/bazaarclient.cpp b/src/plugins/bazaar/bazaarclient.cpp
index 70f94c7bdb5..968f6e674fb 100644
--- a/src/plugins/bazaar/bazaarclient.cpp
+++ b/src/plugins/bazaar/bazaarclient.cpp
@@ -278,7 +278,7 @@ BazaarClient::StatusItem BazaarClient::parseStatusLine(const QString &line) cons
else if (flagVersion == QLatin1Char('-'))
item.flags = QLatin1String("Unversioned");
else if (flagVersion == QLatin1Char('R'))
- item.flags = QLatin1String("Renamed");
+ item.flags = QLatin1String(Constants::FSTATUS_RENAMED);
else if (flagVersion == QLatin1Char('?'))
item.flags = QLatin1String("Unknown");
else if (flagVersion == QLatin1Char('X'))
@@ -292,13 +292,13 @@ BazaarClient::StatusItem BazaarClient::parseStatusLine(const QString &line) cons
if (lineLength >= 2) {
const QChar flagContents = line[1];
if (flagContents == QLatin1Char('N'))
- item.flags = QLatin1String("Created");
+ item.flags = QLatin1String(Constants::FSTATUS_CREATED);
else if (flagContents == QLatin1Char('D'))
- item.flags = QLatin1String("Deleted");
+ item.flags = QLatin1String(Constants::FSTATUS_DELETED);
else if (flagContents == QLatin1Char('K'))
item.flags = QLatin1String("KindChanged");
else if (flagContents == QLatin1Char('M'))
- item.flags = QLatin1String("Modified");
+ item.flags = QLatin1String(Constants::FSTATUS_MODIFIED);
}
if (lineLength >= 3) {
const QChar flagExec = line[2];
diff --git a/src/plugins/bazaar/commiteditor.cpp b/src/plugins/bazaar/commiteditor.cpp
index c2372d06f1a..5145750bcc1 100644
--- a/src/plugins/bazaar/commiteditor.cpp
+++ b/src/plugins/bazaar/commiteditor.cpp
@@ -30,6 +30,7 @@
#include "commiteditor.h"
#include "branchinfo.h"
#include "bazaarcommitwidget.h"
+#include "constants.h"
#include <coreplugin/idocument.h>
#include <vcsbase/submitfilemodel.h>
@@ -62,6 +63,18 @@ void CommitEditor::setFields(const QString &repositoryRoot,
m_fileModel = new VcsBase::SubmitFileModel(this);
m_fileModel->setRepositoryRoot(repositoryRoot);
+ m_fileModel->setFileStatusQualifier([](const QString &status, const QVariant &) {
+ if (status == QLatin1String(Constants::FSTATUS_CREATED))
+ return VcsBase::SubmitFileModel::FileAdded;
+ if (status == QLatin1String(Constants::FSTATUS_MODIFIED))
+ return VcsBase::SubmitFileModel::FileModified;
+ if (status == QLatin1String(Constants::FSTATUS_DELETED))
+ return VcsBase::SubmitFileModel::FileDeleted;
+ if (status == QLatin1String(Constants::FSTATUS_RENAMED))
+ return VcsBase::SubmitFileModel::FileRenamed;
+ return VcsBase::SubmitFileModel::FileStatusUnknown;
+ } );
+
foreach (const VcsBase::VcsBaseClient::StatusItem &item, repoStatus)
if (item.flags != QLatin1String("Unknown"))
m_fileModel->addFile(item.file, item.flags);
diff --git a/src/plugins/bazaar/constants.h b/src/plugins/bazaar/constants.h
index c7b5aa74648..fa7506d61c3 100644
--- a/src/plugins/bazaar/constants.h
+++ b/src/plugins/bazaar/constants.h
@@ -60,6 +60,12 @@ const char DIFFLOG_ID[] = "Bazaar Diff Editor";
const char DIFFLOG_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("VCS", "Bazaar Diff Editor");
const char DIFFAPP[] = "text/x-patch";
+// File status hint
+const char FSTATUS_CREATED[] = "Created";
+const char FSTATUS_DELETED[] = "Deleted";
+const char FSTATUS_MODIFIED[] = "Modified";
+const char FSTATUS_RENAMED[] = "Renamed";
+
} // namespace Constants
} // namespace Bazaar