summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.cpp26
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.h2
2 files changed, 14 insertions, 14 deletions
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 5e2c5f9ed5..21d46e99a5 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -360,8 +360,10 @@ QAction *ChangeTextCursorHandler::createAnnotateAction(const QString &change, bo
editorWidget()->annotatePreviousRevisionTextFormat() :
editorWidget()->annotateRevisionTextFormat();
auto a = new QAction(format.arg(change), nullptr);
- a->setData(change);
- connect(a, &QAction::triggered, editorWidget(), &VcsBaseEditorWidget::slotAnnotateRevision);
+ VcsBaseEditorWidget *editor = editorWidget();
+ connect(a, &QAction::triggered, editor, [editor, change] {
+ editor->slotAnnotateRevision(change);
+ });
return a;
}
@@ -1493,18 +1495,16 @@ void VcsBaseEditorWidget::addDiffActions(QMenu *, const DiffChunk &)
{
}
-void VcsBaseEditorWidget::slotAnnotateRevision()
+void VcsBaseEditorWidget::slotAnnotateRevision(const QString &change)
{
- if (auto a = qobject_cast<const QAction *>(sender())) {
- const int currentLine = textCursor().blockNumber() + 1;
- const QString fileName = fileNameForLine(currentLine);
- QString workingDirectory = d->m_workingDirectory;
- if (workingDirectory.isEmpty())
- workingDirectory = QFileInfo(fileName).absolutePath();
- emit annotateRevisionRequested(FilePath::fromString(workingDirectory),
- QDir(workingDirectory).relativeFilePath(fileName),
- a->data().toString(), currentLine);
- }
+ const int currentLine = textCursor().blockNumber() + 1;
+ const QString fileName = fileNameForLine(currentLine);
+ QString workingDirectory = d->m_workingDirectory;
+ if (workingDirectory.isEmpty())
+ workingDirectory = QFileInfo(fileName).absolutePath();
+ emit annotateRevisionRequested(FilePath::fromString(workingDirectory),
+ QDir(workingDirectory).relativeFilePath(fileName),
+ change, currentLine);
}
QStringList VcsBaseEditorWidget::annotationPreviousVersions(const QString &) const
diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h
index f7d4860ceb..99dc64a0ac 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.h
+++ b/src/plugins/vcsbase/vcsbaseeditor.h
@@ -273,7 +273,7 @@ private:
void slotPopulateLogBrowser();
void slotJumpToEntry(int);
void slotCursorPositionChanged() override;
- void slotAnnotateRevision();
+ void slotAnnotateRevision(const QString &change);
void slotApplyDiffChunk();
void slotPaste();
void showProgressIndicator();