diff --git a/src/plugins/debugger/debuggerconstants.h b/src/plugins/debugger/debuggerconstants.h index 3a9e6b46906fc7a57def51bcaaae6b2b8b645b60..c7ba8834b6dc076a4eb243e52290df5420653e2c 100644 --- a/src/plugins/debugger/debuggerconstants.h +++ b/src/plugins/debugger/debuggerconstants.h @@ -214,6 +214,7 @@ enum ModelRoles LocalsEditTypeRole, // A QVariant::type describing the item LocalsIntegerBaseRole, // Number base 16, 10, 8, 2 LocalsExpressionRole, + LocalsRawExpressionRole, LocalsExpandedRole, // The preferred expanded state to the view LocalsTypeFormatListRole, LocalsTypeFormatRole, // Used to communicate alternative formats to the view diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 2fe3481810da667e607103088ec5c90a29b350a3..f7826ccd289084328abe1f2a5be64ab59763f28b 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -682,6 +682,9 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const case LocalsExpressionRole: return QVariant(expression(item)); + case LocalsRawExpressionRole: + return data.exp; + case LocalsINameRole: return data.iname; diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp index eb9366970095c57e952888b8d95028bb32eeed80..1632e65563513e1beabacb06a1d3b88f80b9dd17 100644 --- a/src/plugins/debugger/watchwindow.cpp +++ b/src/plugins/debugger/watchwindow.cpp @@ -191,7 +191,7 @@ void WatchWindow::keyPressEvent(QKeyEvent *ev) if (ev->key() == Qt::Key_Delete && m_type == WatchersType) { QModelIndex idx = currentIndex(); QModelIndex idx1 = idx.sibling(idx.row(), 0); - QString exp = idx1.data().toString(); + QString exp = idx1.data(LocalsRawExpressionRole).toString(); removeWatchExpression(exp); } else if (ev->key() == Qt::Key_Return && ev->modifiers() == Qt::ControlModifier