diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index dc9f9282c1abb53a72d118f98aca8a20cb6bae9e..4dda8f7b952265305a7198a9d2ffd8dd1f1417ee 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 23b9951ccb055bc97b2f30c7f29c61847a1a343a..a6cc14f36e40b0f79cd7aab7e9905a8f45214a29 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);