aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerkitinformation.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-06-09 11:24:29 +0200
committerEike Ziller <eike.ziller@qt.io>2023-06-09 11:24:29 +0200
commit375db16ac431b326a7c87e009f861875050a4247 (patch)
tree8dd29c7f109cbab6af7522c1616b544ff3a865b8 /src/plugins/debugger/debuggerkitinformation.cpp
parent804ad5a7f646739839bb3d4ef62a4771ba6fa1e1 (diff)
parent45abf54a611ae6c5dbd997d0ad5ab0a943b90f5a (diff)
Merge remote-tracking branch 'origin/11.0'
Diffstat (limited to 'src/plugins/debugger/debuggerkitinformation.cpp')
-rw-r--r--src/plugins/debugger/debuggerkitinformation.cpp20
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);