diff options
author | Eike Ziller <eike.ziller@qt.io> | 2023-06-09 11:24:29 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2023-06-09 11:24:29 +0200 |
commit | 375db16ac431b326a7c87e009f861875050a4247 (patch) | |
tree | 8dd29c7f109cbab6af7522c1616b544ff3a865b8 /src/plugins/debugger/debuggerkitinformation.cpp | |
parent | 804ad5a7f646739839bb3d4ef62a4771ba6fa1e1 (diff) | |
parent | 45abf54a611ae6c5dbd997d0ad5ab0a943b90f5a (diff) |
Merge remote-tracking branch 'origin/11.0'
Change-Id: I87b22a73427cf9fc1b96075dc0db769ed3d3621c
Diffstat (limited to 'src/plugins/debugger/debuggerkitinformation.cpp')
-rw-r--r-- | src/plugins/debugger/debuggerkitinformation.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index b1ba6bf1d59..f2c149ad5a4 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -78,7 +78,25 @@ private: const GuardLocker locker(m_ignoreChanges); m_comboBox->clear(); m_comboBox->addItem(Tr::tr("None"), QString()); - for (const DebuggerItem &item : DebuggerItemManager::debuggers()) + + IDeviceConstPtr device = BuildDeviceKitAspect::device(kit()); + const Utils::FilePath path = device->rootPath(); + const QList<DebuggerItem> list = DebuggerItemManager::debuggers(); + + const QList<DebuggerItem> same = Utils::filtered(list, [path](const DebuggerItem &item) { + return item.command().isSameDevice(path); + }); + const QList<DebuggerItem> other = Utils::filtered(list, [path](const DebuggerItem &item) { + return !item.command().isSameDevice(path); + }); + + for (const DebuggerItem &item : same) + m_comboBox->addItem(item.displayName(), item.id()); + + if (!same.isEmpty() && !other.isEmpty()) + m_comboBox->insertSeparator(m_comboBox->count()); + + for (const DebuggerItem &item : other) m_comboBox->addItem(item.displayName(), item.id()); const DebuggerItem *item = DebuggerKitAspect::debugger(m_kit); |