forked from qt-creator/qt-creator
VCS: Make dark color schemes work with annotation highlighter
Task-number: QTCREATORBUG-6257 Change-Id: Ied01cf6773b5114100afccbac33f359cc72c0889 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
@@ -37,8 +37,9 @@ using namespace Bazaar::Internal;
|
|||||||
using namespace Bazaar;
|
using namespace Bazaar;
|
||||||
|
|
||||||
BazaarAnnotationHighlighter::BazaarAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
BazaarAnnotationHighlighter::BazaarAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
|
const QColor &bg,
|
||||||
QTextDocument *document)
|
QTextDocument *document)
|
||||||
: VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
: VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
m_changeset(QLatin1String(Constants::CHANGESET_ID))
|
m_changeset(QLatin1String(Constants::CHANGESET_ID))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace Internal {
|
|||||||
class BazaarAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
class BazaarAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit BazaarAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit BazaarAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -101,9 +101,10 @@ VcsBase::DiffHighlighter *BazaarEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(m_diffFileId);
|
return new VcsBase::DiffHighlighter(m_diffFileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *BazaarEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *BazaarEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new BazaarAnnotationHighlighter(changes);
|
return new BazaarAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BazaarEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString BazaarEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ private:
|
|||||||
virtual QSet<QString> annotationChanges() const;
|
virtual QSet<QString> annotationChanges() const;
|
||||||
virtual QString changeUnderCursor(const QTextCursor &cursor) const;
|
virtual QString changeUnderCursor(const QTextCursor &cursor) const;
|
||||||
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const;
|
||||||
|
|
||||||
const QRegExp m_exactChangesetId;
|
const QRegExp m_exactChangesetId;
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ using namespace Cvs;
|
|||||||
using namespace Cvs::Internal;
|
using namespace Cvs::Internal;
|
||||||
|
|
||||||
CvsAnnotationHighlighter::CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
CvsAnnotationHighlighter::CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
|
const QColor &bg,
|
||||||
QTextDocument *document) :
|
QTextDocument *document) :
|
||||||
VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
m_blank(QLatin1Char(' '))
|
m_blank(QLatin1Char(' '))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class CvsAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit CvsAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -131,9 +131,10 @@ VcsBase::DiffHighlighter *CvsEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(filePattern);
|
return new VcsBase::DiffHighlighter(filePattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *CvsEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *CvsEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new CvsAnnotationHighlighter(changes);
|
return new CvsAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CvsEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString CvsEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ private:
|
|||||||
QSet<QString> annotationChanges() const;
|
QSet<QString> annotationChanges() const;
|
||||||
QString changeUnderCursor(const QTextCursor &) const;
|
QString changeUnderCursor(const QTextCursor &) const;
|
||||||
VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
||||||
QStringList annotationPreviousVersions(const QString &revision) const;
|
QStringList annotationPreviousVersions(const QString &revision) const;
|
||||||
|
|
||||||
|
|||||||
@@ -38,8 +38,9 @@ namespace Git {
|
|||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
GitAnnotationHighlighter::GitAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
GitAnnotationHighlighter::GitAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
QTextDocument *document) :
|
const QColor &bg,
|
||||||
VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
QTextDocument *document) :
|
||||||
|
VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
m_blank(QLatin1Char(' '))
|
m_blank(QLatin1Char(' '))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class GitAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit GitAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit GitAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -116,9 +116,10 @@ VcsBase::DiffHighlighter *GitEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(filePattern);
|
return new VcsBase::DiffHighlighter(filePattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *GitEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *GitEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new GitAnnotationHighlighter(changes);
|
return new GitAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString GitEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString GitEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ private:
|
|||||||
virtual QSet<QString> annotationChanges() const;
|
virtual QSet<QString> annotationChanges() const;
|
||||||
virtual QString changeUnderCursor(const QTextCursor &) const;
|
virtual QString changeUnderCursor(const QTextCursor &) const;
|
||||||
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
||||||
virtual QStringList annotationPreviousVersions(const QString &revision) const;
|
virtual QStringList annotationPreviousVersions(const QString &revision) const;
|
||||||
|
|
||||||
|
|||||||
@@ -37,8 +37,9 @@ using namespace Mercurial::Internal;
|
|||||||
using namespace Mercurial;
|
using namespace Mercurial;
|
||||||
|
|
||||||
MercurialAnnotationHighlighter::MercurialAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
MercurialAnnotationHighlighter::MercurialAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
|
const QColor &bg,
|
||||||
QTextDocument *document)
|
QTextDocument *document)
|
||||||
: VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
: VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
changeset(QLatin1String(Constants::CHANGESETID12))
|
changeset(QLatin1String(Constants::CHANGESETID12))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace Internal {
|
|||||||
class MercurialAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
class MercurialAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit MercurialAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit MercurialAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -96,9 +96,10 @@ VcsBase::DiffHighlighter *MercurialEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(diffIdentifier);
|
return new VcsBase::DiffHighlighter(diffIdentifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *MercurialEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *MercurialEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new MercurialAnnotationHighlighter(changes);
|
return new MercurialAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MercurialEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString MercurialEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ private:
|
|||||||
virtual QSet<QString> annotationChanges() const;
|
virtual QSet<QString> annotationChanges() const;
|
||||||
virtual QString changeUnderCursor(const QTextCursor &cursor) const;
|
virtual QString changeUnderCursor(const QTextCursor &cursor) const;
|
||||||
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const;
|
||||||
virtual QStringList annotationPreviousVersions(const QString &revision) const;
|
virtual QStringList annotationPreviousVersions(const QString &revision) const;
|
||||||
|
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ namespace Perforce {
|
|||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
PerforceAnnotationHighlighter::PerforceAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
PerforceAnnotationHighlighter::PerforceAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
|
const QColor &bg,
|
||||||
QTextDocument *document) :
|
QTextDocument *document) :
|
||||||
VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
m_colon(QLatin1Char(':'))
|
m_colon(QLatin1Char(':'))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ class PerforceAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighter
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit PerforceAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit PerforceAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
|
const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -112,9 +112,10 @@ VcsBase::DiffHighlighter *PerforceEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(filePattern);
|
return new VcsBase::DiffHighlighter(filePattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *PerforceEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *PerforceEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new PerforceAnnotationHighlighter(changes);
|
return new PerforceAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString PerforceEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString PerforceEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ private:
|
|||||||
virtual QSet<QString> annotationChanges() const;
|
virtual QSet<QString> annotationChanges() const;
|
||||||
virtual QString changeUnderCursor(const QTextCursor &) const;
|
virtual QString changeUnderCursor(const QTextCursor &) const;
|
||||||
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
||||||
virtual QStringList annotationPreviousVersions(const QString &v) const;
|
virtual QStringList annotationPreviousVersions(const QString &v) const;
|
||||||
|
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ using namespace Subversion;
|
|||||||
using namespace Subversion::Internal;
|
using namespace Subversion::Internal;
|
||||||
|
|
||||||
SubversionAnnotationHighlighter::SubversionAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
SubversionAnnotationHighlighter::SubversionAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
QTextDocument *document) :
|
const QColor &bg,
|
||||||
VcsBase::BaseAnnotationHighlighter(changeNumbers, document),
|
QTextDocument *document) :
|
||||||
|
VcsBase::BaseAnnotationHighlighter(changeNumbers, bg, document),
|
||||||
m_blank(QLatin1Char(' '))
|
m_blank(QLatin1Char(' '))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class SubversionAnnotationHighlighter : public VcsBase::BaseAnnotationHighlighte
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit SubversionAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit SubversionAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -117,9 +117,10 @@ VcsBase::DiffHighlighter *SubversionEditor::createDiffHighlighter() const
|
|||||||
return new VcsBase::DiffHighlighter(filePattern);
|
return new VcsBase::DiffHighlighter(filePattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBase::BaseAnnotationHighlighter *SubversionEditor::createAnnotationHighlighter(const QSet<QString> &changes) const
|
VcsBase::BaseAnnotationHighlighter *SubversionEditor::createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const
|
||||||
{
|
{
|
||||||
return new SubversionAnnotationHighlighter(changes);
|
return new SubversionAnnotationHighlighter(changes, bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString SubversionEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString SubversionEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ private:
|
|||||||
virtual QSet<QString> annotationChanges() const;
|
virtual QSet<QString> annotationChanges() const;
|
||||||
virtual QString changeUnderCursor(const QTextCursor &) const;
|
virtual QString changeUnderCursor(const QTextCursor &) const;
|
||||||
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
virtual VcsBase::DiffHighlighter *createDiffHighlighter() const;
|
||||||
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const;
|
virtual VcsBase::BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes, const QColor &bg) const;
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileName) const;
|
||||||
virtual QStringList annotationPreviousVersions(const QString &) const;
|
virtual QStringList annotationPreviousVersions(const QString &) const;
|
||||||
|
|
||||||
|
|||||||
@@ -62,15 +62,18 @@ class BaseAnnotationHighlighterPrivate
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ChangeNumberFormatMap m_changeNumberMap;
|
ChangeNumberFormatMap m_changeNumberMap;
|
||||||
|
QColor m_background;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|
||||||
BaseAnnotationHighlighter::BaseAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
BaseAnnotationHighlighter::BaseAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
||||||
QTextDocument *document) :
|
const QColor &bg,
|
||||||
|
QTextDocument *document) :
|
||||||
TextEditor::SyntaxHighlighter(document),
|
TextEditor::SyntaxHighlighter(document),
|
||||||
d(new Internal::BaseAnnotationHighlighterPrivate)
|
d(new Internal::BaseAnnotationHighlighterPrivate)
|
||||||
{
|
{
|
||||||
|
d->m_background = bg;
|
||||||
setChangeNumbers(changeNumbers);
|
setChangeNumbers(changeNumbers);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +84,7 @@ BaseAnnotationHighlighter::~BaseAnnotationHighlighter()
|
|||||||
|
|
||||||
void BaseAnnotationHighlighter::setChangeNumbers(const ChangeNumbers &changeNumbers)
|
void BaseAnnotationHighlighter::setChangeNumbers(const ChangeNumbers &changeNumbers)
|
||||||
{
|
{
|
||||||
|
QColor bg = d->m_background;
|
||||||
d->m_changeNumberMap.clear();
|
d->m_changeNumberMap.clear();
|
||||||
if (!changeNumbers.isEmpty()) {
|
if (!changeNumbers.isEmpty()) {
|
||||||
// Assign a color gradient to annotation change numbers. Give
|
// Assign a color gradient to annotation change numbers. Give
|
||||||
@@ -89,10 +93,16 @@ void BaseAnnotationHighlighter::setChangeNumbers(const ChangeNumbers &changeNumb
|
|||||||
const int step = qRound(ceil(pow(double(changeNumbers.count()), oneThird)));
|
const int step = qRound(ceil(pow(double(changeNumbers.count()), oneThird)));
|
||||||
QList<QColor> colors;
|
QList<QColor> colors;
|
||||||
const int factor = 255 / step;
|
const int factor = 255 / step;
|
||||||
for (int i=0; i<step; ++i)
|
int half = factor / 2;
|
||||||
for (int j=0; j<step; ++j)
|
for (int i=0; i<=step; ++i)
|
||||||
for (int k=0; k<step; ++k)
|
for (int j=0; j<=step; ++j)
|
||||||
colors.append(QColor(i*factor, j*factor, k*factor));
|
for (int k=0; k<=step; ++k) {
|
||||||
|
QColor c(i*factor, j*factor, k*factor);
|
||||||
|
if ((bg.red() - half > c.red() ||bg.red() + half <= c.red())
|
||||||
|
&& (bg.green() - half > c.green() || bg.green() + half <= c.green())
|
||||||
|
&& (bg.blue() - half > c.blue() || bg.blue() + half <= c.blue()))
|
||||||
|
colors.prepend(c);
|
||||||
|
}
|
||||||
|
|
||||||
int m = 0;
|
int m = 0;
|
||||||
const int cstep = colors.count() / changeNumbers.count();
|
const int cstep = colors.count() / changeNumbers.count();
|
||||||
@@ -116,4 +126,10 @@ void BaseAnnotationHighlighter::highlightBlock(const QString &text)
|
|||||||
setFormat(0, text.length(), it.value());
|
setFormat(0, text.length(), it.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BaseAnnotationHighlighter::setBackgroundColor(const QColor &color)
|
||||||
|
{
|
||||||
|
d->m_background = color;
|
||||||
|
setChangeNumbers(d->m_changeNumberMap.keys().toSet());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace VcsBase
|
} // namespace VcsBase
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class VCSBASE_EXPORT BaseAnnotationHighlighter : public TextEditor::SyntaxHighli
|
|||||||
public:
|
public:
|
||||||
typedef QSet<QString> ChangeNumbers;
|
typedef QSet<QString> ChangeNumbers;
|
||||||
|
|
||||||
explicit BaseAnnotationHighlighter(const ChangeNumbers &changeNumbers,
|
explicit BaseAnnotationHighlighter(const ChangeNumbers &changeNumbers, const QColor &bg,
|
||||||
QTextDocument *document = 0);
|
QTextDocument *document = 0);
|
||||||
virtual ~BaseAnnotationHighlighter();
|
virtual ~BaseAnnotationHighlighter();
|
||||||
|
|
||||||
@@ -56,6 +56,8 @@ public:
|
|||||||
|
|
||||||
virtual void highlightBlock(const QString &text);
|
virtual void highlightBlock(const QString &text);
|
||||||
|
|
||||||
|
void setBackgroundColor(const QColor &color);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Implement this to return the change number of a line
|
// Implement this to return the change number of a line
|
||||||
virtual QString changeNumber(const QString &block) const = 0;
|
virtual QString changeNumber(const QString &block) const = 0;
|
||||||
|
|||||||
@@ -605,6 +605,8 @@ public:
|
|||||||
bool m_revertChunkEnabled;
|
bool m_revertChunkEnabled;
|
||||||
bool m_mouseDragging;
|
bool m_mouseDragging;
|
||||||
QList<AbstractTextCursorHandler *> m_textCursorHandlers;
|
QList<AbstractTextCursorHandler *> m_textCursorHandlers;
|
||||||
|
|
||||||
|
QColor m_backgroundColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
VcsBaseEditorWidgetPrivate::VcsBaseEditorWidgetPrivate(VcsBaseEditorWidget *editorWidget,
|
VcsBaseEditorWidgetPrivate::VcsBaseEditorWidgetPrivate(VcsBaseEditorWidget *editorWidget,
|
||||||
@@ -1017,7 +1019,7 @@ void VcsBaseEditorWidget::slotActivateAnnotation()
|
|||||||
ah->setChangeNumbers(changes);
|
ah->setChangeNumbers(changes);
|
||||||
ah->rehighlight();
|
ah->rehighlight();
|
||||||
} else {
|
} else {
|
||||||
baseTextDocument()->setSyntaxHighlighter(createAnnotationHighlighter(changes));
|
baseTextDocument()->setSyntaxHighlighter(createAnnotationHighlighter(changes, d->m_backgroundColor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1149,6 +1151,9 @@ void VcsBaseEditorWidget::setPlainTextData(const QByteArray &data)
|
|||||||
void VcsBaseEditorWidget::setFontSettings(const TextEditor::FontSettings &fs)
|
void VcsBaseEditorWidget::setFontSettings(const TextEditor::FontSettings &fs)
|
||||||
{
|
{
|
||||||
TextEditor::BaseTextEditorWidget::setFontSettings(fs);
|
TextEditor::BaseTextEditorWidget::setFontSettings(fs);
|
||||||
|
d->m_backgroundColor = fs.toTextCharFormat(QLatin1String(TextEditor::Constants::C_TEXT))
|
||||||
|
.brushProperty(QTextFormat::BackgroundBrush).color();
|
||||||
|
|
||||||
if (d->m_parameters->type == DiffOutput) {
|
if (d->m_parameters->type == DiffOutput) {
|
||||||
if (DiffHighlighter *highlighter = qobject_cast<DiffHighlighter*>(baseTextDocument()->syntaxHighlighter())) {
|
if (DiffHighlighter *highlighter = qobject_cast<DiffHighlighter*>(baseTextDocument()->syntaxHighlighter())) {
|
||||||
static QVector<QString> categories;
|
static QVector<QString> categories;
|
||||||
@@ -1162,6 +1167,11 @@ void VcsBaseEditorWidget::setFontSettings(const TextEditor::FontSettings &fs)
|
|||||||
highlighter->setFormats(fs.toTextCharFormats(categories));
|
highlighter->setFormats(fs.toTextCharFormats(categories));
|
||||||
highlighter->rehighlight();
|
highlighter->rehighlight();
|
||||||
}
|
}
|
||||||
|
} else if (d->m_parameters->type == AnnotateOutput) {
|
||||||
|
if (BaseAnnotationHighlighter *highlighter = qobject_cast<BaseAnnotationHighlighter *>(baseTextDocument()->syntaxHighlighter())) {
|
||||||
|
highlighter->setBackgroundColor(d->m_backgroundColor);
|
||||||
|
highlighter->rehighlight();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -249,7 +249,8 @@ private:
|
|||||||
virtual QString changeUnderCursor(const QTextCursor &) const = 0;
|
virtual QString changeUnderCursor(const QTextCursor &) const = 0;
|
||||||
// Factory functions for highlighters
|
// Factory functions for highlighters
|
||||||
virtual DiffHighlighter *createDiffHighlighter() const = 0;
|
virtual DiffHighlighter *createDiffHighlighter() const = 0;
|
||||||
virtual BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes) const = 0;
|
virtual BaseAnnotationHighlighter *createAnnotationHighlighter(const QSet<QString> &changes,
|
||||||
|
const QColor &bg) const = 0;
|
||||||
// Implement to return a local file name from the diff file specification
|
// Implement to return a local file name from the diff file specification
|
||||||
// (text cursor at position above change hunk)
|
// (text cursor at position above change hunk)
|
||||||
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const = 0;
|
virtual QString fileNameFromDiffSpecification(const QTextBlock &diffFileSpec) const = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user