From 786e183aa67729e4d465bab77c77c394a231b85f Mon Sep 17 00:00:00 2001
From: mae <qtc-committer@nokia.com>
Date: Fri, 5 Dec 2008 12:12:20 +0100
Subject: [PATCH] markContextMenuRequested signal in ITextEditor

---
 src/plugins/texteditor/basetexteditor.cpp | 9 +++------
 src/plugins/texteditor/basetexteditor.h   | 2 --
 src/plugins/texteditor/itexteditor.h      | 2 ++
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 1e6a266e6da..ea9da5cb6bd 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -488,10 +488,6 @@ ITextEditable *BaseTextEditor::editableInterface() const
                 d->m_editable, SIGNAL(contentsChanged()));
         connect(this, SIGNAL(changed()),
                 d->m_editable, SIGNAL(changed()));
-        connect(this,
-                SIGNAL(markRequested(TextEditor::ITextEditor *, int)),
-                d->m_editable,
-                SIGNAL(markRequested(TextEditor::ITextEditor *, int)));
     }
     return d->m_editable;
 }
@@ -2434,9 +2430,10 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
             }
         } else if (e->button() == Qt::RightButton) {
             QMenu * contextMenu = new QMenu(this);
-            emit lineContextMenuRequested(editableInterface(), cursor.blockNumber(), contextMenu);
+            emit d->m_editable->markContextMenuRequested(editableInterface(), cursor.blockNumber(), contextMenu);
             if (!contextMenu->isEmpty())
                 contextMenu->exec(e->globalPos());
+            delete contextMenu;
         }
     } else if (d->extraAreaSelectionAnchorBlockNumber >= 0) {
         QTextCursor selection = cursor;
@@ -2471,7 +2468,7 @@ void BaseTextEditor::extraAreaMouseEvent(QMouseEvent *e)
             d->extraAreaToggleMarkBlockNumber = -1;
             if (cursor.blockNumber() == n) {
                 int line = n + 1;
-                emit markRequested(editableInterface(), line);
+                emit d->m_editable->markRequested(editableInterface(), line);
             }
         }
     }
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index a6cc14f36e4..714b1a507c8 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -431,8 +431,6 @@ 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);
 
diff --git a/src/plugins/texteditor/itexteditor.h b/src/plugins/texteditor/itexteditor.h
index 432c3c9c585..514f311472a 100644
--- a/src/plugins/texteditor/itexteditor.h
+++ b/src/plugins/texteditor/itexteditor.h
@@ -44,6 +44,7 @@
 #include <QtGui/QIcon>
 
 QT_BEGIN_NAMESPACE
+class QMenu;
 class QTextBlock;
 QT_END_NAMESPACE
 
@@ -124,6 +125,7 @@ public:
 signals:
     void contentsChanged();
     void markRequested(TextEditor::ITextEditor *editor, int line);
+    void markContextMenuRequested(TextEditor::ITextEditor *editor, int line, QMenu *menu);
     void tooltipRequested(TextEditor::ITextEditor *editor, const QPoint &globalPos, int position);
     void contextHelpIdRequested(TextEditor::ITextEditor *editor, int position);
 };
-- 
GitLab