From 4fd9f1e6f77d4bc0a1fd2e925fb9ae389b8a9075 Mon Sep 17 00:00:00 2001
From: mae <qtc-committer@nokia.com>
Date: Thu, 4 Dec 2008 19:33:23 +0100
Subject: [PATCH] new signal:
 BaseTextEditor::lineContextMenuRequested(TextEditor::ITextEditor *editor, int
 line, QMenu *menu);

To be useful and used by the bookmarkmanager, this has to move to ITextEditor.
---
 src/plugins/texteditor/basetexteditor.cpp | 6 ++++++
 src/plugins/texteditor/basetexteditor.h   | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index dc9f9282c1a..4dda8f7b952 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -79,6 +79,7 @@
 #include <QtGui/QToolBar>
 #include <QtGui/QToolTip>
 #include <QtGui/QInputDialog>
+#include <QtGui/QMenu>
 
 using namespace TextEditor;
 using namespace TextEditor::Internal;
@@ -2430,6 +2431,11 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
             } else {
                 d->extraAreaToggleMarkBlockNumber = cursor.blockNumber();
             }
+        } else if (e->button() == Qt::RightButton) {
+            QMenu * contextMenu = new QMenu(this);
+            emit lineContextMenuRequested(editableInterface(), cursor.blockNumber(), contextMenu);
+            if (!contextMenu->isEmpty())
+                contextMenu->exec(e->globalPos());
         }
     } else if (d->extraAreaSelectionAnchorBlockNumber >= 0) {
         QTextCursor selection = cursor;
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index 23b9951ccb0..a6cc14f36e4 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -432,6 +432,7 @@ protected slots:
 
 signals:
     void markRequested(TextEditor::ITextEditor *editor, int line);
+    void lineContextMenuRequested(TextEditor::ITextEditor *editor, int line, QMenu *menu);
     void requestBlockUpdate(const QTextBlock &);
     void requestAutoCompletion(ITextEditable *editor, bool forced);
 
-- 
GitLab