aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerplugin.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2014-09-30 16:54:26 +0200
committerhjk <[email protected]>2014-10-02 10:42:43 +0200
commitf566d7eae0cc1818d4c8688b6906182022ba5cec (patch)
tree3877995c161c418c5bc745ad9f68a5fe85d4f846 /src/plugins/debugger/debuggerplugin.cpp
parentaf23e254df5d1c3b3f797dbfe38ce521c864e857 (diff)
TextEditor: Make mark requests operate on widgets, not editor
Removes some widget->editor->signal->slot->widget indirection. Change-Id: I7951d62ad3b7477e4693798d85c53c932b86c95e Reviewed-by: David Schulz <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerplugin.cpp')
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp47
1 files changed, 21 insertions, 26 deletions
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 6fb32830a54..3eaa6bc61f1 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -665,7 +665,7 @@ static bool currentTextEditorPosition(ContextData *data)
BaseTextEditor *textEditor = BaseTextEditor::currentTextEditor();
if (!textEditor)
return false;
- const IDocument *document = textEditor->document();
+ const TextDocument *document = textEditor->textDocument();
QTC_ASSERT(document, return false);
data->fileName = document->filePath();
if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) {
@@ -835,11 +835,10 @@ public slots:
void editorOpened(Core::IEditor *editor);
void updateBreakMenuItem(Core::IEditor *editor);
void setBusyCursor(bool busy);
- void requestMark(TextEditor::BaseTextEditor *editor,
- int lineNumber,
+ void requestMark(TextEditor::TextEditorWidget *widget, int lineNumber,
TextEditor::BaseTextEditor::MarkRequestKind kind);
- void requestContextMenu(TextEditor::BaseTextEditor *editor,
- int lineNumber, QMenu *menu);
+ void requestContextMenu(TextEditor::TextEditorWidget *widget,
+ int lineNumber, QMenu *menu);
void activatePreviousMode();
void activateDebugMode();
@@ -1851,15 +1850,13 @@ void DebuggerPluginPrivate::runScheduled()
void DebuggerPluginPrivate::editorOpened(IEditor *editor)
{
- BaseTextEditor *textEditor = qobject_cast<BaseTextEditor *>(editor);
- if (!textEditor)
- return;
- connect(textEditor,
- SIGNAL(markRequested(TextEditor::BaseTextEditor*,int,TextEditor::BaseTextEditor::MarkRequestKind)),
- SLOT(requestMark(TextEditor::BaseTextEditor*,int,TextEditor::BaseTextEditor::MarkRequestKind)));
- connect(textEditor,
- SIGNAL(markContextMenuRequested(TextEditor::BaseTextEditor*,int,QMenu*)),
- SLOT(requestContextMenu(TextEditor::BaseTextEditor*,int,QMenu*)));
+ if (auto widget = qobject_cast<TextEditorWidget *>(editor->widget())) {
+ connect(widget, &TextEditorWidget::markRequested,
+ this, &DebuggerPluginPrivate::requestMark);
+
+ connect(widget, &TextEditorWidget::markContextMenuRequested,
+ this, &DebuggerPluginPrivate::requestContextMenu);
+ }
}
void DebuggerPluginPrivate::updateBreakMenuItem(IEditor *editor)
@@ -1868,7 +1865,7 @@ void DebuggerPluginPrivate::updateBreakMenuItem(IEditor *editor)
m_breakAction->setEnabled(textEditor != 0);
}
-void DebuggerPluginPrivate::requestContextMenu(BaseTextEditor *editor,
+void DebuggerPluginPrivate::requestContextMenu(TextEditorWidget *widget,
int lineNumber, QMenu *menu)
{
BreakpointMenuContextData args;
@@ -1876,7 +1873,7 @@ void DebuggerPluginPrivate::requestContextMenu(BaseTextEditor *editor,
bool contextUsable = true;
BreakpointModelId id = BreakpointModelId();
- TextDocument *document = editor->textDocument();
+ TextDocument *document = widget->textDocument();
args.fileName = document->filePath();
if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) {
QString line = document->plainText()
@@ -2041,22 +2038,20 @@ void DebuggerPluginPrivate::toggleBreakpointByAddress(quint64 address,
}
}
-void DebuggerPluginPrivate::requestMark(BaseTextEditor *editor,
- int lineNumber,
+void DebuggerPluginPrivate::requestMark(TextEditorWidget *widget, int lineNumber,
BaseTextEditor::MarkRequestKind kind)
{
if (kind != BaseTextEditor::BreakpointRequest)
return;
- if (IDocument *document = editor->document()) {
- if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) {
- QString line = editor->textDocument()->plainText()
+ TextDocument *document = widget->textDocument();
+ if (document->property(Constants::OPENED_WITH_DISASSEMBLY).toBool()) {
+ QString line = document->plainText()
.section(QLatin1Char('\n'), lineNumber - 1, lineNumber - 1);
- quint64 address = DisassemblerLine::addressFromDisassemblyLine(line);
- toggleBreakpointByAddress(address);
- } else {
- toggleBreakpointByFileAndLine(document->filePath(), lineNumber);
- }
+ quint64 address = DisassemblerLine::addressFromDisassemblyLine(line);
+ toggleBreakpointByAddress(address);
+ } else {
+ toggleBreakpointByFileAndLine(document->filePath(), lineNumber);
}
}