| 2278 | } |
| 2279 | |
| 2280 | void SpectrumOverlayMenu::updateLoopButtonVisibility() |
| 2281 | { |
| 2282 | const bool showLoopA = m_radioCapabilities.hasLoopA; |
| 2283 | const bool showLoopB = m_radioCapabilities.hasLoopB; |
| 2284 | const bool canSelectLoop = isLoopSelectableRxAntenna(currentRxAntennaToken()); |
| 2285 | if (m_loopABtn) { |
| 2286 | if (!showLoopA) { |
| 2287 | QSignalBlocker blocker(m_loopABtn); |
| 2288 | m_loopABtn->setChecked(false); |
| 2289 | } |
| 2290 | m_loopABtn->setVisible(showLoopA); |
| 2291 | m_loopABtn->setEnabled(showLoopA && canSelectLoop); |
| 2292 | m_loopABtn->setToolTip(canSelectLoop |
| 2293 | ? QStringLiteral("Toggle the LoopA receive loop/preselector path for this panadapter.") |
| 2294 | : QStringLiteral("LoopA requires RX ANT set to ANT1 or ANT2.")); |
| 2295 | } |
| 2296 | if (m_loopBBtn) { |
| 2297 | if (!showLoopB) { |
| 2298 | QSignalBlocker blocker(m_loopBBtn); |
| 2299 | m_loopBBtn->setChecked(false); |
| 2300 | } |
| 2301 | m_loopBBtn->setVisible(showLoopB); |
| 2302 | m_loopBBtn->setEnabled(showLoopB && canSelectLoop); |
| 2303 | m_loopBBtn->setToolTip(canSelectLoop |
| 2304 | ? QStringLiteral("Toggle the LoopB receive loop/preselector path for this panadapter.") |
| 2305 | : QStringLiteral("LoopB requires RX ANT set to ANT1 or ANT2.")); |
| 2306 | } |
| 2307 | if (m_loopRow) |
| 2308 | m_loopRow->setVisible(showLoopA || showLoopB); |
| 2309 | if (m_antPanel) |
| 2310 | m_antPanel->adjustSize(); |
| 2311 | } |
| 2312 | |
| 2313 | void SpectrumOverlayMenu::setXvtrBands(const QVector<XvtrBand>& bands) |
| 2314 | { |
nothing calls this directly
no test coverage detected