diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index f28bb231cf1..d714ada70e4 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -2322,9 +2322,10 @@ void GlobalBreakpointItem::setEnabled(bool enabled) update(); for (QPointer engine : EngineManager::engines()) { - for (Breakpoint bp : engine->breakHandler()->breakpoints()) { + BreakHandler *handler = engine->breakHandler(); + for (Breakpoint bp : handler->breakpoints()) { if (bp->globalBreakpoint() == this) - bp->setEnabled(enabled); + handler->requestBreakpointEnabling(bp, enabled); } } } diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h index 8d823974a3b..fdf3a0326d4 100644 --- a/src/plugins/debugger/breakhandler.h +++ b/src/plugins/debugger/breakhandler.h @@ -312,6 +312,7 @@ public: static void claimBreakpointsForEngine(DebuggerEngine *engine); static void toggleBreakpoint(const ContextData &location, const QString &tracePointMessage = QString()); static void createBreakpointForEngine(const BreakpointParameters &data, DebuggerEngine *engine); + static void editBreakpoint(const GlobalBreakpoint &gbp, QWidget *parent); static void executeAddBreakpointDialog(); static void executeDeleteAllBreakpointsDialog(); @@ -326,7 +327,6 @@ private: bool contextMenuEvent(const Utils::ItemViewEvent &ev); void gotoLocation(const GlobalBreakpoint &gbp) const; - void editBreakpoint(const GlobalBreakpoint &gbp, QWidget *parent); void editBreakpoints(const GlobalBreakpoints &gbps, QWidget *parent); }; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 1abc791c690..5e87568ddeb 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1913,20 +1913,20 @@ void DebuggerPluginPrivate::requestContextMenu(TextEditorWidget *widget, auto act = menu->addAction(tr("Remove Breakpoint")); connect(act, &QAction::triggered, [gbp] { gbp->deleteBreakpoint(); }); -// // Enable/disable existing breakpoint. -// if (gbp->isEnabled()) { -// act = menu->addAction(tr("Disable Breakpoint %1").arg(id)); -// connect(act, &QAction::triggered, [gbp] { gbp.setEnabled(false); }); -// } else { -// act = menu->addAction(tr("Enable Breakpoint %1").arg(id)); -// connect(act, &QAction::triggered, [gbp] { gbp.setEnabled(true); }); -// } + // Enable/disable existing breakpoint. + if (gbp->isEnabled()) { + act = menu->addAction(tr("Disable Breakpoint")); + connect(act, &QAction::triggered, [gbp] { gbp->setEnabled(false); }); + } else { + act = menu->addAction(tr("Enable Breakpoint")); + connect(act, &QAction::triggered, [gbp] { gbp->setEnabled(true); }); + } -// // Edit existing breakpoint. -// act = menu->addAction(tr("Edit Breakpoint %1...").arg(id)); -// connect(act, &QAction::triggered, [gbp] { -// globalBreakHandler()->editBreakpoint(gbp, ICore::dialogParent()); -// }); + // Edit existing breakpoint. + act = menu->addAction(tr("Edit Breakpoint ...")); + connect(act, &QAction::triggered, [gbp] { + BreakpointManager::editBreakpoint(gbp, ICore::dialogParent()); + }); } else { // Handle non-existing breakpoint.