| 1330 | } |
| 1331 | |
| 1332 | void ConnectionPanel::rememberManualIp(const QString& ip) |
| 1333 | { |
| 1334 | const QString normalized = normalizeManualIp(ip); |
| 1335 | if (normalized.isEmpty()) |
| 1336 | return; |
| 1337 | |
| 1338 | QStringList ips = loadRecentManualIpSettings(); |
| 1339 | ips.removeAll(normalized); |
| 1340 | ips.prepend(normalized); |
| 1341 | const QStringList sanitized = sanitizeRecentManualIps(ips); |
| 1342 | saveRecentManualIpSettings(sanitized); |
| 1343 | |
| 1344 | const QSignalBlocker comboBlocker(m_manualIpCombo); |
| 1345 | const QSignalBlocker editBlocker(m_manualIpEdit); |
| 1346 | m_manualIpCombo->clear(); |
| 1347 | for (const auto& recentIp : sanitized) |
| 1348 | m_manualIpCombo->addItem(recentIp); |
| 1349 | m_manualIpCombo->setCurrentText(normalized); |
| 1350 | } |
| 1351 | |
| 1352 | void ConnectionPanel::saveManualProfile(const QString& targetIp, |
| 1353 | const RadioBindSettings& settings, |
nothing calls this directly
no test coverage detected