summaryrefslogtreecommitdiffstats
path: root/plugins/fossil/fossileditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/fossil/fossileditor.cpp')
-rw-r--r--plugins/fossil/fossileditor.cpp42
1 files changed, 41 insertions, 1 deletions
diff --git a/plugins/fossil/fossileditor.cpp b/plugins/fossil/fossileditor.cpp
index 6297f7d..74a7c86 100644
--- a/plugins/fossil/fossileditor.cpp
+++ b/plugins/fossil/fossileditor.cpp
@@ -124,8 +124,48 @@ QString FossilEditorWidget::changeUnderCursor(const QTextCursor &cursorIn) const
return QString();
}
+QString FossilEditorWidget::decorateVersion(const QString &revision) const
+{
+ static const int shortChangesetIdSize(10);
+ static const int maxTextSize(120);
+
+ const QFileInfo fi(source());
+ const QString workingDirectory = fi.absolutePath();
+ FossilClient *client = FossilPlugin::instance()->client();
+ RevisionInfo revisionInfo =
+ client->synchronousRevisionQuery(workingDirectory, revision, true);
+
+ // format: 'revision (committer "comment...")'
+ QString output = revision.left(shortChangesetIdSize)
+ + " (" + revisionInfo.committer
+ + " \"" + revisionInfo.commentMsg.left(maxTextSize);
+
+ if (output.size() > maxTextSize) {
+ output.truncate(maxTextSize - 3);
+ output.append("...");
+ }
+ output.append("\")");
+ return output;
+}
+
+QStringList FossilEditorWidget::annotationPreviousVersions(const QString &revision) const
+{
+ QStringList revisions;
+ const QFileInfo fi(source());
+ const QString workingDirectory = fi.absolutePath();
+ FossilClient *client = FossilPlugin::instance()->client();
+ RevisionInfo revisionInfo =
+ client->synchronousRevisionQuery(workingDirectory, revision);
+ if (revisionInfo.parentId.isEmpty())
+ return QStringList();
+
+ revisions.append(revisionInfo.parentId);
+ revisions.append(revisionInfo.mergeParentIds);
+ return revisions;
+}
-VcsBase::BaseAnnotationHighlighter *FossilEditorWidget::createAnnotationHighlighter(const QSet<QString> &changes) const
+VcsBase::BaseAnnotationHighlighter *FossilEditorWidget::createAnnotationHighlighter(
+ const QSet<QString> &changes) const
{
return new FossilAnnotationHighlighter(changes);
}