diff options
Diffstat (limited to 'src/plugins/debugger/watchhandler.cpp')
-rw-r--r-- | src/plugins/debugger/watchhandler.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 3b72e428d8..6bd122e9ae 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -1298,7 +1298,7 @@ void WatchModel::timerEvent(QTimerEvent *event) } ungrabWidget(); } - showMessage(msg, StatusBar); + m_engine->showMessage(msg, StatusBar); } else { WatchModelBase::timerEvent(event); } @@ -1951,8 +1951,10 @@ QString WatchModel::nameForFormat(int format) /////////////////////////////////////////////////////////////////////// WatchHandler::WatchHandler(DebuggerEngine *engine) + : m_engine(engine) { m_model = new WatchModel(this, engine); + loadSessionDataForEngine(); } WatchHandler::~WatchHandler() @@ -2072,7 +2074,13 @@ void WatchHandler::resetValueCache() void WatchHandler::resetWatchers() { - loadSessionData(); + loadFormats(); + theWatcherNames.clear(); + theWatcherCount = 0; + const QStringList watchers = sessionValue("Watchers").toStringList(); + m_model->m_watchRoot->removeChildren(); + for (const QString &exp : watchers) + watchExpression(exp.trimmed()); } void WatchHandler::notifyUpdateStarted(const UpdateParameters &updateParameters) @@ -2173,7 +2181,7 @@ void WatchHandler::watchExpression(const QString &exp, const QString &name, bool m_model->m_engine->updateWatchData(item->iname); } updateLocalsWindow(); - Internal::raiseWatchersWindow(); + m_engine->raiseWatchersWindow(); } void WatchHandler::updateWatchExpression(WatchItem *item, const QString &newExp) @@ -2358,7 +2366,7 @@ void WatchHandler::updateLocalsWindow() { // Force show/hide of return view. bool showReturn = m_model->m_returnRoot->childCount() != 0; - Internal::updateLocalsWindow(showReturn); + m_engine->updateLocalsWindow(showReturn); } QStringList WatchHandler::watchedExpressions() @@ -2383,6 +2391,11 @@ void WatchHandler::saveSessionData() void WatchHandler::loadSessionData() { + // Handled by loadSesseionDataForEngine. +} + +void WatchHandler::loadSessionDataForEngine() +{ loadFormats(); theWatcherNames.clear(); theWatcherCount = 0; |