diff options
Diffstat (limited to 'plugins/fossil/fossileditor.cpp')
-rw-r--r-- | plugins/fossil/fossileditor.cpp | 42 |
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); } |