MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / refreshAntennaCombo

Method refreshAntennaCombo

src/gui/SpectrumOverlayMenu.cpp:864–908  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

862}
863
864void SpectrumOverlayMenu::refreshAntennaCombo()
865{
866 if (!m_rxAntCmb)
867 return;
868 const QString cur = currentRxAntennaToken();
869 QStringList options;
870 auto append = [&options](const QString& token) {
871 if (!token.isEmpty() && !options.contains(token)) {
872 options.append(token);
873 }
874 };
875
876 SliceModel* targetSlice =
877 antennaTargetSliceForPan(m_radioModel, m_slice, m_panId);
878 if (targetSlice) {
879 for (const QString& token : targetSlice->rxAntennaList()) {
880 append(token);
881 }
882 }
883 for (const QString& token : m_antList) {
884 append(token);
885 }
886 if (m_radioModel) {
887 for (const QString& token : m_radioModel->knownAntennaTokens()) {
888 append(token);
889 }
890 }
891 append(cur);
892 if (options.isEmpty()) {
893 append(QStringLiteral("ANT1"));
894 append(QStringLiteral("ANT2"));
895 }
896 if (m_kiwiSdrManager) {
897 for (const QString& token : m_kiwiSdrManager->virtualAntennaTokens()) {
898 append(token);
899 }
900 }
901 QSignalBlocker sb(m_rxAntCmb);
902 m_rxAntCmb->clear();
903 for (const QString& ant : options) {
904 m_rxAntCmb->addItem(antennaComboLabel(ant, options), ant);
905 }
906 setRxAntennaComboToken(cur);
907 updateLoopButtonVisibility();
908}
909
910void SpectrumOverlayMenu::setRxAntennaComboToken(const QString& token)
911{

Callers

nothing calls this directly

Calls 7

antennaTargetSliceForPanFunction · 0.85
containsMethod · 0.80
rxAntennaListMethod · 0.80
knownAntennaTokensMethod · 0.80
virtualAntennaTokensMethod · 0.80
isEmptyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected