forked from qt-creator/qt-creator
Debugger[Breakpoints]: Do not trigger reinserting breakpoint unless changed.
Add a menu option to edit breakpoints to the locator/editor context menu. Reviewed-by: hjk
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
#include "threadshandler.h"
|
||||
#include "watchhandler.h"
|
||||
#include "watchutils.h"
|
||||
#include "breakwindow.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
@@ -84,7 +85,7 @@
|
||||
#include <QtGui/QTextCursor>
|
||||
#include <QtGui/QTextDocument>
|
||||
#include <QtGui/QTreeWidget>
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
|
||||
using namespace Core;
|
||||
using namespace Debugger;
|
||||
@@ -286,6 +287,8 @@ public slots:
|
||||
m_runControl->bringApplicationToForeground(m_inferiorPid);
|
||||
}
|
||||
|
||||
private slots:
|
||||
void slotEditBreakpoint();
|
||||
|
||||
public:
|
||||
DebuggerState state() const { return m_state; }
|
||||
@@ -333,6 +336,17 @@ void DebuggerEnginePrivate::breakpointSetRemoveMarginActionTriggered()
|
||||
m_breakHandler.toggleBreakpoint(fileName, lineNumber, address);
|
||||
}
|
||||
|
||||
void DebuggerEnginePrivate::slotEditBreakpoint()
|
||||
{
|
||||
const QAction *act = qobject_cast<QAction *>(sender());
|
||||
QTC_ASSERT(act, return);
|
||||
const QVariant data = act->data();
|
||||
QTC_ASSERT(qVariantCanConvert<BreakpointData *>(data), return);
|
||||
BreakpointData *breakPointData = qvariant_cast<BreakpointData *>(data);
|
||||
if (BreakWindow::editBreakpoint(breakPointData, ICore::instance()->mainWindow()))
|
||||
breakPointData->reinsertBreakpoint();
|
||||
}
|
||||
|
||||
void DebuggerEnginePrivate::breakpointEnableDisableMarginActionTriggered()
|
||||
{
|
||||
QAction *act = qobject_cast<QAction *>(sender());
|
||||
@@ -392,6 +406,10 @@ void DebuggerEnginePrivate::handleContextMenuRequest(const QVariant ¶meters)
|
||||
connect(act2, SIGNAL(triggered()),
|
||||
this, SLOT(breakpointEnableDisableMarginActionTriggered()));
|
||||
menu->addAction(act2);
|
||||
QAction *editAction = new QAction(tr("Edit Breakpoint %1...").arg(number), menu);
|
||||
connect(editAction, SIGNAL(triggered()), this, SLOT(slotEditBreakpoint()));
|
||||
editAction->setData(qVariantFromValue(data));
|
||||
menu->addAction(editAction);
|
||||
} else {
|
||||
// non-existing
|
||||
const QString text = address ?
|
||||
|
||||
Reference in New Issue
Block a user