Git: Use correct line numbers in limited range blame

Change-Id: I12f6fc77b532e5b01f2da6c1c1ff847445447c70
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Orgad Shaneh
2016-06-13 20:34:27 +03:00
committed by Orgad Shaneh
parent 3845c833fc
commit 3f879c0c79
3 changed files with 54 additions and 5 deletions

View File

@@ -561,6 +561,7 @@ public:
QRegExp m_logEntryPattern;
QList<int> m_entrySections; // line number where this section starts
int m_cursorLine = -1;
int m_firstLineNumber = -1;
QString m_annotateRevisionTextFormat;
QString m_annotatePreviousRevisionTextFormat;
QString m_copyRevisionTextFormat;
@@ -681,6 +682,37 @@ QString VcsBaseEditorWidget::fileNameForLine(int line) const
return source();
}
int VcsBaseEditorWidget::firstLineNumber() const
{
return d->m_firstLineNumber;
}
void VcsBaseEditorWidget::setFirstLineNumber(int firstLineNumber)
{
d->m_firstLineNumber = firstLineNumber;
}
QString VcsBaseEditorWidget::lineNumber(int blockNumber) const
{
if (d->m_firstLineNumber > 0)
return QString::number(d->m_firstLineNumber + blockNumber);
return TextEditorWidget::lineNumber(blockNumber);
}
int VcsBaseEditorWidget::lineNumberDigits() const
{
if (d->m_firstLineNumber <= 0)
return TextEditorWidget::lineNumberDigits();
int digits = 2;
int max = qMax(1, d->m_firstLineNumber + blockCount());
while (max >= 100) {
max /= 10;
++digits;
}
return digits;
}
void VcsBaseEditorWidget::setDescribeSlot(QObject *describeReceiver, const char *describeSlot)
{
d->m_describeReceiver = describeReceiver;