connection monitor: display multiple connections per device

Change-Id: I6901aef758839d7e440ab134688e452578135656
This commit is contained in:
Adrien Béraud
2025-12-09 11:50:38 -05:00
parent 931f2d6d8e
commit bd691da975

View File

@@ -60,9 +60,9 @@ ConnectionInfoListModel::data(const QModelIndex& index, int role) const
case ConnectionInfoList::ConnectionDatas: { case ConnectionInfoList::ConnectionDatas: {
QString peerString; QString peerString;
peerString += "Peer: " + peerId; peerString += "Peer: " + peerId;
for (const auto& [device, data] : peerData.asKeyValueRange()) { for (const auto& [connectionId, data] : peerData.asKeyValueRange()) {
peerString += ",\n {"; peerString += ",\n {";
peerString += "Device: " + device; peerString += "Device: " + data["device"].toString();
peerString += ", Status: " + data["status"].toString(); peerString += ", Status: " + data["status"].toString();
peerString += ", Channel(s): " + data["channels"].toString(); peerString += ", Channel(s): " + data["channels"].toString();
peerString += ", Remote IP address: " + data["remoteAddress"].toString(); peerString += ", Remote IP address: " + data["remoteAddress"].toString();
@@ -83,8 +83,8 @@ ConnectionInfoListModel::data(const QModelIndex& index, int role) const
case ConnectionInfoList::DeviceId: { case ConnectionInfoList::DeviceId: {
QVariantMap deviceMap; QVariantMap deviceMap;
int i = 0; int i = 0;
for (const auto& device : peerData.keys()) { for (const auto& data : peerData) {
deviceMap.insert(QString::number(i++), device); deviceMap.insert(QString::number(i++), data["device"]);
} }
return QVariant(deviceMap); return QVariant(deviceMap);
} }
@@ -157,8 +157,9 @@ ConnectionInfoListModel::aggregateData()
continue; continue;
newPeerIds.insert(peerId); newPeerIds.insert(peerId);
const auto& id = connectionInfo["id"]; const auto& id = connectionInfo["id"];
peerData_[peerId][connectionInfo["device"]] = { peerData_[peerId][id] = {
{"id", id}, {"id", id},
{"device", connectionInfo["device"]},
{"status", connectionInfo["status"].toUInt()}, {"status", connectionInfo["status"].toUInt()},
{"channels", lrcInstance_->getChannelList(accountId, id).size()}, {"channels", lrcInstance_->getChannelList(accountId, id).size()},
{"remoteAddress", connectionInfo["remoteAddress"]}, {"remoteAddress", connectionInfo["remoteAddress"]},