From fb4af50bf6b883bde026b9121bbc8519322367f8 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 16 Mar 2015 13:36:35 +0100 Subject: [PATCH] Debugger: Add delay before showing progress indicator. Change-Id: I70dc3997800649e6920c6a6bece9aef98f2b2146 Reviewed-by: Christian Stenger --- src/plugins/debugger/watchhandler.cpp | 7 ++++++- src/plugins/debugger/watchhandler.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 1c00848b928..8d9e900313e 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -55,6 +55,7 @@ #include #include +#include #include #include @@ -1160,6 +1161,9 @@ WatchHandler::WatchHandler(DebuggerEngine *engine) m_contentsValid = true; // FIXME m_resetLocationScheduled = false; m_separatedView = new SeparatedView; + m_requestUpdateTimer = new QTimer(this); + m_requestUpdateTimer->setSingleShot(true); + connect(m_requestUpdateTimer, &QTimer::timeout, m_model, &WatchModel::updateRequested); } WatchHandler::~WatchHandler() @@ -1274,11 +1278,12 @@ void WatchHandler::resetValueCache() void WatchHandler::updateRequested() { - emit m_model->updateRequested(); + m_requestUpdateTimer->start(80); } void WatchHandler::updateFinished() { + m_requestUpdateTimer->stop(); emit m_model->updateFinished(); } diff --git a/src/plugins/debugger/watchhandler.h b/src/plugins/debugger/watchhandler.h index d97dffd4703..4f898c39331 100644 --- a/src/plugins/debugger/watchhandler.h +++ b/src/plugins/debugger/watchhandler.h @@ -38,6 +38,10 @@ #include #include +QT_BEGIN_NAMESPACE +class QTimer; +QT_END_NAMESPACE + namespace Debugger { namespace Internal { @@ -260,6 +264,7 @@ private: WatchModel *m_model; // Owned. DebuggerEngine *m_engine; // Not owned. SeparatedView *m_separatedView; // Owned. + QTimer *m_requestUpdateTimer; // Owned. bool m_contentsValid; bool m_resetLocationScheduled;