From 5e909ccb63e5d5c507ca12a56e354228e28424eb Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Tue, 18 Aug 2009 17:27:30 +0200 Subject: [PATCH] debugger: add name of current function to disassembler view title --- src/plugins/debugger/debuggeragents.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/plugins/debugger/debuggeragents.cpp b/src/plugins/debugger/debuggeragents.cpp index d74693f279e..8234ee65415 100644 --- a/src/plugins/debugger/debuggeragents.cpp +++ b/src/plugins/debugger/debuggeragents.cpp @@ -139,8 +139,9 @@ public: struct DisassemblerViewAgentPrivate { QPointer<TextEditor::ITextEditor> editor; - QPointer<IDebuggerEngine> engine; QString address; + QString function; + QPointer<DebuggerManager> manager; LocationMark2 *locationMark; }; @@ -180,8 +181,8 @@ DisassemblerViewAgent::DisassemblerViewAgent(DebuggerManager *manager) : QObject(manager), d(new DisassemblerViewAgentPrivate) { d->editor = 0; - d->engine = manager->currentEngine(); d->locationMark = new LocationMark2(); + d->manager = manager; } DisassemblerViewAgent::~DisassemblerViewAgent() @@ -193,8 +194,11 @@ DisassemblerViewAgent::~DisassemblerViewAgent() void DisassemblerViewAgent::setFrame(const StackFrame &frame) { - d->engine->fetchDisassembler(this, frame); + IDebuggerEngine *engine = d->manager->currentEngine(); + QTC_ASSERT(engine, return); + engine->fetchDisassembler(this, frame); d->address = frame.address; + d->function = frame.function; } void DisassemblerViewAgent::setContents(const QString &contents) @@ -208,8 +212,9 @@ void DisassemblerViewAgent::setContents(const QString &contents) QString titlePattern = "Disassembler"; d->editor = qobject_cast<ITextEditor *>( editorManager->openEditorWithContents( - Core::Constants::K_DEFAULT_TEXT_EDITOR, - &titlePattern)); + Core::Constants::K_DEFAULT_TEXT_EDITOR, + &titlePattern)); + QTC_ASSERT(d->editor, return); if ((plainTextEdit = qobject_cast<QPlainTextEdit *>(d->editor->widget()))) (void) new DisassemblerHighlighter(plainTextEdit); } @@ -221,6 +226,7 @@ void DisassemblerViewAgent::setContents(const QString &contents) plainTextEdit->setPlainText(contents); d->editor->markableInterface()->removeMark(d->locationMark); + d->editor->setDisplayName(_("Disassembler (%1)").arg(d->function)); for (int pos = 0, line = 0; ; ++line, ++pos) { if (contents.midRef(pos, d->address.size()) == d->address) { -- GitLab