From 14d09ea7a352f015b3f91829bd10a7748548895e Mon Sep 17 00:00:00 2001 From: Ville Nummela Date: Tue, 23 Nov 2021 10:00:09 +0200 Subject: [PATCH] ProjectExplorer: Display message while fetching process list Fetching process list from remote device can take a long time, which might cause impatient users think that something is wrong and cancel the listing. Change-Id: Ideee017340811bc5600dd2a66a0afee6d223844e Reviewed-by: Leena Miettinen Reviewed-by: Reviewed-by: Christian Kandeler --- .../projectexplorer/devicesupport/deviceprocesslist.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocesslist.cpp b/src/plugins/projectexplorer/devicesupport/deviceprocesslist.cpp index 50ccc5c66b9..b54b0baddb0 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceprocesslist.cpp +++ b/src/plugins/projectexplorer/devicesupport/deviceprocesslist.cpp @@ -80,6 +80,10 @@ void DeviceProcessList::update() QTC_ASSERT(device(), return); d->model.clear(); + d->model.rootItem()->appendChild( + new DeviceProcessTreeItem( + {0, tr("Fetching process list. This might take a while."), ""}, + Qt::NoItemFlags)); d->state = Listing; doUpdate(); } @@ -88,6 +92,7 @@ void DeviceProcessList::reportProcessListUpdated(const QList { QTC_ASSERT(d->state == Listing, return); setFinished(); + d->model.clear(); for (const DeviceProcessItem &process : processes) { Qt::ItemFlags fl; if (process.pid != d->ownPid) @@ -134,7 +139,7 @@ QVariant DeviceProcessTreeItem::data(int column, int role) const { if (role == Qt::DisplayRole || role == Qt::ToolTipRole) { if (column == 0) - return process.pid; + return process.pid ? process.pid : QVariant(); else return process.cmdLine; }