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

@@ -175,6 +175,19 @@ void GitSubmitEditor::setCommitData(const CommitData &d)
m_model = new GitSubmitFileModel(this);
m_model->setRepositoryRoot(d.panelInfo.repository);
m_model->setFileStatusQualifier([](const QString &, const QVariant &extraData) {
const FileStates state = static_cast<FileStates>(extraData.toInt());
if (state.testFlag(AddedFile) || state.testFlag(UntrackedFile))
return SubmitFileModel::FileAdded;
if (state.testFlag(ModifiedFile))
return SubmitFileModel::FileModified;
if (state.testFlag(DeletedFile))
return SubmitFileModel::FileDeleted;
if (state.testFlag(RenamedFile))
return SubmitFileModel::FileRenamed;
return SubmitFileModel::FileStatusUnknown;
} );
if (!d.files.isEmpty()) {
for (QList<CommitData::StateFilePair>::const_iterator it = d.files.constBegin();
it != d.files.constEnd(); ++it) {