diff options
author | hjk <hjk121@nokiamail.com> | 2014-09-01 14:11:39 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-09-02 09:42:35 +0200 |
commit | b9f861f1cb4d595348f02c249b51d4fbf9e3a460 (patch) | |
tree | c28e6408d8b7837d6068cf51c4bb0e61209f1509 /src/plugins/texteditor/basetexteditor.cpp | |
parent | deea0022f7ea1bdc48ceafe57c2dfbfd848ac8a8 (diff) |
TextEditor: Use signal/signal connection from *EditorWidget to *Editor
This reduces the need for most of the remaining uses of the
editor() back link.
Change-Id: I557cf4d3b5e1986f811fb17e87bf1825ac6912c6
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'src/plugins/texteditor/basetexteditor.cpp')
-rw-r--r-- | src/plugins/texteditor/basetexteditor.cpp | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 6c26e25aca..c1e2dbc34c 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2962,10 +2962,8 @@ void BaseTextEditorWidgetPrivate::processTooltipRequest(const QTextCursor &c) { const QPoint toolTipPoint = q->toolTipPosition(c); bool handled = false; - BaseTextEditor *ed = q->editor(); - emit ed->tooltipOverrideRequested(ed, toolTipPoint, c.position(), &handled); if (!handled) - emit ed->tooltipRequested(ed, toolTipPoint, c.position()); + emit q->tooltipRequested(toolTipPoint, c.position()); } bool BaseTextEditorWidget::viewportEvent(QEvent *event) @@ -4900,10 +4898,10 @@ void BaseTextEditorWidget::extraAreaLeaveEvent(QEvent *) void BaseTextEditorWidget::extraAreaContextMenuEvent(QContextMenuEvent *e) { - QTextCursor cursor = cursorForPosition(QPoint(0, e->pos().y())); if (d->m_marksVisible) { + QTextCursor cursor = cursorForPosition(QPoint(0, e->pos().y())); QMenu * contextMenu = new QMenu(this); - emit editor()->markContextMenuRequested(editor(), cursor.blockNumber() + 1, contextMenu); + emit markContextMenuRequested(cursor.blockNumber() + 1, contextMenu); if (!contextMenu->isEmpty()) contextMenu->exec(e->globalPos()); delete contextMenu; @@ -4951,7 +4949,7 @@ void BaseTextEditorWidget::extraAreaMouseEvent(QMouseEvent *e) if (inMarkArea) { //Find line by cursor position int line = cursor.blockNumber() + 1; - emit editor()->markTooltipRequested(editor(), mapToGlobal(e->pos()), line); + emit markTooltipRequested(mapToGlobal(e->pos()), line); } if (e->buttons() & Qt::LeftButton && !d->m_markDragStart.isNull()) { @@ -5069,7 +5067,7 @@ void BaseTextEditorWidget::extraAreaMouseEvent(QMouseEvent *e) else kind = BaseTextEditor::BreakpointRequest; - emit editor()->markRequested(editor(), line, kind); + emit markRequested(line, kind); } } } @@ -7318,6 +7316,31 @@ BaseTextEditor *BaseTextEditorFactory::createEditorHelper(const BaseTextDocument if (m_autoCompleterCreator) widget->setAutoCompleter(m_autoCompleterCreator()); + connect(widget, &BaseTextEditorWidget::markRequested, editor, + [editor](int line, BaseTextEditor::MarkRequestKind kind) { + editor->markRequested(editor, line, kind); + }); + + connect(widget, &BaseTextEditorWidget::markContextMenuRequested, editor, + [editor](int line, QMenu *menu) { + editor->markContextMenuRequested(editor, line, menu); + }); + + connect(widget, &BaseTextEditorWidget::tooltipOverrideRequested, editor, + [editor](const QPoint &globalPos, int position, bool *handled) { + editor->tooltipOverrideRequested(editor, globalPos, position, handled); + }); + + connect(widget, &BaseTextEditorWidget::tooltipRequested, editor, + [editor](const QPoint &globalPos, int position) { + editor->tooltipRequested(editor, globalPos, position); + }); + + connect(widget, &BaseTextEditorWidget::markTooltipRequested, editor, + [editor](const QPoint &globalPos, int line) { + editor->markTooltipRequested(editor, globalPos, line); + }); + widget->finalizeInitialization(); editor->finalizeInitialization(); |