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>
This commit is contained in:
Hugues Delorme
2015-03-11 17:52:26 +01:00
committed by hjk
parent 6433af534d
commit c185d06997
10 changed files with 142 additions and 7 deletions

View File

@@ -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);