Debugger: Consolidate watcher insertion code paths

All were targeting the same running engine, doing the same thing.

Change-Id: If1186f6467cde6b44a051ea5845d4528917ca8f9
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2016-11-29 11:30:39 +01:00
parent 83e516771b
commit f85c6efcd1

View File

@@ -428,8 +428,6 @@ public:
QString editorContents(const QModelIndexList &list = QModelIndexList()); QString editorContents(const QModelIndexList &list = QModelIndexList());
void clearWatches(); void clearWatches();
void removeWatchItem(WatchItem *item); void removeWatchItem(WatchItem *item);
void watchExpression(const QString &exp);
void watchExpression(const QString &exp, const QString &name);
void inputNewExpression(); void inputNewExpression();
public: public:
@@ -1095,7 +1093,7 @@ bool WatchModel::setData(const QModelIndex &idx, const QVariant &value, int role
if (item && kev->key() == Qt::Key_Return if (item && kev->key() == Qt::Key_Return
&& kev->modifiers() == Qt::ControlModifier && kev->modifiers() == Qt::ControlModifier
&& item->isLocal()) { && item->isLocal()) {
watchExpression(item->expression()); m_handler->watchExpression(item->expression(), QString());
return true; return true;
} }
} }
@@ -1531,16 +1529,6 @@ static QString removeWatchActionText(QString exp)
.arg(exp.replace('&', "&&")); .arg(exp.replace('&', "&&"));
} }
void WatchModel::watchExpression(const QString &exp)
{
watchExpression(exp, QString());
}
void WatchModel::watchExpression(const QString &exp, const QString &name)
{
currentEngine()->watchHandler()->watchExpression(exp, name);
}
static void copyToClipboard(const QString &clipboardText) static void copyToClipboard(const QString &clipboardText)
{ {
QClipboard *clipboard = QApplication::clipboard(); QClipboard *clipboard = QApplication::clipboard();
@@ -1582,11 +1570,8 @@ void WatchModel::inputNewExpression()
connect(hint, &QLabel::linkActivated, [](const QString &link) { connect(hint, &QLabel::linkActivated, [](const QString &link) {
HelpManager::handleHelpRequest(link); }); HelpManager::handleHelpRequest(link); });
if (dlg.exec() == QDialog::Accepted) { if (dlg.exec() == QDialog::Accepted)
const QString exp = lineEdit->text().trimmed(); m_handler->watchExpression(lineEdit->text().trimmed());
if (!exp.isEmpty())
m_handler->watchExpression(exp, exp);
}
} }
bool WatchModel::contextMenuEvent(const ItemViewEvent &ev) bool WatchModel::contextMenuEvent(const ItemViewEvent &ev)
@@ -2096,6 +2081,7 @@ QString WatchHandler::watcherName(const QString &exp)
return "watch." + QString::number(theWatcherNames[exp]); return "watch." + QString::number(theWatcherNames[exp]);
} }
// If \a name is empty, \a exp will be used as name.
void WatchHandler::watchExpression(const QString &exp, const QString &name) void WatchHandler::watchExpression(const QString &exp, const QString &name)
{ {
// Do not insert the same entry more then once. // Do not insert the same entry more then once.