forked from qt-creator/qt-creator
Bazaar: fix jumping into file from diff view
From a diff view, jumping into 'added' files wasn't working. Actually file jumping was working only for 'modified' files. This is fixed by using a more general diff regexp in class BazaarEditor (attribute m_diffFileId) This bugfix also allows to highlight all diff specs (rename, remove, ...) Task-number: QTCREATORBUG-6531 Change-Id: I80bcbc0f77644c6caa7e7c750bd474a12263b589 Reviewed-by: Bill King <bill.king@nokia.com> Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
committed by
Tobias Hunger
parent
803c012e62
commit
8225956d17
@@ -56,7 +56,7 @@ using namespace Bazaar;
|
|||||||
BazaarEditor::BazaarEditor(const VCSBase::VCSBaseEditorParameters *type, QWidget *parent)
|
BazaarEditor::BazaarEditor(const VCSBase::VCSBaseEditorParameters *type, QWidget *parent)
|
||||||
: VCSBase::VCSBaseEditorWidget(type, parent),
|
: VCSBase::VCSBaseEditorWidget(type, parent),
|
||||||
m_exactChangesetId(QLatin1String(Constants::CHANGESET_ID_EXACT)),
|
m_exactChangesetId(QLatin1String(Constants::CHANGESET_ID_EXACT)),
|
||||||
m_diffFileId(QLatin1String("^=== modified file '(.*)'\\s*$"))
|
m_diffFileId(QLatin1String("^=== [a-z]+ [a-z]+ '(.*)'\\s*"))
|
||||||
{
|
{
|
||||||
setAnnotateRevisionTextFormat(tr("Annotate %1"));
|
setAnnotateRevisionTextFormat(tr("Annotate %1"));
|
||||||
setAnnotatePreviousRevisionTextFormat(tr("Annotate parent revision %1"));
|
setAnnotatePreviousRevisionTextFormat(tr("Annotate parent revision %1"));
|
||||||
@@ -109,7 +109,7 @@ VCSBase::BaseAnnotationHighlighter *BazaarEditor::createAnnotationHighlighter(co
|
|||||||
QString BazaarEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
QString BazaarEditor::fileNameFromDiffSpecification(const QTextBlock &inBlock) const
|
||||||
{
|
{
|
||||||
// Check for:
|
// Check for:
|
||||||
// === modified file 'mainwindow.cpp'
|
// === <change> <file|dir> 'mainwindow.cpp'
|
||||||
for (QTextBlock block = inBlock; block.isValid(); block = block.previous()) {
|
for (QTextBlock block = inBlock; block.isValid(); block = block.previous()) {
|
||||||
const QString line = block.text();
|
const QString line = block.text();
|
||||||
if (m_diffFileId.indexIn(line) != -1)
|
if (m_diffFileId.indexIn(line) != -1)
|
||||||
|
Reference in New Issue
Block a user