summaryrefslogtreecommitdiff
path: root/src/plugins/mercurial/mercurialeditor.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-01-08 09:44:07 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-01-08 09:44:07 +0100
commitda6463ee2f856cea6086f8a4938a371a81f75fdf (patch)
tree2de603f6abed02adf7d3562c6f75091d6714e6b1 /src/plugins/mercurial/mercurialeditor.cpp
parente8195c0766d6b9bde3f529ff670765304f0ae104 (diff)
downloadqt-creator-da6463ee2f856cea6086f8a4938a371a81f75fdf.tar.gz
VCS[Mercurial]: Implement annotate previous as for git.
Task-number: QTCREATORBUG-503
Diffstat (limited to 'src/plugins/mercurial/mercurialeditor.cpp')
-rw-r--r--src/plugins/mercurial/mercurialeditor.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/mercurial/mercurialeditor.cpp b/src/plugins/mercurial/mercurialeditor.cpp
index 9315c3dad2..e38d30b886 100644
--- a/src/plugins/mercurial/mercurialeditor.cpp
+++ b/src/plugins/mercurial/mercurialeditor.cpp
@@ -31,6 +31,7 @@
#include "annotationhighlighter.h"
#include "constants.h"
#include "mercurialplugin.h"
+#include "mercurialclient.h"
#include <coreplugin/editormanager/editormanager.h>
#include <vcsbase/diffhighlighter.h>
@@ -53,6 +54,7 @@ MercurialEditor::MercurialEditor(const VCSBase::VCSBaseEditorParameters *type, Q
changesetIdentifier40(QLatin1String(Constants::CHANGESETID40)),
diffIdentifier(QLatin1String(Constants::DIFFIDENTIFIER))
{
+ setAnnotateRevisionTextFormat(tr("Annotate %1"));
}
QSet<QString> MercurialEditor::annotationChanges() const
@@ -110,3 +112,21 @@ QString MercurialEditor::fileNameFromDiffSpecification(const QTextBlock &diffFil
}
return QString();
}
+
+QStringList MercurialEditor::annotationPreviousVersions(const QString &revision) const
+{
+ MercurialClient *client = MercurialPlugin::instance()->client();
+ QStringList parents;
+ const QFileInfo fi(source());
+ const QString workingDirectory = fi.absolutePath();
+ // Retrieve parent revisions
+ QStringList revisions;
+ if (!client->parentRevisionsSync(workingDirectory, fi.fileName(), revision, &revisions))
+ return QStringList();
+ // Format with short summary
+ QStringList descriptions;
+ if (!client->shortDescriptionsSync(workingDirectory, revisions, &descriptions))
+ return QStringList();
+ return descriptions;
+}
+