diff --git a/doc/img/BasicDeviceSettings.png b/doc/img/BasicDeviceSettings.png index 51e44aa7c..f458c717a 100644 Binary files a/doc/img/BasicDeviceSettings.png and b/doc/img/BasicDeviceSettings.png differ diff --git a/doc/img/BasicDeviceSettings.xcf b/doc/img/BasicDeviceSettings.xcf index f34690921..72739744b 100644 Binary files a/doc/img/BasicDeviceSettings.xcf and b/doc/img/BasicDeviceSettings.xcf differ diff --git a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp index a4a7f2c58..a2c974694 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp @@ -728,6 +728,9 @@ void AudioCATSISO::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAudioCatsisoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("rxCenterFrequency")) { settings.m_rxCenterFrequency = response.getAudioCatsisoSettings()->getRxCenterFrequency(); } @@ -828,6 +831,12 @@ void AudioCATSISO::webapiUpdateDeviceSettings( void AudioCATSISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AudioCATSISOSettings& settings) { + if (response.getAudioCatsisoSettings()->getTitle()) { + *response.getAudioCatsisoSettings()->getTitle() = settings.m_title; + } else { + response.getAudioCatsisoSettings()->setTitle(new QString(settings.m_title)); + } + response.getAudioCatsisoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency); response.getAudioCatsisoSettings()->setRxSampleRate(settings.m_rxSampleRate); response.getAudioCatsisoSettings()->setTxCenterFrequency(settings.m_txCenterFrequency); @@ -882,6 +891,9 @@ void AudioCATSISO::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title")) { + swgAudioCATSISOSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("rxCenterFrequency")) { swgAudioCATSISOSettings->setRxCenterFrequency(settings.m_rxCenterFrequency); } diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp index 7daec8d5a..1592c4da5 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp @@ -31,6 +31,7 @@ #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" #include "gui/basicdevicesettingsdialog.h" +#include "mainspectrum/mainspectrumgui.h" #include "gui/audioselectdialog.h" #include "dsp/dspengine.h" #include "dsp/dspcommands.h" @@ -513,6 +514,8 @@ void AudioCATSISOGUI::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -843,21 +846,30 @@ void AudioCATSISOGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp index 5498d7b25..cd89591b0 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp @@ -69,6 +69,7 @@ AudioCATSISOSettings::AudioCATSISOSettings() void AudioCATSISOSettings::resetToDefaults() { + m_title = "AudioCATSISO"; m_txEnable = false; m_pttSpectrumLink = true; m_rxCenterFrequency = 14200000; @@ -106,6 +107,7 @@ void AudioCATSISOSettings::resetToDefaults() AudioCATSISOSettings::AudioCATSISOSettings(const AudioCATSISOSettings& other) { + m_title = other.m_title; m_txEnable = other.m_txEnable; m_pttSpectrumLink = other.m_pttSpectrumLink; m_rxCenterFrequency = other.m_rxCenterFrequency; @@ -155,6 +157,7 @@ QByteArray AudioCATSISOSettings::serialize() const s.writeBool(9, m_transverterMode); s.writeS64(10, m_transverterDeltaFrequency); s.writeS32(11, m_rxSampleRate); // Serialize RX sample rate + s.writeString(12, m_title); s.writeString(21, m_txDeviceName); s.writeU64(22, m_txCenterFrequency); @@ -210,6 +213,7 @@ bool AudioCATSISOSettings::deserialize(const QByteArray& data) d.readBool(9, &m_transverterMode, false); d.readS64(10, &m_transverterDeltaFrequency, 0); d.readS32(11, &m_rxSampleRate, 48000); // Deserialize RX sample rate + d.readString(12, &m_title, "AudioCATSISO"); d.readString(21, &m_txDeviceName, ""); d.readU64(22, &m_txCenterFrequency, 14200000); @@ -255,6 +259,9 @@ bool AudioCATSISOSettings::deserialize(const QByteArray& data) void AudioCATSISOSettings::applySettings(const QStringList& settingsKeys, const AudioCATSISOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("transverterMode")) { m_transverterMode = settings.m_transverterMode; } @@ -361,6 +368,9 @@ QString AudioCATSISOSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("transverterMode") || force) { ostr << " m_transverterMode: " << m_transverterMode; } diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h index edc74891f..cd90016d9 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h @@ -104,6 +104,7 @@ public: R }; + QString m_title; quint64 m_rxCenterFrequency; quint64 m_txCenterFrequency; bool m_transverterMode; diff --git a/plugins/samplemimo/bladerf2mimo/bladerf2mimo.cpp b/plugins/samplemimo/bladerf2mimo/bladerf2mimo.cpp index e7c1591d7..544a8ec72 100644 --- a/plugins/samplemimo/bladerf2mimo/bladerf2mimo.cpp +++ b/plugins/samplemimo/bladerf2mimo/bladerf2mimo.cpp @@ -907,6 +907,9 @@ void BladeRF2MIMO::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getBladeRf2MimoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("devSampleRate")) { settings.m_devSampleRate = response.getBladeRf2MimoSettings()->getDevSampleRate(); } @@ -1001,6 +1004,12 @@ void BladeRF2MIMO::webapiUpdateDeviceSettings( void BladeRF2MIMO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF2MIMOSettings& settings) { + if (response.getBladeRf2MimoSettings()->getTitle()) { + *response.getBladeRf2MimoSettings()->getTitle() = settings.m_title; + } else { + response.getBladeRf2MimoSettings()->setTitle(new QString(settings.m_title)); + } + response.getBladeRf2MimoSettings()->setDevSampleRate(settings.m_devSampleRate); response.getBladeRf2MimoSettings()->setLOppmTenths(settings.m_LOppmTenths); @@ -1097,6 +1106,9 @@ void BladeRF2MIMO::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgBladeRF2MIMOSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("devSampleRate") || force) { swgBladeRF2MIMOSettings->setDevSampleRate(settings.m_devSampleRate); } diff --git a/plugins/samplemimo/bladerf2mimo/bladerf2mimogui.cpp b/plugins/samplemimo/bladerf2mimo/bladerf2mimogui.cpp index 408716fef..bc59a06a7 100644 --- a/plugins/samplemimo/bladerf2mimo/bladerf2mimogui.cpp +++ b/plugins/samplemimo/bladerf2mimo/bladerf2mimogui.cpp @@ -31,6 +31,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/devicesamplestatic.h" @@ -196,6 +197,8 @@ void BladeRF2MIMOGui::displaySettings() displayGain(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->sampleRate->setValue(m_settings.m_devSampleRate); ui->LOppm->setValue(m_settings.m_LOppmTenths); ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1))); @@ -882,21 +885,30 @@ void BladeRF2MIMOGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.cpp b/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.cpp index e92d93536..108b4e946 100644 --- a/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.cpp +++ b/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.cpp @@ -26,6 +26,7 @@ BladeRF2MIMOSettings::BladeRF2MIMOSettings() void BladeRF2MIMOSettings::resetToDefaults() { + m_title = "BladeRF2MIMO"; m_devSampleRate = 3072000; m_LOppmTenths = 0; @@ -66,6 +67,7 @@ QByteArray BladeRF2MIMOSettings::serialize() const s.writeS32(1, m_devSampleRate); s.writeS32(2, m_LOppmTenths); + s.writeString(3, m_title); s.writeU64(10, m_rxCenterFrequency); s.writeU32(11, m_log2Decim); @@ -117,6 +119,7 @@ bool BladeRF2MIMOSettings::deserialize(const QByteArray& data) d.readS32(1, &m_devSampleRate, 3072000); d.readS32(2, &m_LOppmTenths, 0); + d.readString(3, &m_title, "BladeRF2MIMO"); d.readU64(10, &m_rxCenterFrequency, 435000*1000); d.readU32(11, &m_log2Decim); @@ -169,6 +172,9 @@ bool BladeRF2MIMOSettings::deserialize(const QByteArray& data) void BladeRF2MIMOSettings::applySettings(const QStringList& settingsKeys, const BladeRF2MIMOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("devSampleRate")) { m_devSampleRate = settings.m_devSampleRate; } @@ -262,6 +268,9 @@ QString BladeRF2MIMOSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("devSampleRate") || force) { ostr << " m_devSampleRate: " << m_devSampleRate; } @@ -352,6 +361,3 @@ QString BladeRF2MIMOSettings::getDebugString(const QStringList& settingsKeys, bo return QString(ostr.str().c_str()); } - - - diff --git a/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.h b/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.h index 852743f5b..3e449507a 100644 --- a/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.h +++ b/plugins/samplemimo/bladerf2mimo/bladerf2mimosettings.h @@ -30,6 +30,7 @@ struct BladeRF2MIMOSettings { FC_POS_CENTER } fcPos_t; + QString m_title; qint32 m_devSampleRate; qint32 m_LOppmTenths; diff --git a/plugins/samplemimo/limesdrmimo/limesdrmimo.cpp b/plugins/samplemimo/limesdrmimo/limesdrmimo.cpp index 1686cfa6f..2e16a0b84 100644 --- a/plugins/samplemimo/limesdrmimo/limesdrmimo.cpp +++ b/plugins/samplemimo/limesdrmimo/limesdrmimo.cpp @@ -1646,6 +1646,12 @@ void LimeSDRMIMO::webapiFormatDeviceSettings( const LimeSDRMIMOSettings& settings) { // Common + if (response.getLimeSdrMimoSettings()->getTitle()) { + *response.getLimeSdrMimoSettings()->getTitle() = settings.m_title; + } else { + response.getLimeSdrMimoSettings()->setTitle(new QString(settings.m_title)); + } + response.getLimeSdrMimoSettings()->setDevSampleRate(settings.m_devSampleRate); response.getLimeSdrMimoSettings()->setExtClock(settings.m_extClock ? 1 : 0); response.getLimeSdrMimoSettings()->setExtClockFreq(settings.m_extClockFreq); @@ -1722,6 +1728,9 @@ void LimeSDRMIMO::webapiUpdateDeviceSettings( SWGSDRangel::SWGDeviceSettings& response) { // Common + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getLimeSdrMimoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("devSampleRate")) { settings.m_devSampleRate = response.getLimeSdrMimoSettings()->getDevSampleRate(); } @@ -1972,6 +1981,9 @@ void LimeSDRMIMO::webapiReverseSendSettings(const QList& deviceSettings SWGSDRangel::SWGLimeSdrMIMOSettings *swgLimeSdrMIMOSettings = swgDeviceSettings->getLimeSdrMimoSettings(); // Common + if (deviceSettingsKeys.contains("title") || force) { + swgLimeSdrMIMOSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("devSampleRate") || force) { swgLimeSdrMIMOSettings->setDevSampleRate(settings.m_devSampleRate); } diff --git a/plugins/samplemimo/limesdrmimo/limesdrmimogui.cpp b/plugins/samplemimo/limesdrmimo/limesdrmimogui.cpp index dcb506844..fd4f817c8 100644 --- a/plugins/samplemimo/limesdrmimo/limesdrmimogui.cpp +++ b/plugins/samplemimo/limesdrmimo/limesdrmimogui.cpp @@ -31,6 +31,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/devicesamplestatic.h" #include "limesdr/devicelimesdrshared.h" @@ -413,6 +414,8 @@ void LimeSDRMIMOGUI::displaySettings() } setNCODisplay(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); } void LimeSDRMIMOGUI::displayRxSampleRate() @@ -1259,21 +1262,30 @@ void LimeSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/limesdrmimo/limesdrmimosettings.cpp b/plugins/samplemimo/limesdrmimo/limesdrmimosettings.cpp index 28e813fe1..e7e5351e1 100644 --- a/plugins/samplemimo/limesdrmimo/limesdrmimosettings.cpp +++ b/plugins/samplemimo/limesdrmimo/limesdrmimosettings.cpp @@ -26,6 +26,7 @@ LimeSDRMIMOSettings::LimeSDRMIMOSettings() void LimeSDRMIMOSettings::resetToDefaults() { + m_title = "LimeSDRMIMO"; m_devSampleRate = 3200000; m_gpioDir = 0; m_gpioPins = 0; @@ -101,6 +102,7 @@ QByteArray LimeSDRMIMOSettings::serialize() const s.writeString(9, m_reverseAPIAddress); s.writeU32(10, m_reverseAPIPort); s.writeU32(11, m_reverseAPIDeviceIndex); + s.writeString(12, m_title); s.writeU64(20, m_rxCenterFrequency); s.writeU32(21, m_log2HardDecim); @@ -181,6 +183,9 @@ bool LimeSDRMIMOSettings::deserialize(const QByteArray& data) d.readBool(8, &m_useReverseAPI, false); d.readString(9, &m_reverseAPIAddress, "127.0.0.1"); d.readU32(10, &uintval, 0); + d.readU32(11, &uintval, 0); + m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(12, &m_title, "LimeSDRMIMO"); if ((uintval > 1023) && (uintval < 65535)) { m_reverseAPIPort = uintval; @@ -259,6 +264,9 @@ bool LimeSDRMIMOSettings::deserialize(const QByteArray& data) void LimeSDRMIMOSettings::applySettings(const QStringList& settingsKeys, const LimeSDRMIMOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("devSampleRate")) { m_devSampleRate = settings.m_devSampleRate; } @@ -427,6 +435,9 @@ QString LimeSDRMIMOSettings::getDebugString(const QStringList& settingsKeys, boo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("devSampleRate") || force) { ostr << " m_devSampleRate: " << m_devSampleRate; } diff --git a/plugins/samplemimo/limesdrmimo/limesdrmimosettings.h b/plugins/samplemimo/limesdrmimo/limesdrmimosettings.h index 1ea10032e..1ba96f76f 100644 --- a/plugins/samplemimo/limesdrmimo/limesdrmimosettings.h +++ b/plugins/samplemimo/limesdrmimo/limesdrmimosettings.h @@ -52,6 +52,7 @@ struct LimeSDRMIMOSettings }; // General + QString m_title; qint32 m_devSampleRate; uint8_t m_gpioDir; //!< GPIO pin direction LSB first; 0 input, 1 output uint8_t m_gpioPins; //!< GPIO pins to write; LSB first diff --git a/plugins/samplemimo/metismiso/metismiso.cpp b/plugins/samplemimo/metismiso/metismiso.cpp index 3ad802c5d..6efe7fa3c 100644 --- a/plugins/samplemimo/metismiso/metismiso.cpp +++ b/plugins/samplemimo/metismiso/metismiso.cpp @@ -484,6 +484,9 @@ void MetisMISO::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getMetisMisoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("nbReceivers")) { settings.m_nbReceivers = response.getMetisMisoSettings()->getNbReceivers(); } @@ -614,6 +617,12 @@ void MetisMISO::webapiUpdateDeviceSettings( void MetisMISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const MetisMISOSettings& settings) { + if (response.getMetisMisoSettings()->getTitle()) { + *response.getMetisMisoSettings()->getTitle() = settings.m_title; + } else { + response.getMetisMisoSettings()->setTitle(new QString(settings.m_title)); + } + response.getMetisMisoSettings()->setNbReceivers(settings.m_nbReceivers); response.getMetisMisoSettings()->setTxEnable(settings.m_txEnable ? 1 : 0); @@ -676,6 +685,9 @@ void MetisMISO::webapiReverseSendSettings(const QList& deviceSettingsKe swgDeviceSettings->setMetisMisoSettings(new SWGSDRangel::SWGMetisMISOSettings()); SWGSDRangel::SWGMetisMISOSettings *swgMetisMISOSettings = swgDeviceSettings->getMetisMisoSettings(); + if (deviceSettingsKeys.contains("title") || force) { + swgMetisMISOSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("nbReceivers") || force) { swgMetisMISOSettings->setNbReceivers(settings.m_nbReceivers); } diff --git a/plugins/samplemimo/metismiso/metismisogui.cpp b/plugins/samplemimo/metismiso/metismisogui.cpp index 4466998f1..4e780a39a 100644 --- a/plugins/samplemimo/metismiso/metismisogui.cpp +++ b/plugins/samplemimo/metismiso/metismisogui.cpp @@ -30,6 +30,7 @@ #include "gui/glspectrum.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "gui/basicdevicesettingsdialog.h" #include "dsp/dspcommands.h" @@ -384,6 +385,8 @@ void MetisMISOGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->streamIndex->setCurrentIndex(m_settings.m_streamIndex); ui->spectrumSource->setCurrentIndex(m_settings.m_spectrumStreamIndex); ui->nbRxIndex->setCurrentIndex(m_settings.m_nbReceivers - 1); @@ -631,21 +634,30 @@ void MetisMISOGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/metismiso/metismisosettings.cpp b/plugins/samplemimo/metismiso/metismisosettings.cpp index 775e62591..8d9a86e1f 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.cpp +++ b/plugins/samplemimo/metismiso/metismisosettings.cpp @@ -26,6 +26,7 @@ MetisMISOSettings::MetisMISOSettings() MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other) { + m_title = other.m_title; m_nbReceivers = other.m_nbReceivers; m_txEnable = other.m_txEnable; std::copy(other.m_rxCenterFrequencies, other.m_rxCenterFrequencies + m_maxReceivers, m_rxCenterFrequencies); @@ -58,6 +59,7 @@ MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other) void MetisMISOSettings::resetToDefaults() { + m_title = "MetisMISO"; m_nbReceivers = 1; m_txEnable = false; std::fill(m_rxCenterFrequencies, m_rxCenterFrequencies + m_maxReceivers, 7074000); @@ -118,6 +120,7 @@ QByteArray MetisMISOSettings::serialize() const s.writeS32(24, m_spectrumStreamIndex); s.writeBool(25, m_streamLock); s.writeBool(26, m_rxLock); + s.writeString(27, m_title); for (int i = 0; i < m_maxReceivers; i++) { @@ -183,6 +186,7 @@ bool MetisMISOSettings::deserialize(const QByteArray& data) d.readS32(24, &m_spectrumStreamIndex, 0); d.readBool(25, &m_streamLock, false); d.readBool(26, &m_rxLock, false); + d.readString(27, &m_title, "MetisMISO"); return true; } @@ -195,6 +199,9 @@ bool MetisMISOSettings::deserialize(const QByteArray& data) void MetisMISOSettings::applySettings(const QStringList& settingsKeys, const MetisMISOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("nbReceivers")) { m_nbReceivers = settings.m_nbReceivers; } @@ -327,6 +334,9 @@ QString MetisMISOSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("nbReceivers") || force) { ostr << " m_nbReceivers: " << m_nbReceivers; } diff --git a/plugins/samplemimo/metismiso/metismisosettings.h b/plugins/samplemimo/metismiso/metismisosettings.h index 189d5cb1f..1e49dac1e 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.h +++ b/plugins/samplemimo/metismiso/metismisosettings.h @@ -23,8 +23,10 @@ #include -struct MetisMISOSettings { +struct MetisMISOSettings +{ static const int m_maxReceivers = 8; + QString m_title; unsigned int m_nbReceivers; bool m_txEnable; quint64 m_rxCenterFrequencies[m_maxReceivers]; diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimo.cpp b/plugins/samplemimo/plutosdrmimo/plutosdrmimo.cpp index 0c5016572..de69e98a7 100644 --- a/plugins/samplemimo/plutosdrmimo/plutosdrmimo.cpp +++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimo.cpp @@ -794,6 +794,9 @@ void PlutoSDRMIMO::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getPlutoSdrMimoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("devSampleRate")) { settings.m_devSampleRate = response.getPlutoSdrMimoSettings()->getDevSampleRate(); } @@ -924,6 +927,12 @@ void PlutoSDRMIMO::webapiUpdateDeviceSettings( void PlutoSDRMIMO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDRMIMOSettings& settings) { + if (response.getPlutoSdrMimoSettings()->getTitle()) { + *response.getPlutoSdrMimoSettings()->getTitle() = settings.m_title; + } else { + response.getPlutoSdrMimoSettings()->setTitle(new QString(settings.m_title)); + } + response.getPlutoSdrMimoSettings()->setDevSampleRate(settings.m_devSampleRate); response.getPlutoSdrMimoSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getPlutoSdrMimoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency); @@ -1029,6 +1038,9 @@ void PlutoSDRMIMO::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title")) { + swgPlutoSDRMIMOSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("devSampleRate") || force) { swgPlutoSDRMIMOSettings->setDevSampleRate(settings.m_devSampleRate); } diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp index 9ea5c1bb3..f1f7c450e 100644 --- a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp +++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp @@ -30,6 +30,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/devicesamplestatic.h" #include "dsp/devicesamplesource.h" @@ -146,6 +147,9 @@ bool PlutoSDRMIMOGUI::deserialize(const QByteArray& data) void PlutoSDRMIMOGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + if (m_rxElseTx) { ui->transverter->setDeltaFrequency(m_settings.m_rxTransverterDeltaFrequency); @@ -994,21 +998,30 @@ void PlutoSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.cpp b/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.cpp index c3a52f6d2..e79620658 100644 --- a/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.cpp +++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.cpp @@ -29,6 +29,7 @@ PlutoSDRMIMOSettings::PlutoSDRMIMOSettings() void PlutoSDRMIMOSettings::resetToDefaults() { + m_title = "PlutoSDRMIMO"; m_devSampleRate = 2500 * 1000; m_LOppmTenths = 0; @@ -87,6 +88,7 @@ QByteArray PlutoSDRMIMOSettings::serialize() const // Common s.writeU64(1, m_devSampleRate); s.writeS32(2, m_LOppmTenths); + s.writeString(3, m_title); // Rx s.writeU64(10, m_rxCenterFrequency); @@ -163,6 +165,7 @@ bool PlutoSDRMIMOSettings::deserialize(const QByteArray& data) // Common d.readU64(1, &m_devSampleRate, 2500 * 1000); d.readS32(2, &m_LOppmTenths, 0); + d.readString(3, &m_title, "PlutoSDRMIMO"); // Rx d.readU64(10, &m_rxCenterFrequency, 435000*1000); @@ -287,6 +290,9 @@ bool PlutoSDRMIMOSettings::deserialize(const QByteArray& data) void PlutoSDRMIMOSettings::applySettings(const QStringList& settingsKeys, const PlutoSDRMIMOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("devSampleRate")) { m_devSampleRate = settings.m_devSampleRate; } @@ -419,6 +425,9 @@ QString PlutoSDRMIMOSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("devSampleRate") || force) { ostr << " m_devSampleRate: " << m_devSampleRate; } diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.h b/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.h index e49907118..e4df08d8e 100644 --- a/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.h +++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimosettings.h @@ -63,6 +63,7 @@ struct PlutoSDRMIMOSettings { } GainMode; // Common + QString m_title; quint64 m_devSampleRate; //!< Host interface sample rate qint32 m_LOppmTenths; //!< XO correction diff --git a/plugins/samplemimo/testmi/testmi.cpp b/plugins/samplemimo/testmi/testmi.cpp index 28d63e12b..7934a9eb6 100644 --- a/plugins/samplemimo/testmi/testmi.cpp +++ b/plugins/samplemimo/testmi/testmi.cpp @@ -679,6 +679,10 @@ void TestMI::webapiUpdateDeviceSettings( } + + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getTestMiSettings()->getTitle(); + } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getTestMiSettings()->getUseReverseApi() != 0; } @@ -722,6 +726,12 @@ void TestMI::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response streams->back()->setPhaseImbalance(it->m_phaseImbalance); } + if (response.getTestMiSettings()->getTitle()) { + *response.getTestMiSettings()->getTitle() = settings.m_title; + } else { + response.getTestMiSettings()->setTitle(new QString(settings.m_title)); + } + response.getTestMiSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getTestMiSettings()->getReverseApiAddress()) { diff --git a/plugins/samplemimo/testmi/testmigui.cpp b/plugins/samplemimo/testmi/testmigui.cpp index cd94f0268..3276418ce 100644 --- a/plugins/samplemimo/testmi/testmigui.cpp +++ b/plugins/samplemimo/testmi/testmigui.cpp @@ -31,6 +31,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "util/db.h" @@ -397,6 +398,8 @@ void TestMIGui::displaySettings() blockApplySettings(true); ui->sampleSize->blockSignals(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->streamIndex->setCurrentIndex(m_streamIndex); ui->centerFrequency->setValue(m_settings.m_streams[m_streamIndex].m_centerFrequency / 1000); ui->decimation->setCurrentIndex(m_settings.m_streams[m_streamIndex].m_log2Decim); @@ -557,17 +560,25 @@ void TestMIGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/testmi/testmisettings.cpp b/plugins/samplemimo/testmi/testmisettings.cpp index 1796e5ccc..bd9d63c5d 100644 --- a/plugins/samplemimo/testmi/testmisettings.cpp +++ b/plugins/samplemimo/testmi/testmisettings.cpp @@ -48,6 +48,7 @@ void TestMIStreamSettings::resetToDefaults() TestMISettings::TestMISettings() { + m_title = "TestMI"; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -80,6 +81,7 @@ QByteArray TestMISettings::serialize() const s.writeString(2, m_reverseAPIAddress); s.writeU32(3, m_reverseAPIPort); s.writeU32(4, m_reverseAPIDeviceIndex); + s.writeString(5, m_title); for (unsigned int i = 0; i < m_streams.size(); i++) { @@ -173,9 +175,3 @@ bool TestMISettings::deserialize(const QByteArray& data) return false; } } - - - - - - diff --git a/plugins/samplemimo/testmi/testmisettings.h b/plugins/samplemimo/testmi/testmisettings.h index 0fae4ceb9..8788b9fa6 100644 --- a/plugins/samplemimo/testmi/testmisettings.h +++ b/plugins/samplemimo/testmi/testmisettings.h @@ -70,6 +70,7 @@ struct TestMIStreamSettings { struct TestMISettings { + QString m_title; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplemimo/testmosync/testmosync.cpp b/plugins/samplemimo/testmosync/testmosync.cpp index 9ed5a9407..b316b3c47 100644 --- a/plugins/samplemimo/testmosync/testmosync.cpp +++ b/plugins/samplemimo/testmosync/testmosync.cpp @@ -401,6 +401,12 @@ void TestMOSync::webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const TestMOSyncSettings& settings) { + if (response.getTestMoSyncSettings()->getTitle()) { + *response.getTestMoSyncSettings()->getTitle() = settings.m_title; + } else { + response.getTestMoSyncSettings()->setTitle(new QString(settings.m_title)); + } + response.getTestMoSyncSettings()->setCenterFrequency(settings.m_centerFrequency); response.getTestMoSyncSettings()->setFcPosTx((int) settings.m_fcPosTx); response.getTestMoSyncSettings()->setLog2Interp(settings.m_log2Interp); @@ -412,6 +418,9 @@ void TestMOSync::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getTestMoSyncSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getTestMoSyncSettings()->getCenterFrequency(); } diff --git a/plugins/samplemimo/testmosync/testmosyncgui.cpp b/plugins/samplemimo/testmosync/testmosyncgui.cpp index d92315b47..5a1c4b070 100644 --- a/plugins/samplemimo/testmosync/testmosyncgui.cpp +++ b/plugins/samplemimo/testmosync/testmosyncgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/spectrumvis.h" #include "device/deviceapi.h" @@ -204,6 +205,8 @@ void TestMOSyncGui::updateSampleRateAndFrequency() void TestMOSyncGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->sampleRate->setValue(m_settings.m_sampleRate); } @@ -314,21 +317,30 @@ void TestMOSyncGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/testmosync/testmosyncsettings.cpp b/plugins/samplemimo/testmosync/testmosyncsettings.cpp index 81803e381..17567f370 100644 --- a/plugins/samplemimo/testmosync/testmosyncsettings.cpp +++ b/plugins/samplemimo/testmosync/testmosyncsettings.cpp @@ -29,6 +29,7 @@ TestMOSyncSettings::TestMOSyncSettings() void TestMOSyncSettings::resetToDefaults() { + m_title = "TestMOSync"; m_centerFrequency = 435000*1000; m_sampleRate = 48000; m_log2Interp = 0; @@ -50,6 +51,7 @@ QByteArray TestMOSyncSettings::serialize() const s.writeString(7, m_reverseAPIAddress); s.writeU32(8, m_reverseAPIPort); s.writeU32(9, m_reverseAPIDeviceIndex); + s.writeString(10, m_title); return s.final(); } @@ -73,9 +75,9 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data) d.readU32(2, &m_log2Interp, 0); d.readS32(3, &intval, 2); m_fcPosTx = (fcPos_t) intval; - d.readBool(1, &m_useReverseAPI, false); - d.readString(2, &m_reverseAPIAddress, "127.0.0.1"); - d.readU32(3, &utmp, 0); + d.readBool(6, &m_useReverseAPI, false); + d.readString(7, &m_reverseAPIAddress, "127.0.0.1"); + d.readU32(8, &utmp, 0); if ((utmp > 1023) && (utmp < 65535)) { m_reverseAPIPort = utmp; @@ -83,9 +85,11 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data) m_reverseAPIPort = 8888; } - d.readU32(4, &utmp, 0); + d.readU32(9, &utmp, 0); m_reverseAPIDeviceIndex = utmp > 99 ? 99 : utmp; + d.readString(10, &m_title, "TestMOSync"); + return true; } else @@ -97,6 +101,9 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data) void TestMOSyncSettings::applySettings(const QStringList& settingsKeys, const TestMOSyncSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -127,6 +134,9 @@ QString TestMOSyncSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplemimo/testmosync/testmosyncsettings.h b/plugins/samplemimo/testmosync/testmosyncsettings.h index 5b9591965..b1a504e88 100644 --- a/plugins/samplemimo/testmosync/testmosyncsettings.h +++ b/plugins/samplemimo/testmosync/testmosyncsettings.h @@ -27,6 +27,7 @@ struct TestMOSyncSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; quint64 m_sampleRate; quint32 m_log2Interp; diff --git a/plugins/samplemimo/xtrxmimo/xtrxmimo.cpp b/plugins/samplemimo/xtrxmimo/xtrxmimo.cpp index c4a0ba32e..14c6a60c4 100644 --- a/plugins/samplemimo/xtrxmimo/xtrxmimo.cpp +++ b/plugins/samplemimo/xtrxmimo/xtrxmimo.cpp @@ -1223,6 +1223,9 @@ void XTRXMIMO::webapiUpdateDeviceSettings( SWGSDRangel::SWGDeviceSettings& response) { // common + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getXtrxMimoSettings()->getTitle(); + } if (deviceSettingsKeys.contains("extClock")) { settings.m_extClock = response.getXtrxMimoSettings()->getExtClock() != 0; } @@ -1371,6 +1374,12 @@ void XTRXMIMO::webapiFormatDeviceSettings( const XTRXMIMOSettings& settings) { // common + if (response.getXtrxMimoSettings()->getTitle()) { + *response.getXtrxMimoSettings()->getTitle() = settings.m_title; + } else { + response.getXtrxMimoSettings()->setTitle(new QString(settings.m_title)); + } + response.getXtrxMimoSettings()->setExtClock(settings.m_extClock ? 1 : 0); response.getXtrxMimoSettings()->setExtClockFreq(settings.m_extClockFreq); diff --git a/plugins/samplemimo/xtrxmimo/xtrxmimogui.cpp b/plugins/samplemimo/xtrxmimo/xtrxmimogui.cpp index 168ad995d..61bbd371f 100644 --- a/plugins/samplemimo/xtrxmimo/xtrxmimogui.cpp +++ b/plugins/samplemimo/xtrxmimo/xtrxmimogui.cpp @@ -30,6 +30,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/devicesamplestatic.h" #include "dsp/dspcommands.h" #include "xtrx/devicextrxshared.h" @@ -268,6 +269,8 @@ void XTRXMIMOGUI::displaySettings() ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq); ui->extClock->setExternalClockActive(m_settings.m_extClock); displaySampleRate(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); if (m_rxElseTx) { @@ -1081,21 +1084,30 @@ void XTRXMIMOGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplemimo/xtrxmimo/xtrxmimosettings.cpp b/plugins/samplemimo/xtrxmimo/xtrxmimosettings.cpp index 4254bf2dc..4f5c1a49e 100644 --- a/plugins/samplemimo/xtrxmimo/xtrxmimosettings.cpp +++ b/plugins/samplemimo/xtrxmimo/xtrxmimosettings.cpp @@ -26,6 +26,7 @@ XTRXMIMOSettings::XTRXMIMOSettings() void XTRXMIMOSettings::resetToDefaults() { // common + m_title = "XTRXMIMO"; m_extClock = false; m_extClockFreq = 0; // Auto m_useReverseAPI = false; @@ -88,6 +89,7 @@ QByteArray XTRXMIMOSettings::serialize() const s.writeString(6, m_reverseAPIAddress); s.writeU32(7, m_reverseAPIPort); s.writeU32(8, m_reverseAPIDeviceIndex); + s.writeString(9, m_title); // Rx s.writeU32(20, m_log2HardDecim); s.writeU32(21, m_log2SoftDecim); @@ -161,6 +163,7 @@ bool XTRXMIMOSettings::deserialize(const QByteArray& data) } d.readU32(8, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(9, &m_title, "XTRXMIMO"); // Rx d.readU32(20, &m_log2HardDecim, 1); d.readU32(21, &m_log2SoftDecim, 0); @@ -219,6 +222,9 @@ bool XTRXMIMOSettings::deserialize(const QByteArray& data) void XTRXMIMOSettings::applySettings(const QStringList& settingsKeys, const XTRXMIMOSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("extClock")) { m_extClock = settings.m_extClock; } @@ -354,6 +360,9 @@ QString XTRXMIMOSettings::getDebugString(const QStringList& settingsKeys, bool f { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("extClock") || force) { ostr << " m_extClock: " << m_extClock; } diff --git a/plugins/samplemimo/xtrxmimo/xtrxmimosettings.h b/plugins/samplemimo/xtrxmimo/xtrxmimosettings.h index 18bc8ad91..94a4cc163 100644 --- a/plugins/samplemimo/xtrxmimo/xtrxmimosettings.h +++ b/plugins/samplemimo/xtrxmimo/xtrxmimosettings.h @@ -42,6 +42,7 @@ struct XTRXMIMOSettings } TxAntenna; // common + QString m_title; bool m_extClock; //!< True if external clock source uint32_t m_extClockFreq; //!< Frequency (Hz) of external clock source uint8_t m_gpioDir; //!< GPIO pin direction LSB first; 0 input, 1 output diff --git a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutput.cpp b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutput.cpp index 26430ac4d..1f556aa2d 100644 --- a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutput.cpp +++ b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutput.cpp @@ -375,6 +375,9 @@ void AaroniaRTSAOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAaroniaRtsaOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getAaroniaRtsaOutputSettings()->getCenterFrequency(); } @@ -400,6 +403,12 @@ void AaroniaRTSAOutput::webapiUpdateDeviceSettings( void AaroniaRTSAOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AaroniaRTSAOutputSettings& settings) { + if (response.getAaroniaRtsaOutputSettings()->getTitle()) { + *response.getAaroniaRtsaOutputSettings()->getTitle() = settings.m_title; + } else { + response.getAaroniaRtsaOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getAaroniaRtsaOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getAaroniaRtsaOutputSettings()->setSampleRate(settings.m_sampleRate); diff --git a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputgui.cpp b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputgui.cpp index 88b7a20a4..704ef368b 100644 --- a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputgui.cpp +++ b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputgui.cpp @@ -35,6 +35,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -259,6 +260,8 @@ void AaroniaRTSAOutputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->sampleRate->setValue(m_settings.m_sampleRate); ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0)); @@ -369,21 +372,30 @@ void AaroniaRTSAOutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.cpp b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.cpp index bfb55e411..e8de36ba6 100644 --- a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.cpp +++ b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.cpp @@ -27,6 +27,7 @@ AaroniaRTSAOutputSettings::AaroniaRTSAOutputSettings() void AaroniaRTSAOutputSettings::resetToDefaults() { + m_title = "AaroniaRTSAOutput"; m_centerFrequency = 433200000; m_sampleRate = 100000; m_serverAddress = "127.0.0.1:5550"; @@ -43,6 +44,7 @@ QByteArray AaroniaRTSAOutputSettings::serialize() const s.writeU64(1, m_centerFrequency); s.writeString(2, m_serverAddress); s.writeS32(3, m_sampleRate); + s.writeString(4, m_title); s.writeString(20, m_reverseAPIAddress); s.writeU32(21, m_reverseAPIPort); s.writeU32(22, m_reverseAPIDeviceIndex); @@ -67,6 +69,7 @@ bool AaroniaRTSAOutputSettings::deserialize(const QByteArray& data) d.readU64(1, &m_centerFrequency, 433200000); d.readString(2, &m_serverAddress, "127.0.0.1:5550"); d.readS32(3, &m_sampleRate, 100000); + d.readString(4, &m_title, "AaroniaRTSAOutput"); d.readString(20, &m_reverseAPIAddress, "127.0.0.1"); d.readU32(21, &uintval, 0); @@ -90,6 +93,9 @@ bool AaroniaRTSAOutputSettings::deserialize(const QByteArray& data) void AaroniaRTSAOutputSettings::applySettings(const QStringList& settingsKeys, const AaroniaRTSAOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -117,6 +123,9 @@ QString AaroniaRTSAOutputSettings::getDebugString(const QStringList& settingsKey { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.h b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.h index 0c4e602db..f6bc0359e 100644 --- a/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.h +++ b/plugins/samplesink/aaroniartsaoutput/aaroniartsaoutputsettings.h @@ -34,6 +34,7 @@ struct AaroniaRTSAOutputSettings ConnectionDisconnected // 4 - magenta }; + QString m_title; quint64 m_centerFrequency; int m_sampleRate; QString m_serverAddress; diff --git a/plugins/samplesink/audiooutput/audiooutput.cpp b/plugins/samplesink/audiooutput/audiooutput.cpp index ac25223f9..11fb8c777 100644 --- a/plugins/samplesink/audiooutput/audiooutput.cpp +++ b/plugins/samplesink/audiooutput/audiooutput.cpp @@ -332,6 +332,9 @@ void AudioOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAudioOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("deviceName")) { settings.m_deviceName = *response.getAudioOutputSettings()->getDeviceName(); } @@ -357,6 +360,12 @@ void AudioOutput::webapiUpdateDeviceSettings( void AudioOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AudioOutputSettings& settings) { + if (response.getAudioOutputSettings()->getTitle()) { + *response.getAudioOutputSettings()->getTitle() = settings.m_title; + } else { + response.getAudioOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getAudioOutputSettings()->setDeviceName(new QString(settings.m_deviceName)); response.getAudioOutputSettings()->setVolume(settings.m_volume); response.getAudioOutputSettings()->setIqMapping((int) settings.m_iqMapping); @@ -463,4 +472,3 @@ void AudioOutput::networkManagerFinished(QNetworkReply *reply) reply->deleteLater(); } - diff --git a/plugins/samplesink/audiooutput/audiooutputgui.cpp b/plugins/samplesink/audiooutput/audiooutputgui.cpp index 15a649278..b04f9bc1f 100644 --- a/plugins/samplesink/audiooutput/audiooutputgui.cpp +++ b/plugins/samplesink/audiooutput/audiooutputgui.cpp @@ -25,6 +25,7 @@ #include "gui/audioselectdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspengine.h" #include "dsp/dspcommands.h" #include "audiooutputgui.h" @@ -175,6 +176,8 @@ void AudioOutputGui::updateSampleRateAndFrequency() void AudioOutputGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->deviceLabel->setText(m_settings.m_deviceName); ui->volume->setValue((int)(m_settings.m_volume*10.0f)); ui->volumeText->setText(QString("%1").arg(m_settings.m_volume, 3, 'f', 1)); @@ -249,21 +252,30 @@ void AudioOutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Rejected) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/audiooutput/audiooutputsettings.cpp b/plugins/samplesink/audiooutput/audiooutputsettings.cpp index 464beae24..b079fe771 100644 --- a/plugins/samplesink/audiooutput/audiooutputsettings.cpp +++ b/plugins/samplesink/audiooutput/audiooutputsettings.cpp @@ -30,6 +30,7 @@ AudioOutputSettings::AudioOutputSettings() void AudioOutputSettings::resetToDefaults() { + m_title = "AudioOutput"; m_deviceName = ""; m_volume = 1.0f; m_iqMapping = LR; @@ -45,6 +46,7 @@ QByteArray AudioOutputSettings::serialize() const s.writeString(1, m_deviceName); s.writeFloat(3, m_volume); + s.writeString(4, m_title); s.writeS32(5, (int)m_iqMapping); s.writeBool(24, m_useReverseAPI); @@ -71,6 +73,7 @@ bool AudioOutputSettings::deserialize(const QByteArray& data) d.readString(1, &m_deviceName, ""); d.readFloat(3, &m_volume, 1.0f); + d.readString(4, &m_title, "AudioOutput"); d.readS32(5, (int *)&m_iqMapping, IQMapping::LR); d.readBool(24, &m_useReverseAPI, false); diff --git a/plugins/samplesink/audiooutput/audiooutputsettings.h b/plugins/samplesink/audiooutput/audiooutputsettings.h index 0be0d741d..22039ed03 100644 --- a/plugins/samplesink/audiooutput/audiooutputsettings.h +++ b/plugins/samplesink/audiooutput/audiooutputsettings.h @@ -26,6 +26,7 @@ struct AudioOutputSettings { + QString m_title; QString m_deviceName; // Including realm, as from getFullDeviceName below float m_volume; enum IQMapping { diff --git a/plugins/samplesink/bladerf1output/bladerf1output.cpp b/plugins/samplesink/bladerf1output/bladerf1output.cpp index 9d03add8e..1108a8f58 100644 --- a/plugins/samplesink/bladerf1output/bladerf1output.cpp +++ b/plugins/samplesink/bladerf1output/bladerf1output.cpp @@ -511,6 +511,12 @@ int Bladerf1Output::webapiSettingsGet( void Bladerf1Output::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF1OutputSettings& settings) { + if (response.getBladeRf1OutputSettings()->getTitle()) { + *response.getBladeRf1OutputSettings()->getTitle() = settings.m_title; + } else { + response.getBladeRf1OutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getBladeRf1OutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getBladeRf1OutputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getBladeRf1OutputSettings()->setVga1(settings.m_vga1); @@ -561,6 +567,9 @@ void Bladerf1Output::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getBladeRf1OutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getBladeRf1OutputSettings()->getCenterFrequency(); } @@ -641,6 +650,9 @@ void Bladerf1Output::webapiReverseSendSettings(const QList& deviceSetti // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgBladeRF1OutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgBladeRF1OutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp b/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp index 4377f6331..72cd5f1e1 100644 --- a/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp +++ b/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp @@ -26,6 +26,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -217,6 +218,8 @@ void Bladerf1OutputGui::displaySampleRate() void Bladerf1OutputGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); displaySampleRate(); @@ -478,21 +481,30 @@ void Bladerf1OutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/bladerf1output/bladerf1outputsettings.cpp b/plugins/samplesink/bladerf1output/bladerf1outputsettings.cpp index 1df4ab13a..9cab543ad 100644 --- a/plugins/samplesink/bladerf1output/bladerf1outputsettings.cpp +++ b/plugins/samplesink/bladerf1output/bladerf1outputsettings.cpp @@ -28,6 +28,7 @@ BladeRF1OutputSettings::BladeRF1OutputSettings() void BladeRF1OutputSettings::resetToDefaults() { + m_title = "BladeRF1"; m_centerFrequency = 435000*1000; m_devSampleRate = 3072000; m_vga1 = -20; @@ -59,6 +60,7 @@ QByteArray BladeRF1OutputSettings::serialize() const s.writeString(10, m_reverseAPIAddress); s.writeU32(11, m_reverseAPIPort); s.writeU32(12, m_reverseAPIDeviceIndex); + s.writeString(13, m_title); return s.final(); } @@ -100,6 +102,7 @@ bool BladeRF1OutputSettings::deserialize(const QByteArray& data) d.readU32(12, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(13, &m_title, "BladeRF1"); return true; } diff --git a/plugins/samplesink/bladerf1output/bladerf1outputsettings.h b/plugins/samplesink/bladerf1output/bladerf1outputsettings.h index a3dfa3be7..6071f0d7d 100644 --- a/plugins/samplesink/bladerf1output/bladerf1outputsettings.h +++ b/plugins/samplesink/bladerf1output/bladerf1outputsettings.h @@ -26,7 +26,9 @@ #include -struct BladeRF1OutputSettings { +struct BladeRF1OutputSettings +{ + QString m_title; quint64 m_centerFrequency; qint32 m_devSampleRate; qint32 m_vga1; diff --git a/plugins/samplesink/bladerf2output/bladerf2output.cpp b/plugins/samplesink/bladerf2output/bladerf2output.cpp index 2bbc9d71a..b3255ab72 100644 --- a/plugins/samplesink/bladerf2output/bladerf2output.cpp +++ b/plugins/samplesink/bladerf2output/bladerf2output.cpp @@ -969,6 +969,9 @@ void BladeRF2Output::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getBladeRf2OutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getBladeRf2OutputSettings()->getCenterFrequency(); } @@ -1021,6 +1024,12 @@ int BladeRF2Output::webapiReportGet(SWGSDRangel::SWGDeviceReport& response, QStr void BladeRF2Output::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF2OutputSettings& settings) { + if (response.getBladeRf1OutputSettings()->getTitle()) { + *response.getBladeRf1OutputSettings()->getTitle() = settings.m_title; + } else { + response.getBladeRf1OutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getBladeRf2OutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getBladeRf2OutputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getBladeRf2OutputSettings()->setDevSampleRate(settings.m_devSampleRate); @@ -1126,6 +1135,9 @@ void BladeRF2Output::webapiReverseSendSettings(const QList& deviceSetti // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgBladeRF2OutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgBladeRF2OutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp b/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp index 60af6650c..797550286 100644 --- a/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp +++ b/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -287,6 +288,8 @@ void BladeRF2OutputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -463,21 +466,30 @@ void BladeRF2OutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/bladerf2output/bladerf2outputsettings.cpp b/plugins/samplesink/bladerf2output/bladerf2outputsettings.cpp index a7db5ea3d..c158c4938 100644 --- a/plugins/samplesink/bladerf2output/bladerf2outputsettings.cpp +++ b/plugins/samplesink/bladerf2output/bladerf2outputsettings.cpp @@ -30,6 +30,7 @@ BladeRF2OutputSettings::BladeRF2OutputSettings() void BladeRF2OutputSettings::resetToDefaults() { + m_title = "BladeRF2"; m_centerFrequency = 435000*1000; m_LOppmTenths = 0; m_devSampleRate = 3072000; @@ -61,6 +62,7 @@ QByteArray BladeRF2OutputSettings::serialize() const s.writeString(10, m_reverseAPIAddress); s.writeU32(11, m_reverseAPIPort); s.writeU32(12, m_reverseAPIDeviceIndex); + s.writeString(13, m_title); return s.final(); } @@ -99,6 +101,7 @@ bool BladeRF2OutputSettings::deserialize(const QByteArray& data) d.readU32(12, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(13, &m_title, "BladeRF2"); return true; } @@ -111,6 +114,9 @@ bool BladeRF2OutputSettings::deserialize(const QByteArray& data) void BladeRF2OutputSettings::applySettings(const QStringList& settingsKeys, const BladeRF2OutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -156,6 +162,9 @@ QString BladeRF2OutputSettings::getDebugString(const QStringList& settingsKeys, { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/bladerf2output/bladerf2outputsettings.h b/plugins/samplesink/bladerf2output/bladerf2outputsettings.h index 7511ad15e..299334e29 100644 --- a/plugins/samplesink/bladerf2output/bladerf2outputsettings.h +++ b/plugins/samplesink/bladerf2output/bladerf2outputsettings.h @@ -23,7 +23,9 @@ #include #include -struct BladeRF2OutputSettings { +struct BladeRF2OutputSettings +{ + QString m_title; quint64 m_centerFrequency; int m_LOppmTenths; qint32 m_devSampleRate; diff --git a/plugins/samplesink/fileoutput/fileoutput.cpp b/plugins/samplesink/fileoutput/fileoutput.cpp index 735fab4ca..fa8e551f0 100644 --- a/plugins/samplesink/fileoutput/fileoutput.cpp +++ b/plugins/samplesink/fileoutput/fileoutput.cpp @@ -411,6 +411,12 @@ int FileOutput::webapiRun( void FileOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileOutputSettings& settings) { + if (response.getFileOutputSettings()->getTitle()) { + *response.getFileOutputSettings()->getTitle() = settings.m_title; + } else { + response.getFileOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getFileOutputSettings()->setFileName(new QString(settings.m_fileName)); response.getFileOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getFileOutputSettings()->setSampleRate(settings.m_sampleRate); @@ -433,6 +439,9 @@ void FileOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getFileOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("fileName")) { settings.m_fileName = *response.getFileOutputSettings()->getFileName(); } diff --git a/plugins/samplesink/fileoutput/fileoutputgui.cpp b/plugins/samplesink/fileoutput/fileoutputgui.cpp index 8770e9400..e94058045 100644 --- a/plugins/samplesink/fileoutput/fileoutputgui.cpp +++ b/plugins/samplesink/fileoutput/fileoutputgui.cpp @@ -30,6 +30,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/spectrumvis.h" @@ -210,6 +211,8 @@ void FileOutputGui::updateSampleRateAndFrequency() void FileOutputGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->sampleRate->setValue(m_settings.m_sampleRate); ui->fileNameText->setText(m_settings.m_fileName); @@ -362,21 +365,30 @@ void FileOutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/fileoutput/fileoutputsettings.cpp b/plugins/samplesink/fileoutput/fileoutputsettings.cpp index ce5364fc4..d725e19f1 100644 --- a/plugins/samplesink/fileoutput/fileoutputsettings.cpp +++ b/plugins/samplesink/fileoutput/fileoutputsettings.cpp @@ -28,6 +28,7 @@ FileOutputSettings::FileOutputSettings() void FileOutputSettings::resetToDefaults() { + m_title = "FileOutput"; m_centerFrequency = 435000*1000; m_sampleRate = 48000; m_log2Interp = 0; @@ -50,6 +51,7 @@ QByteArray FileOutputSettings::serialize() const s.writeString(5, m_reverseAPIAddress); s.writeU32(6, m_reverseAPIPort); s.writeU32(7, m_reverseAPIDeviceIndex); + s.writeString(9, m_title); if (m_spectrumGUI) { s.writeBlob(8, m_spectrumGUI->serialize()); @@ -87,6 +89,7 @@ bool FileOutputSettings::deserialize(const QByteArray& data) d.readU32(7, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(9, &m_title, "FileOutput"); if (m_spectrumGUI) { @@ -106,6 +109,9 @@ bool FileOutputSettings::deserialize(const QByteArray& data) void FileOutputSettings::applySettings(const QStringList& settingsKeys, const FileOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -136,6 +142,9 @@ QString FileOutputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/fileoutput/fileoutputsettings.h b/plugins/samplesink/fileoutput/fileoutputsettings.h index 26f8de404..838aca232 100644 --- a/plugins/samplesink/fileoutput/fileoutputsettings.h +++ b/plugins/samplesink/fileoutput/fileoutputsettings.h @@ -22,7 +22,9 @@ class Serializable; -struct FileOutputSettings { +struct FileOutputSettings +{ + QString m_title; quint64 m_centerFrequency; quint64 m_sampleRate; quint32 m_log2Interp; diff --git a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp index d2114ada8..962f68dcc 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp @@ -557,6 +557,9 @@ void HackRFOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getHackRfOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getHackRfOutputSettings()->getCenterFrequency(); } @@ -609,6 +612,12 @@ void HackRFOutput::webapiUpdateDeviceSettings( void HackRFOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const HackRFOutputSettings& settings) { + if (response.getHackRfOutputSettings()->getTitle()) { + *response.getHackRfOutputSettings()->getTitle() = settings.m_title; + } else { + response.getHackRfOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getHackRfOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getHackRfOutputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getHackRfOutputSettings()->setBandwidth(settings.m_bandwidth); @@ -672,6 +681,9 @@ void HackRFOutput::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgHackRFOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgHackRFOutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp index 6195ce65b..1cae2ddf6 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp @@ -25,6 +25,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -260,6 +261,8 @@ void HackRFOutputGui::displaySettings() updateFrequencyLimits(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->LOppm->setValue(m_settings.m_LOppmTenths); ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1))); @@ -480,21 +483,30 @@ void HackRFOutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("title"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputsettings.cpp b/plugins/samplesink/hackrfoutput/hackrfoutputsettings.cpp index ab1e89961..67f1ec122 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputsettings.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutputsettings.cpp @@ -28,6 +28,7 @@ HackRFOutputSettings::HackRFOutputSettings() void HackRFOutputSettings::resetToDefaults() { + m_title = "HackRF"; m_centerFrequency = 435000 * 1000; m_LOppmTenths = 0; m_biasT = false; @@ -63,6 +64,7 @@ QByteArray HackRFOutputSettings::serialize() const s.writeU32(12, m_reverseAPIDeviceIndex); s.writeBool(13, m_transverterMode); s.writeS64(14, m_transverterDeltaFrequency); + s.writeString(15, m_title); return s.final(); } @@ -105,6 +107,7 @@ bool HackRFOutputSettings::deserialize(const QByteArray& data) m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(13, &m_transverterMode, false); d.readS64(14, &m_transverterDeltaFrequency, 0); + d.readString(15, &m_title, "HackRF"); return true; } @@ -117,6 +120,9 @@ bool HackRFOutputSettings::deserialize(const QByteArray& data) void HackRFOutputSettings::applySettings(const QStringList& settingsKeys, const HackRFOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -168,6 +174,9 @@ QString HackRFOutputSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputsettings.h b/plugins/samplesink/hackrfoutput/hackrfoutputsettings.h index 1ea884cf1..6ad962b1a 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputsettings.h +++ b/plugins/samplesink/hackrfoutput/hackrfoutputsettings.h @@ -31,6 +31,7 @@ struct HackRFOutputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; quint32 m_bandwidth; diff --git a/plugins/samplesink/limesdroutput/limesdroutput.cpp b/plugins/samplesink/limesdroutput/limesdroutput.cpp index b8604d8be..f672d7f77 100644 --- a/plugins/samplesink/limesdroutput/limesdroutput.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutput.cpp @@ -1253,6 +1253,9 @@ void LimeSDROutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getLimeSdrOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("antennaPath")) { settings.m_antennaPath = (LimeSDROutputSettings::PathRFE) response.getLimeSdrOutputSettings()->getAntennaPath(); } @@ -1330,6 +1333,12 @@ int LimeSDROutput::webapiReportGet( } void LimeSDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LimeSDROutputSettings& settings) { + if (response.getLimeSdrOutputSettings()->getTitle()) { + *response.getLimeSdrOutputSettings()->getTitle() = settings.m_title; + } else { + response.getLimeSdrOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getLimeSdrOutputSettings()->setAntennaPath((int) settings.m_antennaPath); response.getLimeSdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getLimeSdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate); @@ -1438,6 +1447,9 @@ void LimeSDROutput::webapiReverseSendSettings(const QList& deviceSettin // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgLimeSdrOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("antennaPath") || force) { swgLimeSdrOutputSettings->setAntennaPath((int) settings.m_antennaPath); } diff --git a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp index c90d53e96..a24a254b2 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp @@ -24,6 +24,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -391,6 +392,8 @@ void LimeSDROutputGUI::displaySampleRate() void LimeSDROutputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -697,21 +700,30 @@ void LimeSDROutputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/limesdroutput/limesdroutputsettings.cpp b/plugins/samplesink/limesdroutput/limesdroutputsettings.cpp index da9ad9bb7..4567e3047 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputsettings.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutputsettings.cpp @@ -28,6 +28,7 @@ LimeSDROutputSettings::LimeSDROutputSettings() void LimeSDROutputSettings::resetToDefaults() { + m_title = "LimeSDR"; m_centerFrequency = 435000*1000; m_devSampleRate = 5000000; m_log2HardInterp = 3; @@ -75,6 +76,7 @@ QByteArray LimeSDROutputSettings::serialize() const s.writeString(21, m_reverseAPIAddress); s.writeU32(22, m_reverseAPIPort); s.writeU32(23, m_reverseAPIDeviceIndex); + s.writeString(24, m_title); return s.final(); } @@ -125,6 +127,7 @@ bool LimeSDROutputSettings::deserialize(const QByteArray& data) d.readU32(23, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(24, &m_title, "LimeSDR"); return true; } @@ -137,6 +140,9 @@ bool LimeSDROutputSettings::deserialize(const QByteArray& data) void LimeSDROutputSettings::applySettings(const QStringList& settingsKeys, const LimeSDROutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -206,6 +212,9 @@ QString LimeSDROutputSettings::getDebugString(const QStringList& settingsKeys, b { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } @@ -272,5 +281,3 @@ QString LimeSDROutputSettings::getDebugString(const QStringList& settingsKeys, b return QString(ostr.str().c_str()); } - - diff --git a/plugins/samplesink/limesdroutput/limesdroutputsettings.h b/plugins/samplesink/limesdroutput/limesdroutputsettings.h index 680c090f7..403710eb8 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputsettings.h +++ b/plugins/samplesink/limesdroutput/limesdroutputsettings.h @@ -45,6 +45,7 @@ struct LimeSDROutputSettings }; // global settings to be saved + QString m_title; uint64_t m_centerFrequency; int m_devSampleRate; uint32_t m_log2HardInterp; diff --git a/plugins/samplesink/localoutput/localoutput.cpp b/plugins/samplesink/localoutput/localoutput.cpp index eb67dd8a8..5887deeaf 100644 --- a/plugins/samplesink/localoutput/localoutput.cpp +++ b/plugins/samplesink/localoutput/localoutput.cpp @@ -299,6 +299,9 @@ void LocalOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getLocalOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getLocalOutputSettings()->getUseReverseApi() != 0; } @@ -315,6 +318,12 @@ void LocalOutput::webapiUpdateDeviceSettings( void LocalOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LocalOutputSettings& settings) { + if (response.getLocalOutputSettings()->getTitle()) { + *response.getLocalOutputSettings()->getTitle() = settings.m_title; + } else { + response.getLocalOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getLocalOutputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getLocalOutputSettings()->getReverseApiAddress()) { diff --git a/plugins/samplesink/localoutput/localoutputgui.cpp b/plugins/samplesink/localoutput/localoutputgui.cpp index 6700716a2..6c4bb79f0 100644 --- a/plugins/samplesink/localoutput/localoutputgui.cpp +++ b/plugins/samplesink/localoutput/localoutputgui.cpp @@ -34,6 +34,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -221,6 +222,8 @@ void LocalOutputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setText(QString("%L1").arg(m_streamCenterFrequency / 1000)); ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0)); @@ -295,21 +298,30 @@ void LocalOutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/localoutput/localoutputsettings.cpp b/plugins/samplesink/localoutput/localoutputsettings.cpp index e772d225e..b05bacf7e 100644 --- a/plugins/samplesink/localoutput/localoutputsettings.cpp +++ b/plugins/samplesink/localoutput/localoutputsettings.cpp @@ -27,6 +27,7 @@ LocalOutputSettings::LocalOutputSettings() void LocalOutputSettings::resetToDefaults() { + m_title = "LocalOutput"; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -37,6 +38,7 @@ QByteArray LocalOutputSettings::serialize() const { SimpleSerializer s(1); + s.writeString(1, m_title); s.writeString(4, m_reverseAPIAddress); s.writeU32(5, m_reverseAPIPort); s.writeU32(6, m_reverseAPIDeviceIndex); @@ -58,6 +60,7 @@ bool LocalOutputSettings::deserialize(const QByteArray& data) { quint32 uintval; + d.readString(1, &m_title, "LocalOutput"); d.readString(4, &m_reverseAPIAddress, "127.0.0.1"); d.readU32(5, &uintval, 0); @@ -81,6 +84,9 @@ bool LocalOutputSettings::deserialize(const QByteArray& data) void LocalOutputSettings::applySettings(const QStringList& settingsKeys, const LocalOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("useReverseAPI")) { m_useReverseAPI = settings.m_useReverseAPI; } @@ -99,6 +105,9 @@ QString LocalOutputSettings::getDebugString(const QStringList& settingsKeys, boo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("useReverseAPI") || force) { ostr << " m_useReverseAPI: " << m_useReverseAPI; } diff --git a/plugins/samplesink/localoutput/localoutputsettings.h b/plugins/samplesink/localoutput/localoutputsettings.h index a7ebd22b8..acdacecf7 100644 --- a/plugins/samplesink/localoutput/localoutputsettings.h +++ b/plugins/samplesink/localoutput/localoutputsettings.h @@ -23,7 +23,9 @@ #include #include -struct LocalOutputSettings { +struct LocalOutputSettings +{ + QString m_title; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp index 3a3dba625..37f47222e 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp @@ -758,6 +758,9 @@ void PlutoSDROutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getPlutoSdrOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getPlutoSdrOutputSettings()->getCenterFrequency(); } @@ -826,6 +829,12 @@ int PlutoSDROutput::webapiReportGet( void PlutoSDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDROutputSettings& settings) { + if (response.getPlutoSdrOutputSettings()->getTitle()) { + *response.getPlutoSdrOutputSettings()->getTitle() = settings.m_title; + } else { + response.getPlutoSdrOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getPlutoSdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getPlutoSdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getPlutoSdrOutputSettings()->setLOppmTenths(settings.m_LOppmTenths); @@ -872,6 +881,9 @@ void PlutoSDROutput::webapiReverseSendSettings(const QList& deviceSetti // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgPlutoSdrOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgPlutoSdrOutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp index de9283219..3ec63cbb4 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp @@ -28,6 +28,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" #include "plutosdr/deviceplutosdr.h" @@ -331,6 +332,8 @@ void PlutoSDROutputGUI::displaySampleRate() void PlutoSDROutputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); updateFrequencyLimits(); @@ -530,21 +533,30 @@ void PlutoSDROutputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputsettings.cpp b/plugins/samplesink/plutosdroutput/plutosdroutputsettings.cpp index e803403ea..6628f0163 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputsettings.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutputsettings.cpp @@ -27,6 +27,7 @@ PlutoSDROutputSettings::PlutoSDROutputSettings() void PlutoSDROutputSettings::resetToDefaults() { + m_title = "PlutoSDROutput"; m_centerFrequency = 435000 * 1000; m_LOppmTenths = 0; m_log2Interp = 0; @@ -66,6 +67,7 @@ QByteArray PlutoSDROutputSettings::serialize() const s.writeString(18, m_reverseAPIAddress); s.writeU32(19, m_reverseAPIPort); s.writeU32(20, m_reverseAPIDeviceIndex); + s.writeString(21, m_title); return s.final(); } @@ -119,6 +121,7 @@ bool PlutoSDROutputSettings::deserialize(const QByteArray& data) d.readU32(20, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(21, &m_title, "PlutoSDROutput"); return true; } @@ -131,6 +134,9 @@ bool PlutoSDROutputSettings::deserialize(const QByteArray& data) void PlutoSDROutputSettings::applySettings(const QStringList& settingsKeys, const PlutoSDROutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -188,6 +194,9 @@ QString PlutoSDROutputSettings::getDebugString(const QStringList& settingsKeys, { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputsettings.h b/plugins/samplesink/plutosdroutput/plutosdroutputsettings.h index c1f42c92a..cc989dec8 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputsettings.h +++ b/plugins/samplesink/plutosdroutput/plutosdroutputsettings.h @@ -35,6 +35,7 @@ struct PlutoSDROutputSettings { }; // global settings to be saved + QString m_title; quint64 m_centerFrequency; // common device settings quint64 m_devSampleRate; //!< Host interface sample rate diff --git a/plugins/samplesink/remoteoutput/remoteoutput.cpp b/plugins/samplesink/remoteoutput/remoteoutput.cpp index f3eeba7f6..38e0a4ffe 100644 --- a/plugins/samplesink/remoteoutput/remoteoutput.cpp +++ b/plugins/samplesink/remoteoutput/remoteoutput.cpp @@ -399,6 +399,9 @@ void RemoteOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getRemoteOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("nbFECBlocks")) { settings.m_nbFECBlocks = response.getRemoteOutputSettings()->getNbFecBlocks(); } @@ -450,6 +453,12 @@ int RemoteOutput::webapiReportGet( void RemoteOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RemoteOutputSettings& settings) { + if (response.getRemoteOutputSettings()->getTitle()) { + *response.getRemoteOutputSettings()->getTitle() = settings.m_title; + } else { + response.getRemoteOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getRemoteOutputSettings()->setNbFecBlocks(settings.m_nbFECBlocks); response.getRemoteOutputSettings()->setNbTxBytes(settings.m_nbTxBytes); response.getRemoteOutputSettings()->setApiAddress(new QString(settings.m_apiAddress)); @@ -656,6 +665,9 @@ void RemoteOutput::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgRemoteOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("nbFECBlocks") || force) { swgRemoteOutputSettings->setNbFecBlocks(settings.m_nbFECBlocks); } diff --git a/plugins/samplesink/remoteoutput/remoteoutputgui.cpp b/plugins/samplesink/remoteoutput/remoteoutputgui.cpp index e88bcf57b..8a23ffc93 100644 --- a/plugins/samplesink/remoteoutput/remoteoutputgui.cpp +++ b/plugins/samplesink/remoteoutput/remoteoutputgui.cpp @@ -31,6 +31,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" @@ -219,6 +220,8 @@ void RemoteOutputSinkGui::updateSampleRate() void RemoteOutputSinkGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setText(QString("%L1").arg(m_deviceCenterFrequency)); ui->nbFECBlocks->setValue(m_settings.m_nbFECBlocks); ui->nbTxBytes->setCurrentIndex(log2(m_settings.m_nbTxBytes)); @@ -556,21 +559,30 @@ void RemoteOutputSinkGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/remoteoutput/remoteoutputsettings.cpp b/plugins/samplesink/remoteoutput/remoteoutputsettings.cpp index 9ffe0e145..63a906134 100644 --- a/plugins/samplesink/remoteoutput/remoteoutputsettings.cpp +++ b/plugins/samplesink/remoteoutput/remoteoutputsettings.cpp @@ -27,6 +27,7 @@ RemoteOutputSettings::RemoteOutputSettings() void RemoteOutputSettings::resetToDefaults() { + m_title = "RemoteOutput"; m_nbFECBlocks = 0; m_nbTxBytes = 2; m_apiAddress = "127.0.0.1"; @@ -45,6 +46,7 @@ QByteArray RemoteOutputSettings::serialize() const { SimpleSerializer s(1); + s.writeString(2, m_title); s.writeU32(3, m_nbTxBytes); s.writeU32(4, m_nbFECBlocks); s.writeString(5, m_apiAddress); @@ -75,7 +77,8 @@ bool RemoteOutputSettings::deserialize(const QByteArray& data) { quint32 uintval; - d.readU32(4, &m_nbTxBytes, 2); + d.readString(2, &m_title, "RemoteOutput"); + d.readU32(3, &m_nbTxBytes, 2); d.readU32(4, &m_nbFECBlocks, 0); d.readString(5, &m_apiAddress, "127.0.0.1"); d.readU32(6, &uintval, 9090); @@ -109,6 +112,9 @@ bool RemoteOutputSettings::deserialize(const QByteArray& data) void RemoteOutputSettings::applySettings(const QStringList& settingsKeys, const RemoteOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("nbFECBlocks")) { m_nbFECBlocks = settings.m_nbFECBlocks; } @@ -151,6 +157,9 @@ QString RemoteOutputSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("nbFECBlocks") || force) { ostr << " m_nbFECBlocks: " << m_nbFECBlocks; } @@ -190,4 +199,3 @@ QString RemoteOutputSettings::getDebugString(const QStringList& settingsKeys, bo return QString(ostr.str().c_str()); } - diff --git a/plugins/samplesink/remoteoutput/remoteoutputsettings.h b/plugins/samplesink/remoteoutput/remoteoutputsettings.h index 5eb3f4947..3549cb50d 100644 --- a/plugins/samplesink/remoteoutput/remoteoutputsettings.h +++ b/plugins/samplesink/remoteoutput/remoteoutputsettings.h @@ -23,7 +23,9 @@ #include #include -struct RemoteOutputSettings { +struct RemoteOutputSettings +{ + QString m_title; quint32 m_nbFECBlocks; quint32 m_nbTxBytes; QString m_apiAddress; diff --git a/plugins/samplesink/soapysdroutput/soapysdroutput.cpp b/plugins/samplesink/soapysdroutput/soapysdroutput.cpp index 99d845941..16fec709c 100644 --- a/plugins/samplesink/soapysdroutput/soapysdroutput.cpp +++ b/plugins/samplesink/soapysdroutput/soapysdroutput.cpp @@ -1388,6 +1388,9 @@ void SoapySDROutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getSoapySdrOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getSoapySdrOutputSettings()->getCenterFrequency(); } @@ -1550,6 +1553,12 @@ int SoapySDROutput::webapiRun( void SoapySDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SoapySDROutputSettings& settings) { + if (response.getSoapySdrOutputSettings()->getTitle()) { + *response.getSoapySdrOutputSettings()->getTitle() = settings.m_title; + } else { + response.getSoapySdrOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getSoapySdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getSoapySdrOutputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getSoapySdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate); @@ -1851,6 +1860,9 @@ void SoapySDROutput::webapiReverseSendSettings(QList& deviceSettingsKey // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgSoapySDROutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgSoapySDROutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp b/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp index 7216a2195..21c461a34 100644 --- a/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp +++ b/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "soapygui/discreterangegui.h" #include "soapygui/intervalrangegui.h" #include "soapygui/stringrangegui.h" @@ -675,6 +676,8 @@ void SoapySDROutputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -893,17 +896,25 @@ void SoapySDROutputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/soapysdroutput/soapysdroutputsettings.cpp b/plugins/samplesink/soapysdroutput/soapysdroutputsettings.cpp index f7809ea7d..08fe9efe0 100644 --- a/plugins/samplesink/soapysdroutput/soapysdroutputsettings.cpp +++ b/plugins/samplesink/soapysdroutput/soapysdroutputsettings.cpp @@ -31,6 +31,7 @@ SoapySDROutputSettings::SoapySDROutputSettings() void SoapySDROutputSettings::resetToDefaults() { + m_title = "SoapySDROutput"; m_centerFrequency = 435000*1000; m_LOppmTenths = 0; m_devSampleRate = 1024000; @@ -78,6 +79,7 @@ QByteArray SoapySDROutputSettings::serialize() const s.writeString(24, m_reverseAPIAddress); s.writeU32(25, m_reverseAPIPort); s.writeU32(26, m_reverseAPIDeviceIndex); + s.writeString(27, m_title); return s.final(); } @@ -135,6 +137,7 @@ bool SoapySDROutputSettings::deserialize(const QByteArray& data) d.readU32(26, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(27, &m_title, "SoapySDROutput"); return true; } @@ -178,4 +181,3 @@ void SoapySDROutputSettings::deserializeArgumentMap(const QByteArray& data, QMap (*stream) >> map; delete stream; } - diff --git a/plugins/samplesink/soapysdroutput/soapysdroutputsettings.h b/plugins/samplesink/soapysdroutput/soapysdroutputsettings.h index 63758bcb9..e1663a9f7 100644 --- a/plugins/samplesink/soapysdroutput/soapysdroutputsettings.h +++ b/plugins/samplesink/soapysdroutput/soapysdroutputsettings.h @@ -24,7 +24,9 @@ #include #include -struct SoapySDROutputSettings { +struct SoapySDROutputSettings +{ + QString m_title; quint64 m_centerFrequency; int m_LOppmTenths; qint32 m_devSampleRate; diff --git a/plugins/samplesink/testsink/testsinkgui.cpp b/plugins/samplesink/testsink/testsinkgui.cpp index 2a9919e48..1670122e7 100644 --- a/plugins/samplesink/testsink/testsinkgui.cpp +++ b/plugins/samplesink/testsink/testsinkgui.cpp @@ -28,6 +28,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/spectrumvis.h" #include "dsp/dspcommands.h" @@ -191,6 +192,8 @@ void TestSinkGui::displaySettings() { ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->sampleRate->setValue(m_settings.m_sampleRate); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); } void TestSinkGui::sendSettings() @@ -289,21 +292,30 @@ void TestSinkGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/testsink/testsinksettings.cpp b/plugins/samplesink/testsink/testsinksettings.cpp index ee5ce4bda..45695793d 100644 --- a/plugins/samplesink/testsink/testsinksettings.cpp +++ b/plugins/samplesink/testsink/testsinksettings.cpp @@ -28,6 +28,7 @@ TestSinkSettings::TestSinkSettings() void TestSinkSettings::resetToDefaults() { + m_title = "TestSink"; m_centerFrequency = 435000*1000; m_sampleRate = 48000; m_log2Interp = 0; @@ -54,6 +55,7 @@ QByteArray TestSinkSettings::serialize() const s.writeString(8, m_reverseAPIAddress); s.writeU32(9, m_reverseAPIPort); s.writeU32(10, m_reverseAPIDeviceIndex); + s.writeString(11, m_title); return s.final(); } @@ -94,6 +96,7 @@ bool TestSinkSettings::deserialize(const QByteArray& data) d.readU32(10, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(11, &m_title, "TestSink"); return true; } diff --git a/plugins/samplesink/testsink/testsinksettings.h b/plugins/samplesink/testsink/testsinksettings.h index 8aad910a9..1b51b824f 100644 --- a/plugins/samplesink/testsink/testsinksettings.h +++ b/plugins/samplesink/testsink/testsinksettings.h @@ -24,7 +24,9 @@ class Serializable; -struct TestSinkSettings { +struct TestSinkSettings +{ + QString m_title; quint64 m_centerFrequency; quint64 m_sampleRate; quint32 m_log2Interp; diff --git a/plugins/samplesink/usrpoutput/usrpoutput.cpp b/plugins/samplesink/usrpoutput/usrpoutput.cpp index acf2d8ce0..96f5cc2a7 100644 --- a/plugins/samplesink/usrpoutput/usrpoutput.cpp +++ b/plugins/samplesink/usrpoutput/usrpoutput.cpp @@ -1028,6 +1028,9 @@ void USRPOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getUsrpOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("antennaPath")) { settings.m_antennaPath = *response.getUsrpOutputSettings()->getAntennaPath(); } @@ -1090,6 +1093,12 @@ int USRPOutput::webapiReportGet( } void USRPOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const USRPOutputSettings& settings) { + if (response.getUsrpOutputSettings()->getTitle()) { + *response.getUsrpOutputSettings()->getTitle() = settings.m_title; + } else { + response.getUsrpOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getUsrpOutputSettings()->setAntennaPath(new QString(settings.m_antennaPath)); response.getUsrpOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getUsrpOutputSettings()->setDevSampleRate(settings.m_devSampleRate); @@ -1172,6 +1181,9 @@ void USRPOutput::webapiReverseSendSettings(const QList& deviceSettingsK // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgUsrpOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("antennaPath") || force) { swgUsrpOutputSettings->setAntennaPath(new QString(settings.m_antennaPath)); } diff --git a/plugins/samplesink/usrpoutput/usrpoutputgui.cpp b/plugins/samplesink/usrpoutput/usrpoutputgui.cpp index 98b5e5b17..4d864efd3 100644 --- a/plugins/samplesink/usrpoutput/usrpoutputgui.cpp +++ b/plugins/samplesink/usrpoutput/usrpoutputgui.cpp @@ -24,6 +24,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -354,6 +355,8 @@ void USRPOutputGUI::displaySampleRate() void USRPOutputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -589,21 +592,30 @@ void USRPOutputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/usrpoutput/usrpoutputsettings.cpp b/plugins/samplesink/usrpoutput/usrpoutputsettings.cpp index a726884fa..d28f468fa 100644 --- a/plugins/samplesink/usrpoutput/usrpoutputsettings.cpp +++ b/plugins/samplesink/usrpoutput/usrpoutputsettings.cpp @@ -29,6 +29,7 @@ USRPOutputSettings::USRPOutputSettings() void USRPOutputSettings::resetToDefaults() { + m_title = "USRPOutput"; m_masterClockRate = -1; // Calculated by UHD m_centerFrequency = 435000*1000; m_devSampleRate = 3000000; @@ -67,6 +68,7 @@ QByteArray USRPOutputSettings::serialize() const s.writeS32(13, m_loOffset); s.writeU32(14, m_gpioDir); s.writeU32(15, m_gpioPins); + s.writeString(16, m_title); return s.final(); } @@ -110,6 +112,7 @@ bool USRPOutputSettings::deserialize(const QByteArray& data) m_gpioDir = uintval & 0xFF; d.readU32(15, &uintval, 0); m_gpioPins = uintval & 0xFF; + d.readString(16, &m_title, "USRPOutput"); return true; } @@ -123,6 +126,9 @@ bool USRPOutputSettings::deserialize(const QByteArray& data) void USRPOutputSettings::applySettings(const QStringList& settingsKeys, const USRPOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("masterClockRate")) { m_masterClockRate = settings.m_masterClockRate; } @@ -180,6 +186,9 @@ QString USRPOutputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("masterClockRate") || force) { ostr << " m_masterClockRate: " << m_masterClockRate; } diff --git a/plugins/samplesink/usrpoutput/usrpoutputsettings.h b/plugins/samplesink/usrpoutput/usrpoutputsettings.h index 3b11fcaff..400aee445 100644 --- a/plugins/samplesink/usrpoutput/usrpoutputsettings.h +++ b/plugins/samplesink/usrpoutput/usrpoutputsettings.h @@ -32,6 +32,7 @@ */ struct USRPOutputSettings { + QString m_title; int m_masterClockRate; // global settings to be saved uint64_t m_centerFrequency; diff --git a/plugins/samplesink/xtrxoutput/xtrxoutput.cpp b/plugins/samplesink/xtrxoutput/xtrxoutput.cpp index 5eacc52c7..b181c4e2c 100644 --- a/plugins/samplesink/xtrxoutput/xtrxoutput.cpp +++ b/plugins/samplesink/xtrxoutput/xtrxoutput.cpp @@ -1170,6 +1170,9 @@ void XTRXOutput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getXtrxOutputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getXtrxOutputSettings()->getCenterFrequency(); } @@ -1222,6 +1225,12 @@ void XTRXOutput::webapiUpdateDeviceSettings( void XTRXOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const XTRXOutputSettings& settings) { + if (response.getXtrxOutputSettings()->getTitle()) { + *response.getXtrxOutputSettings()->getTitle() = settings.m_title; + } else { + response.getXtrxOutputSettings()->setTitle(new QString(settings.m_title)); + } + response.getXtrxOutputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getXtrxOutputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getXtrxOutputSettings()->setLog2HardInterp(settings.m_log2HardInterp); @@ -1321,6 +1330,9 @@ void XTRXOutput::webapiReverseSendSettings(const QList& deviceSettingsK // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgXtrxOutputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgXtrxOutputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp b/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp index fb56a584d..f23c6a2ec 100644 --- a/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp +++ b/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp @@ -26,6 +26,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -307,6 +308,8 @@ void XTRXOutputGUI::displaySampleRate() void XTRXOutputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq); ui->extClock->setExternalClockActive(m_settings.m_extClock); @@ -586,21 +589,30 @@ void XTRXOutputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesink/xtrxoutput/xtrxoutputsettings.cpp b/plugins/samplesink/xtrxoutput/xtrxoutputsettings.cpp index ca8fe2409..f38e7340a 100644 --- a/plugins/samplesink/xtrxoutput/xtrxoutputsettings.cpp +++ b/plugins/samplesink/xtrxoutput/xtrxoutputsettings.cpp @@ -28,6 +28,7 @@ XTRXOutputSettings::XTRXOutputSettings() void XTRXOutputSettings::resetToDefaults() { + m_title = "XTRXOutput"; m_centerFrequency = 435000*1000; m_devSampleRate = 5e6; m_log2HardInterp = 2; @@ -65,6 +66,7 @@ QByteArray XTRXOutputSettings::serialize() const s.writeString(13, m_reverseAPIAddress); s.writeU32(14, m_reverseAPIPort); s.writeU32(15, m_reverseAPIDeviceIndex); + s.writeString(16, m_title); return s.final(); } @@ -108,6 +110,7 @@ bool XTRXOutputSettings::deserialize(const QByteArray& data) d.readU32(15, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(16, &m_title, "XTRXOutput"); return true; } @@ -121,6 +124,9 @@ bool XTRXOutputSettings::deserialize(const QByteArray& data) void XTRXOutputSettings::applySettings(const QStringList& settingsKeys, const XTRXOutputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -175,6 +181,9 @@ QString XTRXOutputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesink/xtrxoutput/xtrxoutputsettings.h b/plugins/samplesink/xtrxoutput/xtrxoutputsettings.h index 24bd1a6f8..b0359347a 100644 --- a/plugins/samplesink/xtrxoutput/xtrxoutputsettings.h +++ b/plugins/samplesink/xtrxoutput/xtrxoutputsettings.h @@ -34,6 +34,7 @@ struct XTRXOutputSettings { // global settings to be saved + QString m_title; uint64_t m_centerFrequency; double m_devSampleRate; uint32_t m_log2HardInterp; diff --git a/plugins/samplesource/aaroniartsainput/aaroniartsainput.cpp b/plugins/samplesource/aaroniartsainput/aaroniartsainput.cpp index 2ac537800..d0cfdc9f8 100644 --- a/plugins/samplesource/aaroniartsainput/aaroniartsainput.cpp +++ b/plugins/samplesource/aaroniartsainput/aaroniartsainput.cpp @@ -384,6 +384,9 @@ void AaroniaRTSAInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAaroniaRtsaSettings()->getTitle();; + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getAaroniaRtsaSettings()->getCenterFrequency(); } @@ -420,6 +423,12 @@ int AaroniaRTSAInput::webapiReportGet( void AaroniaRTSAInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AaroniaRTSAInputSettings& settings) { + if (response.getAaroniaRtsaSettings()->getTitle()) { + *response.getAaroniaRtsaSettings()->getTitle() = settings.m_title; + } else { + response.getAaroniaRtsaSettings()->setTitle(new QString(settings.m_title)); + } + response.getAaroniaRtsaSettings()->setCenterFrequency(settings.m_centerFrequency); response.getAaroniaRtsaSettings()->setSampleRate(settings.m_sampleRate); @@ -457,6 +466,9 @@ void AaroniaRTSAInput::webapiReverseSendSettings(const QList& deviceSet // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgAaroniaRTSASettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgAaroniaRTSASettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/aaroniartsainput/aaroniartsainputgui.cpp b/plugins/samplesource/aaroniartsainput/aaroniartsainputgui.cpp index 6e7fc49cf..d4b35cb05 100644 --- a/plugins/samplesource/aaroniartsainput/aaroniartsainputgui.cpp +++ b/plugins/samplesource/aaroniartsainput/aaroniartsainputgui.cpp @@ -30,6 +30,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "aaroniartsainputgui.h" @@ -172,6 +173,8 @@ void AaroniaRTSAInputGui::displaySettings() ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->serverAddress->setText(m_settings.m_serverAddress); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title + " Spectrum"); blockApplySettings(false); } @@ -315,21 +318,30 @@ void AaroniaRTSAInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("title"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.cpp b/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.cpp index 35da29fac..c840406d3 100644 --- a/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.cpp +++ b/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.cpp @@ -28,6 +28,7 @@ AaroniaRTSAInputSettings::AaroniaRTSAInputSettings() void AaroniaRTSAInputSettings::resetToDefaults() { + m_title = "AaroniaRTSAInput"; m_centerFrequency = 1450000; m_sampleRate = 200000; m_serverAddress = "127.0.0.1:8073"; @@ -41,6 +42,7 @@ QByteArray AaroniaRTSAInputSettings::serialize() const { SimpleSerializer s(2); + s.writeString(1, m_title); s.writeString(2, m_serverAddress); s.writeS32(3, m_sampleRate); s.writeBool(100, m_useReverseAPI); @@ -65,6 +67,7 @@ bool AaroniaRTSAInputSettings::deserialize(const QByteArray& data) { uint32_t utmp; + d.readString(1, &m_title, "AaroniaRTSAInput"); d.readString(2, &m_serverAddress, "127.0.0.1:8073"); d.readS32(3, &m_sampleRate, 200000); d.readBool(100, &m_useReverseAPI, false); @@ -92,6 +95,9 @@ bool AaroniaRTSAInputSettings::deserialize(const QByteArray& data) void AaroniaRTSAInputSettings::applySettings(const QStringList& settingsKeys, const AaroniaRTSAInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -119,6 +125,9 @@ QString AaroniaRTSAInputSettings::getDebugString(const QStringList& settingsKeys { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.h b/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.h index edb460855..eced3e978 100644 --- a/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.h +++ b/plugins/samplesource/aaroniartsainput/aaroniartsainputsettings.h @@ -36,6 +36,7 @@ struct AaroniaRTSAInputSettings { ConnectionDisconnected // 4 - magenta }; + QString m_title; quint64 m_centerFrequency; int m_sampleRate; QString m_serverAddress; diff --git a/plugins/samplesource/airspy/airspygui.cpp b/plugins/samplesource/airspy/airspygui.cpp index da2c885ed..36a3d4bbd 100644 --- a/plugins/samplesource/airspy/airspygui.cpp +++ b/plugins/samplesource/airspy/airspygui.cpp @@ -32,6 +32,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" AirspyGui::AirspyGui(DeviceUISet *deviceUISet, QWidget* parent) : @@ -201,6 +202,8 @@ void AirspyGui::updateFrequencyLimits() void AirspyGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -479,21 +482,29 @@ void AirspyGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index f9abf8bd1..2941db548 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -664,6 +664,9 @@ void AirspyInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAirspySettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getAirspySettings()->getCenterFrequency(); } @@ -741,6 +744,12 @@ int AirspyInput::webapiReportGet( void AirspyInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AirspySettings& settings) { + if (response.getAirspySettings()->getTitle()) { + *response.getAirspySettings()->getTitle() = settings.m_title; + } else { + response.getAirspySettings()->setTitle(new QString(settings.m_title)); + } + response.getAirspySettings()->setCenterFrequency(settings.m_centerFrequency); response.getAirspySettings()->setLOppmTenths(settings.m_LOppmTenths); response.getAirspySettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); @@ -792,6 +801,9 @@ void AirspyInput::webapiReverseSendSettings(const QList& deviceSettings // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgAirspySettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgAirspySettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/airspy/airspysettings.cpp b/plugins/samplesource/airspy/airspysettings.cpp index 197b2a566..d7d6cac8e 100644 --- a/plugins/samplesource/airspy/airspysettings.cpp +++ b/plugins/samplesource/airspy/airspysettings.cpp @@ -26,6 +26,7 @@ AirspySettings::AirspySettings() void AirspySettings::resetToDefaults() { + m_title = "Airspy"; m_centerFrequency = 435000*1000; m_devSampleRateIndex = 0; m_LOppmTenths = 0; @@ -71,6 +72,7 @@ QByteArray AirspySettings::serialize() const s.writeU32(17, m_reverseAPIPort); s.writeU32(18, m_reverseAPIDeviceIndex); s.writeBool(19, m_iqOrder); + s.writeString(20, m_title); return s.final(); } @@ -118,6 +120,7 @@ bool AirspySettings::deserialize(const QByteArray& data) d.readU32(18, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(19, &m_iqOrder, true); + d.readString(20, &m_title, "Airspy"); return true; } @@ -130,6 +133,9 @@ bool AirspySettings::deserialize(const QByteArray& data) void AirspySettings::applySettings(const QStringList& settingsKeys, const AirspySettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -196,6 +202,9 @@ QString AirspySettings::getDebugString(const QStringList& settingsKeys, bool for { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/airspy/airspysettings.h b/plugins/samplesource/airspy/airspysettings.h index ee5805352..4a86103ac 100644 --- a/plugins/samplesource/airspy/airspysettings.h +++ b/plugins/samplesource/airspy/airspysettings.h @@ -30,6 +30,7 @@ struct AirspySettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; quint32 m_devSampleRateIndex; diff --git a/plugins/samplesource/airspyhf/airspyhfgui.cpp b/plugins/samplesource/airspyhf/airspyhfgui.cpp index c7b281e39..34a56a387 100644 --- a/plugins/samplesource/airspyhf/airspyhfgui.cpp +++ b/plugins/samplesource/airspyhf/airspyhfgui.cpp @@ -30,6 +30,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "airspyhfgui.h" @@ -216,6 +217,8 @@ void AirspyHFGui::displaySettings() { blockApplySettings(true); ui->band->blockSignals(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); m_settings.m_bandIndex = m_settings.m_centerFrequency <= 31000000UL ? 0 : 1; // override ui->band->setCurrentIndex(m_settings.m_bandIndex); updateFrequencyLimits(); @@ -510,28 +513,37 @@ void AirspyHFGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("replayLength"); - m_settingsKeys.append("replayStep"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index efc5f6898..d8c8e6aa4 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -681,6 +681,9 @@ void AirspyHFInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAirspyHfSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getAirspyHfSettings()->getCenterFrequency(); } @@ -742,6 +745,12 @@ void AirspyHFInput::webapiUpdateDeviceSettings( void AirspyHFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AirspyHFSettings& settings) { + if (response.getAirspyHfSettings()->getTitle()) { + *response.getAirspyHfSettings()->getTitle() = settings.m_title; + } else { + response.getAirspyHfSettings()->setTitle(new QString(settings.m_title)); + } + response.getAirspyHfSettings()->setCenterFrequency(settings.m_centerFrequency); response.getAirspyHfSettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); response.getAirspyHfSettings()->setLOppmTenths(settings.m_LOppmTenths); @@ -831,6 +840,9 @@ void AirspyHFInput::webapiReverseSendSettings(const QList& deviceSettin // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgAirspyHFSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgAirspyHFSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.cpp b/plugins/samplesource/airspyhf/airspyhfsettings.cpp index d3ed0e947..40676d318 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.cpp +++ b/plugins/samplesource/airspyhf/airspyhfsettings.cpp @@ -27,6 +27,7 @@ AirspyHFSettings::AirspyHFSettings() void AirspyHFSettings::resetToDefaults() { + m_title = "AirspyHF"; m_centerFrequency = 7150*1000; m_LOppmTenths = 0; m_devSampleRateIndex = 0; @@ -78,6 +79,7 @@ QByteArray AirspyHFSettings::serialize() const s.writeFloat(23, m_replayLength); s.writeFloat(24, m_replayStep); s.writeBool(25, m_replayLoop); + s.writeString(26, m_title); return s.final(); } @@ -129,6 +131,7 @@ bool AirspyHFSettings::deserialize(const QByteArray& data) d.readFloat(23, &m_replayLength, 20.0f); d.readFloat(24, &m_replayStep, 5.0f); d.readBool(25, &m_replayLoop, false); + d.readString(26, &m_title, "AirspyHF"); return true; } @@ -141,6 +144,9 @@ bool AirspyHFSettings::deserialize(const QByteArray& data) void AirspyHFSettings::applySettings(const QStringList& settingsKeys, const AirspyHFSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -216,6 +222,9 @@ QString AirspyHFSettings::getDebugString(const QStringList& settingsKeys, bool f { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.h b/plugins/samplesource/airspyhf/airspyhfsettings.h index 39b1f5c9b..bdef8559e 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.h +++ b/plugins/samplesource/airspyhf/airspyhfsettings.h @@ -25,6 +25,7 @@ struct AirspyHFSettings { + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; quint32 m_devSampleRateIndex; diff --git a/plugins/samplesource/audioinput/audioinput.cpp b/plugins/samplesource/audioinput/audioinput.cpp index 4c9b695b3..9af945b0a 100644 --- a/plugins/samplesource/audioinput/audioinput.cpp +++ b/plugins/samplesource/audioinput/audioinput.cpp @@ -403,6 +403,9 @@ void AudioInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getAudioInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("device")) { settings.m_deviceName = *response.getAudioInputSettings()->getDevice(); } @@ -443,6 +446,12 @@ void AudioInput::webapiUpdateDeviceSettings( void AudioInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AudioInputSettings& settings) { + if (response.getAudioInputSettings()->getTitle()) { + *response.getAudioInputSettings()->getTitle() = settings.m_title; + } else { + response.getAudioInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getAudioInputSettings()->setDevice(new QString(settings.m_deviceName)); response.getAudioInputSettings()->setDevSampleRate(settings.m_sampleRate); response.getAudioInputSettings()->setVolume(settings.m_volume); @@ -475,6 +484,9 @@ void AudioInput::webapiReverseSendSettings(const QList& deviceSettingsK // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgAudioInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("device") || force) { swgAudioInputSettings->setDevice(new QString(settings.m_deviceName)); } diff --git a/plugins/samplesource/audioinput/audioinputgui.cpp b/plugins/samplesource/audioinput/audioinputgui.cpp index badfe203c..26959dea8 100644 --- a/plugins/samplesource/audioinput/audioinputgui.cpp +++ b/plugins/samplesource/audioinput/audioinputgui.cpp @@ -24,6 +24,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "audioinputgui.h" @@ -227,6 +228,8 @@ void AudioInputGui::refreshSampleRates(QString deviceName) void AudioInputGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); refreshDeviceList(); int index = ui->device->findText(m_settings.m_deviceName); @@ -397,21 +400,30 @@ void AudioInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/audioinput/audioinputsettings.cpp b/plugins/samplesource/audioinput/audioinputsettings.cpp index ae6b5d100..39de3c755 100644 --- a/plugins/samplesource/audioinput/audioinputsettings.cpp +++ b/plugins/samplesource/audioinput/audioinputsettings.cpp @@ -29,6 +29,7 @@ AudioInputSettings::AudioInputSettings() void AudioInputSettings::resetToDefaults() { + m_title = "AudioInput"; m_deviceName = ""; m_sampleRate = 48000; m_volume = 1.0f; @@ -55,6 +56,7 @@ QByteArray AudioInputSettings::serialize() const s.writeBool(6, m_dcBlock); s.writeBool(7, m_iqImbalance); s.writeS32(8, (int) m_fcPos); + s.writeString(9, m_title); s.writeBool(24, m_useReverseAPI); s.writeString(25, m_reverseAPIAddress); @@ -88,6 +90,7 @@ bool AudioInputSettings::deserialize(const QByteArray& data) d.readBool(7, &m_iqImbalance, false); d.readS32(8, &intval, 2); m_fcPos = (fcPos_t) intval; + d.readString(9, &m_title, "AudioInput"); d.readBool(24, &m_useReverseAPI, false); d.readString(25, &m_reverseAPIAddress, "127.0.0.1"); @@ -113,6 +116,9 @@ bool AudioInputSettings::deserialize(const QByteArray& data) void AudioInputSettings::applySettings(const QStringList& settingsKeys, const AudioInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("deviceName")) { m_deviceName = settings.m_deviceName; } @@ -155,6 +161,9 @@ QString AudioInputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("deviceName") || force) { ostr << " m_deviceName: " << m_deviceName.toStdString(); } diff --git a/plugins/samplesource/audioinput/audioinputsettings.h b/plugins/samplesource/audioinput/audioinputsettings.h index bde1644fa..f3d421bbd 100644 --- a/plugins/samplesource/audioinput/audioinputsettings.h +++ b/plugins/samplesource/audioinput/audioinputsettings.h @@ -32,6 +32,7 @@ struct AudioInputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; QString m_deviceName; // Including realm, as from getFullDeviceName below int m_sampleRate; float m_volume; diff --git a/plugins/samplesource/bladerf1input/bladerf1input.cpp b/plugins/samplesource/bladerf1input/bladerf1input.cpp index aa8c82bde..f634cb617 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1input.cpp @@ -545,6 +545,13 @@ int Bladerf1Input::webapiSettingsGet( void Bladerf1Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF1InputSettings& settings) { + if (response.getBladeRf1InputSettings()->getTitle()) { + *response.getBladeRf1InputSettings()->getTitle() = settings.m_title; + } else { + response.getBladeRf1InputSettings()->setTitle(new QString(settings.m_title)); + } + + response.getBladeRf1InputSettings()->setTitle(new QString(settings.m_title)); response.getBladeRf1InputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getBladeRf1InputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getBladeRf1InputSettings()->setLnaGain(settings.m_lnaGain); @@ -600,6 +607,9 @@ void Bladerf1Input::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getBladeRf1InputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getBladeRf1InputSettings()->getCenterFrequency(); } @@ -695,6 +705,9 @@ void Bladerf1Input::webapiReverseSendSettings(const QList& deviceSettin // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgBladeRF1Settings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgBladeRF1Settings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp index dd55e7a16..20c7a3512 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -233,6 +234,8 @@ void Bladerf1InputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); displaySampleRate(); @@ -560,21 +563,30 @@ void Bladerf1InputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("transverterMode"); - m_settingsKeys.append("m_transverterDeltaFrequency"); - m_settingsKeys.append("m_iqOrder"); - m_settingsKeys.append("centerFrequency"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("transverterMode"); + m_settingsKeys.append("m_transverterDeltaFrequency"); + m_settingsKeys.append("m_iqOrder"); + m_settingsKeys.append("centerFrequency"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/bladerf1input/bladerf1inputsettings.cpp b/plugins/samplesource/bladerf1input/bladerf1inputsettings.cpp index a6d766251..275d79254 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputsettings.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1inputsettings.cpp @@ -28,6 +28,7 @@ BladeRF1InputSettings::BladeRF1InputSettings() void BladeRF1InputSettings::resetToDefaults() { + m_title = "BladeRF1"; m_centerFrequency = 435000*1000; m_devSampleRate = 3072000; m_lnaGain = 0; @@ -70,6 +71,7 @@ QByteArray BladeRF1InputSettings::serialize() const s.writeU32(15, m_reverseAPIPort); s.writeU32(16, m_reverseAPIDeviceIndex); s.writeBool(17, m_iqOrder); + s.writeString(18, m_title); return s.final(); } @@ -117,6 +119,7 @@ bool BladeRF1InputSettings::deserialize(const QByteArray& data) d.readU32(16, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(17, &m_iqOrder); + d.readString(18, &m_title, "BladeRF1"); return true; } @@ -129,6 +132,9 @@ bool BladeRF1InputSettings::deserialize(const QByteArray& data) void BladeRF1InputSettings::applySettings(const QStringList& settingsKeys, const BladeRF1InputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -189,6 +195,9 @@ QString BladeRF1InputSettings::getDebugString(const QStringList& settingsKeys, b { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } @@ -249,4 +258,3 @@ QString BladeRF1InputSettings::getDebugString(const QStringList& settingsKeys, b return QString(ostr.str().c_str()); } - diff --git a/plugins/samplesource/bladerf1input/bladerf1inputsettings.h b/plugins/samplesource/bladerf1input/bladerf1inputsettings.h index 84c9c69c6..a0000d8f0 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputsettings.h +++ b/plugins/samplesource/bladerf1input/bladerf1inputsettings.h @@ -32,6 +32,7 @@ struct BladeRF1InputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_devSampleRate; qint32 m_lnaGain; diff --git a/plugins/samplesource/bladerf2input/bladerf2input.cpp b/plugins/samplesource/bladerf2input/bladerf2input.cpp index b3dd2c4f3..d2f0c7617 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2input.cpp @@ -1041,6 +1041,9 @@ void BladeRF2Input::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getBladeRf2InputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getBladeRf2InputSettings()->getCenterFrequency(); } @@ -1108,6 +1111,12 @@ int BladeRF2Input::webapiReportGet(SWGSDRangel::SWGDeviceReport& response, QStri void BladeRF2Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF2InputSettings& settings) { + if (response.getBladeRf2InputSettings()->getTitle()) { + *response.getBladeRf2InputSettings()->getTitle() = settings.m_title; + } else { + response.getBladeRf2InputSettings()->setTitle(new QString(settings.m_title)); + } + response.getBladeRf2InputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getBladeRf2InputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getBladeRf2InputSettings()->setDevSampleRate(settings.m_devSampleRate); @@ -1230,6 +1239,9 @@ void BladeRF2Input::webapiReverseSendSettings(const QList& deviceSettin // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgBladeRF2Settings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgBladeRF2Settings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp index dd613bb5a..e90312881 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -313,6 +314,8 @@ void BladeRF2InputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -556,22 +559,29 @@ void BladeRF2InputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp b/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp index f10b135bc..63551e556 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp @@ -28,6 +28,7 @@ BladeRF2InputSettings::BladeRF2InputSettings() void BladeRF2InputSettings::resetToDefaults() { + m_title = "BladeRF2"; m_centerFrequency = 435000*1000; m_LOppmTenths = 0; m_devSampleRate = 3072000; @@ -69,6 +70,7 @@ QByteArray BladeRF2InputSettings::serialize() const s.writeU32(15, m_reverseAPIPort); s.writeU32(16, m_reverseAPIDeviceIndex); s.writeBool(17, m_iqOrder); + s.writeString(18, m_title); return s.final(); } @@ -114,6 +116,7 @@ bool BladeRF2InputSettings::deserialize(const QByteArray& data) d.readU32(16, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(17, &m_iqOrder, true); + d.readString(18, &m_title, "BladeRF2"); return true; } @@ -126,6 +129,9 @@ bool BladeRF2InputSettings::deserialize(const QByteArray& data) void BladeRF2InputSettings::applySettings(const QStringList& settingsKeys, const BladeRF2InputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -183,6 +189,9 @@ QString BladeRF2InputSettings::getDebugString(const QStringList& settingsKeys, b { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/bladerf2input/bladerf2inputsettings.h b/plugins/samplesource/bladerf2input/bladerf2inputsettings.h index 12b2cd7e0..c061d1f70 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputsettings.h +++ b/plugins/samplesource/bladerf2input/bladerf2inputsettings.h @@ -30,6 +30,7 @@ struct BladeRF2InputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; qint32 m_devSampleRate; diff --git a/plugins/samplesource/fcdpro/fcdprogui.cpp b/plugins/samplesource/fcdpro/fcdprogui.cpp index c799774d1..797e64005 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.cpp +++ b/plugins/samplesource/fcdpro/fcdprogui.cpp @@ -25,6 +25,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "fcdprogui.h" @@ -293,6 +294,8 @@ void FCDProGui::updateFrequencyLimits() void FCDProGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -602,17 +605,26 @@ void FCDProGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settingsKeys.append("title"); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index bb9ed3aa8..dd87109ed 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -852,6 +852,9 @@ void FCDProInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getFcdProSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getFcdProSettings()->getCenterFrequency(); } @@ -943,6 +946,12 @@ void FCDProInput::webapiUpdateDeviceSettings( void FCDProInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FCDProSettings& settings) { + if (response.getFcdProSettings()->getTitle()) { + *response.getFcdProSettings()->getTitle() = settings.m_title; + } else { + response.getFcdProSettings()->setTitle(new QString(settings.m_title)); + } + response.getFcdProSettings()->setCenterFrequency(settings.m_centerFrequency); response.getFcdProSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getFcdProSettings()->setLnaGainIndex(settings.m_lnaGainIndex); @@ -992,6 +1001,9 @@ void FCDProInput::webapiReverseSendSettings(const QList& deviceSettings // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgFCDProSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgFCDProSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/fcdpro/fcdprosettings.cpp b/plugins/samplesource/fcdpro/fcdprosettings.cpp index c44acc8e9..3a58b5146 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.cpp +++ b/plugins/samplesource/fcdpro/fcdprosettings.cpp @@ -26,6 +26,7 @@ FCDProSettings::FCDProSettings() void FCDProSettings::resetToDefaults() { + m_title = "FCDPro"; m_centerFrequency = 435000 * 1000; m_dcBlock = false; m_iqCorrection = false; @@ -89,6 +90,7 @@ QByteArray FCDProSettings::serialize() const s.writeU32(26, m_reverseAPIPort); s.writeU32(27, m_reverseAPIDeviceIndex); s.writeBool(28, m_iqOrder); + s.writeString(29, m_title); return s.final(); } @@ -145,6 +147,7 @@ bool FCDProSettings::deserialize(const QByteArray& data) d.readU32(27, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(28, &m_iqOrder, true); + d.readString(29, &m_title, "FCDPro"); return true; } @@ -157,6 +160,9 @@ bool FCDProSettings::deserialize(const QByteArray& data) void FCDProSettings::applySettings(const QStringList& settingsKeys, const FCDProSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -250,6 +256,9 @@ QString FCDProSettings::getDebugString(const QStringList& settingsKeys, bool for { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/fcdpro/fcdprosettings.h b/plugins/samplesource/fcdpro/fcdprosettings.h index 91bb4d2f3..0a78fe0a6 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.h +++ b/plugins/samplesource/fcdpro/fcdprosettings.h @@ -30,6 +30,7 @@ struct FCDProSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; qint32 m_lnaGainIndex; diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp index 23e4bcaaa..c63d4347e 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp @@ -26,6 +26,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "fcdproplusgui.h" @@ -210,6 +211,8 @@ void FCDProPlusGui::updateFrequencyLimits() void FCDProPlusGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -404,21 +407,30 @@ void FCDProPlusGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index 358ef7620..618d6dfbf 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -591,6 +591,9 @@ void FCDProPlusInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getFcdProPlusSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getFcdProPlusSettings()->getCenterFrequency(); } @@ -655,6 +658,12 @@ void FCDProPlusInput::webapiUpdateDeviceSettings( void FCDProPlusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FCDProPlusSettings& settings) { + if (response.getFcdProPlusSettings()->getTitle()) { + *response.getFcdProPlusSettings()->getTitle() = settings.m_title; + } else { + response.getFcdProPlusSettings()->setTitle(new QString(settings.m_title)); + } + response.getFcdProPlusSettings()->setCenterFrequency(settings.m_centerFrequency); response.getFcdProPlusSettings()->setLog2Decim(settings.m_log2Decim); response.getFcdProPlusSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); @@ -695,6 +704,9 @@ void FCDProPlusInput::webapiReverseSendSettings(const QList& deviceSett // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgFCDProPlusSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgFCDProPlusSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp index b9523a09d..a1345290e 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp @@ -26,6 +26,7 @@ FCDProPlusSettings::FCDProPlusSettings() void FCDProPlusSettings::resetToDefaults() { + m_title = "FCDProPlus"; m_centerFrequency = 435000000; m_rangeLow = true; m_lnaGain = true; @@ -70,6 +71,7 @@ QByteArray FCDProPlusSettings::serialize() const s.writeU32(16, m_reverseAPIPort); s.writeU32(17, m_reverseAPIDeviceIndex); s.writeBool(18, m_iqOrder); + s.writeString(19, m_title); return s.final(); } @@ -116,6 +118,7 @@ bool FCDProPlusSettings::deserialize(const QByteArray& data) d.readU32(17, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(18, &m_iqOrder, true); + d.readString(19, &m_title, "FCDProPlus"); return true; } @@ -128,6 +131,9 @@ bool FCDProPlusSettings::deserialize(const QByteArray& data) void FCDProPlusSettings::applySettings(const QStringList& settingsKeys, const FCDProPlusSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -197,6 +203,9 @@ QString FCDProPlusSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.h b/plugins/samplesource/fcdproplus/fcdproplussettings.h index 6c784eada..566dd0752 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.h +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.h @@ -30,6 +30,7 @@ struct FCDProPlusSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; bool m_rangeLow; bool m_lnaGain; diff --git a/plugins/samplesource/fileinput/fileinput.cpp b/plugins/samplesource/fileinput/fileinput.cpp index 3382ca56e..647dd0689 100644 --- a/plugins/samplesource/fileinput/fileinput.cpp +++ b/plugins/samplesource/fileinput/fileinput.cpp @@ -616,6 +616,9 @@ void FileInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getFileInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("fileName")) { settings.m_fileName = *response.getFileInputSettings()->getFileName(); } @@ -680,6 +683,12 @@ int FileInput::webapiReportGet( void FileInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileInputSettings& settings) { + if (response.getFileInputSettings()->getTitle()) { + *response.getFileInputSettings()->getTitle() = settings.m_title; + } else { + response.getFileInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getFileInputSettings()->setFileName(new QString(settings.m_fileName)); response.getFileInputSettings()->setAccelerationFactor(settings.m_accelerationFactor); response.getFileInputSettings()->setLoop(settings.m_loop ? 1 : 0); diff --git a/plugins/samplesource/fileinput/fileinputgui.cpp b/plugins/samplesource/fileinput/fileinputgui.cpp index f7d5a451c..7b702c36d 100644 --- a/plugins/samplesource/fileinput/fileinputgui.cpp +++ b/plugins/samplesource/fileinput/fileinputgui.cpp @@ -31,6 +31,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "fileinputgui.h" @@ -229,13 +230,17 @@ void FileInputGUI::updateSampleRateAndFrequency() void FileInputGUI::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->playLoop->setChecked(m_settings.m_loop); ui->acceleration->setCurrentIndex(FileInputSettings::getAccelerationIndex(m_settings.m_accelerationFactor)); + if (!m_settings.m_fileName.isEmpty() && (m_settings.m_fileName != ui->fileNameText->text())) { - ui->crcLabel->setStyleSheet("QLabel { background:rgb(79,79,79); }"); - configureFileName(); + ui->crcLabel->setStyleSheet("QLabel { background:rgb(79,79,79); }"); + configureFileName(); } + ui->fileNameText->setText(m_settings.m_fileName); blockApplySettings(false); } @@ -450,17 +455,30 @@ void FileInputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/fileinput/fileinputsettings.cpp b/plugins/samplesource/fileinput/fileinputsettings.cpp index d305a6438..11cd03578 100644 --- a/plugins/samplesource/fileinput/fileinputsettings.cpp +++ b/plugins/samplesource/fileinput/fileinputsettings.cpp @@ -32,6 +32,7 @@ FileInputSettings::FileInputSettings() void FileInputSettings::resetToDefaults() { + m_title = "FileInput"; m_fileName = ""; m_accelerationFactor = 1; m_loop = true; @@ -51,6 +52,7 @@ QByteArray FileInputSettings::serialize() const s.writeString(5, m_reverseAPIAddress); s.writeU32(6, m_reverseAPIPort); s.writeU32(7, m_reverseAPIDeviceIndex); + s.writeString(8, m_title); return s.final(); } @@ -83,6 +85,7 @@ bool FileInputSettings::deserialize(const QByteArray& data) d.readU32(7, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(8, &m_title, "FileInput"); return true; } @@ -148,6 +151,9 @@ int FileInputSettings::getAccelerationValue(int accelerationIndex) void FileInputSettings::applySettings(const QStringList& settingsKeys, const FileInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("fileName")) { m_fileName = settings.m_fileName; } @@ -175,6 +181,9 @@ QString FileInputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("m_fileName") || force) { ostr << " m_fileName: " << m_fileName.toStdString(); } diff --git a/plugins/samplesource/fileinput/fileinputsettings.h b/plugins/samplesource/fileinput/fileinputsettings.h index d0045e4c9..d59442089 100644 --- a/plugins/samplesource/fileinput/fileinputsettings.h +++ b/plugins/samplesource/fileinput/fileinputsettings.h @@ -24,6 +24,7 @@ #include struct FileInputSettings { + QString m_title; QString m_fileName; quint32 m_accelerationFactor; bool m_loop; diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index 6c2f7fd01..36b0117b8 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -583,6 +583,9 @@ void HackRFInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getHackRfInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getHackRfInputSettings()->getCenterFrequency(); } @@ -647,6 +650,12 @@ void HackRFInput::webapiUpdateDeviceSettings( void HackRFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const HackRFInputSettings& settings) { + if (response.getHackRfInputSettings()->getTitle()) { + *response.getHackRfInputSettings()->getTitle() = settings.m_title; + } else { + response.getHackRfInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getHackRfInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getHackRfInputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getHackRfInputSettings()->setBandwidth(settings.m_bandwidth); @@ -714,6 +723,9 @@ void HackRFInput::webapiReverseSendSettings(const QList& deviceSettings // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgHackRFInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgHackRFInputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp index 32cf4743b..5c154a861 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp @@ -29,6 +29,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -259,6 +260,8 @@ void HackRFInputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -544,17 +547,30 @@ void HackRFInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp index e4765d3b6..4034f24ff 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp @@ -29,6 +29,7 @@ HackRFInputSettings::HackRFInputSettings() void HackRFInputSettings::resetToDefaults() { + m_title = "HackRF"; m_centerFrequency = 435000 * 1000; m_LOppmTenths = 0; m_biasT = false; @@ -74,6 +75,7 @@ QByteArray HackRFInputSettings::serialize() const s.writeS64(19, m_transverterDeltaFrequency); s.writeBool(20, m_iqOrder); s.writeBool(21, m_autoBBF); + s.writeString(22, m_title); return s.final(); } @@ -121,6 +123,7 @@ bool HackRFInputSettings::deserialize(const QByteArray& data) d.readS64(19, &m_transverterDeltaFrequency, 0); d.readBool(20, &m_iqOrder, true); d.readBool(21, &m_autoBBF, true); + d.readString(22, &m_title, "HackRF"); return true; } @@ -133,6 +136,9 @@ bool HackRFInputSettings::deserialize(const QByteArray& data) void HackRFInputSettings::applySettings(const QStringList& settingsKeys, const HackRFInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -199,6 +205,9 @@ QString HackRFInputSettings::getDebugString(const QStringList& settingsKeys, boo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.h b/plugins/samplesource/hackrfinput/hackrfinputsettings.h index 7b8a76470..3b9e31d9b 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.h +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.h @@ -32,6 +32,7 @@ struct HackRFInputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; quint32 m_bandwidth; diff --git a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp index ac5feb16a..916d28077 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp @@ -30,6 +30,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "kiwisdrgui.h" @@ -182,6 +183,8 @@ void KiwiSDRGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->serverAddress->setText(m_settings.m_serverAddress); ui->gain->setValue(m_settings.m_gain); @@ -326,21 +329,30 @@ void KiwiSDRGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + m_deviceUISet->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp index 8eab12d09..8aec9769c 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp @@ -399,6 +399,9 @@ void KiwiSDRInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getKiwiSdrSettings()->getTitle(); + } if (deviceSettingsKeys.contains("gain")) { settings.m_gain = response.getKiwiSdrSettings()->getGain(); } @@ -441,6 +444,12 @@ int KiwiSDRInput::webapiReportGet( void KiwiSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const KiwiSDRSettings& settings) { + if (response.getKiwiSdrSettings()->getTitle()) { + *response.getKiwiSdrSettings()->getTitle() = settings.m_title; + } else { + response.getKiwiSdrSettings()->setTitle(new QString(settings.m_title)); + } + response.getKiwiSdrSettings()->setGain(settings.m_gain); response.getKiwiSdrSettings()->setUseAgc(settings.m_useAGC ? 1 : 0); response.getKiwiSdrSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); diff --git a/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp b/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp index cb6e9fb06..fb4b6d710 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp @@ -28,6 +28,7 @@ KiwiSDRSettings::KiwiSDRSettings() void KiwiSDRSettings::resetToDefaults() { + m_title = "KiwiSDR"; m_centerFrequency = 1450000; m_gain = 20; @@ -49,6 +50,8 @@ QByteArray KiwiSDRSettings::serialize() const s.writeString(2, m_serverAddress); s.writeU32(3, m_gain); s.writeBool(4, m_useAGC); + s.writeBool(5, m_dcBlock); + s.writeString(6, m_title); s.writeBool(100, m_useReverseAPI); s.writeString(101, m_reverseAPIAddress); @@ -75,6 +78,8 @@ bool KiwiSDRSettings::deserialize(const QByteArray& data) d.readString(2, &m_serverAddress, "127.0.0.1:8073"); d.readU32(3, &m_gain, 20); d.readBool(4, &m_useAGC, true); + d.readBool(5, &m_dcBlock, false); + d.readString(6, &m_title, "KiwiSDR"); d.readBool(100, &m_useReverseAPI, false); d.readString(101, &m_reverseAPIAddress, "127.0.0.1"); @@ -101,6 +106,9 @@ bool KiwiSDRSettings::deserialize(const QByteArray& data) void KiwiSDRSettings::applySettings(const QStringList& settingsKeys, const KiwiSDRSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -134,6 +142,9 @@ QString KiwiSDRSettings::getDebugString(const QStringList& settingsKeys, bool fo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/kiwisdr/kiwisdrsettings.h b/plugins/samplesource/kiwisdr/kiwisdrsettings.h index 0b59c6bd3..88e0f2239 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrsettings.h +++ b/plugins/samplesource/kiwisdr/kiwisdrsettings.h @@ -30,6 +30,7 @@ struct KiwiSDRSettings { bool m_useAGC; bool m_dcBlock; + QString m_title; quint64 m_centerFrequency; QString m_serverAddress; diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index be6fccbfb..5b50c571a 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -969,7 +969,7 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, const QLi if (settingsKeys.contains("devSampleRate") || settingsKeys.contains("log2HardDecim") || force) { - + if(!settings.m_splitFreq) { forwardChangeAllDSP = true; //m_settings.m_devSampleRate != settings.m_devSampleRate; qDebug() << "LimeSDRInput::applySettings: Split is false, val:" << settings.m_splitFreq; @@ -1436,6 +1436,9 @@ void LimeSDRInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getLimeSdrInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("antennaPath")) { settings.m_antennaPath = (LimeSDRInputSettings::PathRFE) response.getLimeSdrInputSettings()->getAntennaPath(); } @@ -1527,6 +1530,12 @@ void LimeSDRInput::webapiUpdateDeviceSettings( void LimeSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LimeSDRInputSettings& settings) { + if (response.getLimeSdrInputSettings()->getTitle()) { + *response.getLimeSdrInputSettings()->getTitle() = settings.m_title; + } else { + response.getLimeSdrInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getLimeSdrInputSettings()->setAntennaPath((int) settings.m_antennaPath); response.getLimeSdrInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getLimeSdrInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); @@ -1654,6 +1663,9 @@ void LimeSDRInput::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgLimeSdrInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("antennaPath") || force) { swgLimeSdrInputSettings->setAntennaPath((int) settings.m_antennaPath); } diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp index 6502c1bf2..c87ba80ec 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp @@ -30,6 +30,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -416,6 +417,8 @@ void LimeSDRInputGUI::displaySampleRate() void LimeSDRInputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -823,28 +826,37 @@ void LimeSDRInputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("replayLength"); - m_settingsKeys.append("replayStep"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp index d87b81d59..19b871e06 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp @@ -27,6 +27,7 @@ LimeSDRInputSettings::LimeSDRInputSettings() void LimeSDRInputSettings::resetToDefaults() { + m_title = "LimeSDR"; m_centerFrequency = 435000*1000; m_devSampleRate = 5000000; m_log2HardDecim = 3; @@ -98,6 +99,7 @@ QByteArray LimeSDRInputSettings::serialize() const s.writeFloat(31, m_replayStep); s.writeBool(32, m_replayLoop); s.writeBool(33, m_splitFreq); + s.writeString(34, m_title); return s.final(); } @@ -161,6 +163,7 @@ bool LimeSDRInputSettings::deserialize(const QByteArray& data) d.readFloat(31, &m_replayStep, 5.0f); d.readBool(32, &m_replayLoop, false); d.readBool(33, &m_splitFreq, false); + d.readString(34, &m_title, "LimeSDR"); return true; } @@ -174,6 +177,9 @@ bool LimeSDRInputSettings::deserialize(const QByteArray& data) void LimeSDRInputSettings::applySettings(const QStringList& settingsKeys, const LimeSDRInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -279,6 +285,9 @@ QString LimeSDRInputSettings::getDebugString(const QStringList& settingsKeys, bo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.h b/plugins/samplesource/limesdrinput/limesdrinputsettings.h index bb2681ba6..0e1764e4c 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.h +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.h @@ -46,6 +46,7 @@ struct LimeSDRInputSettings } GainMode; // global settings to be saved + QString m_title; uint64_t m_centerFrequency; int m_devSampleRate; uint32_t m_log2HardDecim; diff --git a/plugins/samplesource/localinput/localinput.cpp b/plugins/samplesource/localinput/localinput.cpp index 33368c390..26e72dbbf 100644 --- a/plugins/samplesource/localinput/localinput.cpp +++ b/plugins/samplesource/localinput/localinput.cpp @@ -306,6 +306,9 @@ void LocalInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getLocalInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("dcBlock")) { settings.m_dcBlock = response.getLocalInputSettings()->getDcBlock() != 0; } @@ -328,6 +331,12 @@ void LocalInput::webapiUpdateDeviceSettings( void LocalInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LocalInputSettings& settings) { + if (response.getLocalInputSettings()->getTitle()) { + *response.getLocalInputSettings()->getTitle() = settings.m_title; + } else { + response.getLocalInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getLocalInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getLocalInputSettings()->setIqCorrection(settings.m_iqCorrection); diff --git a/plugins/samplesource/localinput/localinputgui.cpp b/plugins/samplesource/localinput/localinputgui.cpp index fe9a26734..896000d58 100644 --- a/plugins/samplesource/localinput/localinputgui.cpp +++ b/plugins/samplesource/localinput/localinputgui.cpp @@ -35,6 +35,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -235,6 +236,8 @@ void LocalInputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setText(tr("%L1").arg(m_streamCenterFrequency)); ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0)); @@ -325,21 +328,30 @@ void LocalInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/localinput/localinputsettings.cpp b/plugins/samplesource/localinput/localinputsettings.cpp index 10c5d29b2..07ba9fc6e 100644 --- a/plugins/samplesource/localinput/localinputsettings.cpp +++ b/plugins/samplesource/localinput/localinputsettings.cpp @@ -27,6 +27,7 @@ LocalInputSettings::LocalInputSettings() void LocalInputSettings::resetToDefaults() { + m_title = "LocalInput"; m_dcBlock = false; m_iqCorrection = false; m_useReverseAPI = false; @@ -45,6 +46,7 @@ QByteArray LocalInputSettings::serialize() const s.writeString(4, m_reverseAPIAddress); s.writeU32(5, m_reverseAPIPort); s.writeU32(6, m_reverseAPIDeviceIndex); + s.writeString(7, m_title); return s.final(); } @@ -77,6 +79,7 @@ bool LocalInputSettings::deserialize(const QByteArray& data) d.readU32(6, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(7, &m_title, "LocalInput"); return true; } @@ -89,6 +92,9 @@ bool LocalInputSettings::deserialize(const QByteArray& data) void LocalInputSettings::applySettings(const QStringList& settingsKeys, const LocalInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("dcBlock")) { m_dcBlock = settings.m_dcBlock; } @@ -113,6 +119,9 @@ QString LocalInputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("dcBlock") || force) { ostr << " m_dcBlock: " << m_dcBlock; } diff --git a/plugins/samplesource/localinput/localinputsettings.h b/plugins/samplesource/localinput/localinputsettings.h index ac8fffdaa..44542510b 100644 --- a/plugins/samplesource/localinput/localinputsettings.h +++ b/plugins/samplesource/localinput/localinputsettings.h @@ -23,7 +23,9 @@ #include #include -struct LocalInputSettings { +struct LocalInputSettings +{ + QString m_title; bool m_dcBlock; bool m_iqCorrection; bool m_useReverseAPI; diff --git a/plugins/samplesource/perseus/perseusgui.cpp b/plugins/samplesource/perseus/perseusgui.cpp index ab1e76d62..6050f2dae 100644 --- a/plugins/samplesource/perseus/perseusgui.cpp +++ b/plugins/samplesource/perseus/perseusgui.cpp @@ -28,6 +28,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "perseusgui.h" @@ -178,6 +179,8 @@ void PerseusGui::updateSampleRateAndFrequency() void PerseusGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); updateFrequencyLimits(); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -418,17 +421,30 @@ void PerseusGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index d9c8c2567..fb27c2715 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -489,6 +489,9 @@ void PerseusInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getPerseusSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getPerseusSettings()->getCenterFrequency(); } @@ -551,6 +554,12 @@ int PerseusInput::webapiReportGet( void PerseusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PerseusSettings& settings) { + if (response.getPerseusSettings()->getTitle()) { + *response.getPerseusSettings()->getTitle() = settings.m_title; + } else { + response.getPerseusSettings()->setTitle(new QString(settings.m_title)); + } + response.getPerseusSettings()->setCenterFrequency(settings.m_centerFrequency); response.getPerseusSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getPerseusSettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); @@ -597,6 +606,9 @@ void PerseusInput::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgPerseusSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgPerseusSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/perseus/perseussettings.cpp b/plugins/samplesource/perseus/perseussettings.cpp index 7b3e188d2..fbdfe4143 100644 --- a/plugins/samplesource/perseus/perseussettings.cpp +++ b/plugins/samplesource/perseus/perseussettings.cpp @@ -28,6 +28,7 @@ PerseusSettings::PerseusSettings() void PerseusSettings::resetToDefaults() { + m_title = "Perseus"; m_centerFrequency = 7150*1000; m_LOppmTenths = 0; m_devSampleRateIndex = 0; @@ -63,6 +64,7 @@ QByteArray PerseusSettings::serialize() const s.writeU32(12, m_reverseAPIPort); s.writeU32(13, m_reverseAPIDeviceIndex); s.writeBool(14, m_iqOrder); + s.writeString(15, m_title); return s.final(); } @@ -111,6 +113,7 @@ bool PerseusSettings::deserialize(const QByteArray& data) d.readU32(13, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(14, &m_iqOrder, true); + d.readString(15, &m_title, "Perseus"); return true; } @@ -123,6 +126,9 @@ bool PerseusSettings::deserialize(const QByteArray& data) void PerseusSettings::applySettings(const QStringList& settingsKeys, const PerseusSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -174,6 +180,9 @@ QString PerseusSettings::getDebugString(const QStringList& settingsKeys, bool fo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/perseus/perseussettings.h b/plugins/samplesource/perseus/perseussettings.h index 2b0e79dd5..52588a51a 100644 --- a/plugins/samplesource/perseus/perseussettings.h +++ b/plugins/samplesource/perseus/perseussettings.h @@ -34,6 +34,7 @@ struct PerseusSettings Attenuator_last } Attenuator; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; quint32 m_devSampleRateIndex; diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 71a82ae0e..784dbb637 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -827,6 +827,9 @@ void PlutoSDRInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getPlutoSdrInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getPlutoSdrInputSettings()->getCenterFrequency(); } @@ -923,6 +926,12 @@ int PlutoSDRInput::webapiReportGet( void PlutoSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDRInputSettings& settings) { + if (response.getPlutoSdrInputSettings()->getTitle()) { + *response.getPlutoSdrInputSettings()->getTitle() = settings.m_title; + } else { + response.getPlutoSdrInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getPlutoSdrInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getPlutoSdrInputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getPlutoSdrInputSettings()->setLOppmTenths(settings.m_LOppmTenths); @@ -981,6 +990,9 @@ void PlutoSDRInput::webapiReverseSendSettings(const QList& deviceSettin // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgPlutoSdrInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgPlutoSdrInputSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp index 877e741c3..ce321f7b8 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp @@ -29,6 +29,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" #include "plutosdr/deviceplutosdr.h" @@ -402,6 +403,8 @@ void PlutoSDRInputGui::displayFcTooltip() void PlutoSDRInputGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -609,21 +612,29 @@ void PlutoSDRInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp index fae848b0c..dc8a62a5d 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp @@ -28,6 +28,7 @@ PlutoSDRInputSettings::PlutoSDRInputSettings() void PlutoSDRInputSettings::resetToDefaults() { + m_title = "PlutoSDR"; m_centerFrequency = 435000 * 1000; m_fcPos = FC_POS_CENTER; m_LOppmTenths = 0; @@ -83,6 +84,7 @@ QByteArray PlutoSDRInputSettings::serialize() const s.writeBool(23, m_hwRFDCBlock); s.writeBool(24, m_hwIQCorrection); s.writeBool(25, m_iqOrder); + s.writeString(26, m_title); return s.final(); } @@ -155,6 +157,7 @@ bool PlutoSDRInputSettings::deserialize(const QByteArray& data) d.readBool(23, &m_hwRFDCBlock, true); d.readBool(24, &m_hwIQCorrection, true); d.readBool(25, &m_iqOrder, true); + d.readString(26, &m_title, "PlutoSDR"); return true; } @@ -235,6 +238,9 @@ void PlutoSDRInputSettings::translateGainMode(GainMode mode, QString& s) void PlutoSDRInputSettings::applySettings(const QStringList& settingsKeys, const PlutoSDRInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -316,6 +322,9 @@ QString PlutoSDRInputSettings::getDebugString(const QStringList& settingsKeys, b { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h index 9c8982db4..8c4d99857 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h @@ -59,6 +59,7 @@ struct PlutoSDRInputSettings { } GainMode; // global settings to be saved + QString m_title; quint64 m_centerFrequency; // common device settings quint64 m_devSampleRate; //!< Host interface sample rate diff --git a/plugins/samplesource/remoteinput/remoteinput.cpp b/plugins/samplesource/remoteinput/remoteinput.cpp index 4500966b6..d7d5dd47f 100644 --- a/plugins/samplesource/remoteinput/remoteinput.cpp +++ b/plugins/samplesource/remoteinput/remoteinput.cpp @@ -433,6 +433,9 @@ void RemoteInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getRemoteInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("apiAddress")) { settings.m_apiAddress = *response.getRemoteInputSettings()->getApiAddress(); } @@ -473,6 +476,12 @@ void RemoteInput::webapiUpdateDeviceSettings( void RemoteInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RemoteInputSettings& settings) { + if (response.getRemoteInputSettings()->getTitle()) { + *response.getRemoteInputSettings()->getTitle() = settings.m_title; + } else { + response.getRemoteInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getRemoteInputSettings()->setApiAddress(new QString(settings.m_apiAddress)); response.getRemoteInputSettings()->setApiPort(settings.m_apiPort); response.getRemoteInputSettings()->setDataAddress(new QString(settings.m_dataAddress)); @@ -529,6 +538,9 @@ void RemoteInput::webapiReverseSendSettings(const QList& deviceSettings // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgRemoteInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("apiAddress") || force) { swgRemoteInputSettings->setApiAddress(new QString(settings.m_apiAddress)); } @@ -700,5 +712,3 @@ void RemoteInput::analyzeRemoteChannelSettingsReply(const QJsonObject& jsonObjec m_guiMessageQueue->push(msg); } } - - diff --git a/plugins/samplesource/remoteinput/remoteinputgui.cpp b/plugins/samplesource/remoteinput/remoteinputgui.cpp index c60627641..535383a85 100644 --- a/plugins/samplesource/remoteinput/remoteinputgui.cpp +++ b/plugins/samplesource/remoteinput/remoteinputgui.cpp @@ -33,6 +33,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/hbfilterchainconverter.h" #include "device/deviceapi.h" @@ -299,6 +300,8 @@ void RemoteInputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setText(tr("%L1").arg(m_streamCenterFrequency)); ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0)); @@ -698,21 +701,30 @@ void RemoteInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/remoteinput/remoteinputsettings.cpp b/plugins/samplesource/remoteinput/remoteinputsettings.cpp index 25f003a6e..5942f4df2 100644 --- a/plugins/samplesource/remoteinput/remoteinputsettings.cpp +++ b/plugins/samplesource/remoteinput/remoteinputsettings.cpp @@ -28,6 +28,7 @@ RemoteInputSettings::RemoteInputSettings() void RemoteInputSettings::resetToDefaults() { + m_title = "RemoteInput"; m_apiAddress = "127.0.0.1"; m_apiPort = 8091; m_dataAddress = "127.0.0.1"; @@ -46,6 +47,7 @@ QByteArray RemoteInputSettings::serialize() const { SimpleSerializer s(1); + s.writeString(1, m_title); s.writeString(3, m_multicastAddress); s.writeBool(4, m_multicastJoin); s.writeString(5, m_apiAddress); @@ -76,6 +78,7 @@ bool RemoteInputSettings::deserialize(const QByteArray& data) { quint32 uintval; + d.readString(1, &m_title, "RemoteInput"); d.readString(3, &m_multicastAddress, "224.0.0.1"); d.readBool(4, &m_multicastJoin, false); d.readString(5, &m_apiAddress, "127.0.0.1"); @@ -110,6 +113,9 @@ bool RemoteInputSettings::deserialize(const QByteArray& data) void RemoteInputSettings::applySettings(const QStringList& settingsKeys, const RemoteInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("apiAddress")) { m_apiAddress = settings.m_apiAddress; } @@ -152,6 +158,9 @@ QString RemoteInputSettings::getDebugString(const QStringList& settingsKeys, boo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("apiAddress") || force) { ostr << " m_apiAddress: " << m_apiAddress.toStdString(); } @@ -191,4 +200,3 @@ QString RemoteInputSettings::getDebugString(const QStringList& settingsKeys, boo return QString(ostr.str().c_str()); } - diff --git a/plugins/samplesource/remoteinput/remoteinputsettings.h b/plugins/samplesource/remoteinput/remoteinputsettings.h index 95ca962e4..01417436e 100644 --- a/plugins/samplesource/remoteinput/remoteinputsettings.h +++ b/plugins/samplesource/remoteinput/remoteinputsettings.h @@ -23,7 +23,9 @@ #include #include -struct RemoteInputSettings { +struct RemoteInputSettings +{ + QString m_title; QString m_apiAddress; quint16 m_apiPort; QString m_dataAddress; diff --git a/plugins/samplesource/remotetcpinput/remotetcpinput.cpp b/plugins/samplesource/remotetcpinput/remotetcpinput.cpp index ae27a4cf5..c3db99062 100644 --- a/plugins/samplesource/remotetcpinput/remotetcpinput.cpp +++ b/plugins/samplesource/remotetcpinput/remotetcpinput.cpp @@ -414,6 +414,9 @@ void RemoteTCPInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getRemoteTcpInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getRemoteTcpInputSettings()->getCenterFrequency(); } @@ -490,6 +493,12 @@ void RemoteTCPInput::webapiUpdateDeviceSettings( void RemoteTCPInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RemoteTCPInputSettings& settings) { + if (response.getRemoteTcpInputSettings()->getTitle()) { + *response.getRemoteTcpInputSettings()->getTitle() = settings.m_title; + } else { + response.getRemoteTcpInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getRemoteTcpInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getRemoteTcpInputSettings()->setLoPpmCorrection(settings.m_loPpmCorrection); response.getRemoteTcpInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); diff --git a/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp b/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp index 7270b4c03..823dd268b 100644 --- a/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp +++ b/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp @@ -28,6 +28,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -449,6 +450,8 @@ void RemoteTCPInputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->ppm->setValue(m_settings.m_loPpmCorrection); @@ -1046,22 +1049,37 @@ void RemoteTCPInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + setTitle(dialog.getTitle()); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(dialog.getTitle()); + m_settings.m_title = dialog.getTitle(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/remotetcpinput/remotetcpinputsettings.cpp b/plugins/samplesource/remotetcpinput/remotetcpinputsettings.cpp index b374b9fc1..e326fd2f5 100644 --- a/plugins/samplesource/remotetcpinput/remotetcpinputsettings.cpp +++ b/plugins/samplesource/remotetcpinput/remotetcpinputsettings.cpp @@ -26,6 +26,7 @@ RemoteTCPInputSettings::RemoteTCPInputSettings() void RemoteTCPInputSettings::resetToDefaults() { + m_title = "RemoteTCPInput"; m_centerFrequency = 435000000; m_loPpmCorrection = 0; m_dcBlock = false; @@ -102,6 +103,7 @@ QByteArray RemoteTCPInputSettings::serialize() const s.writeBool(40, m_squelchEnabled); s.writeFloat(41, m_squelch); s.writeFloat(42, m_squelchGate); + s.writeString(50, m_title); return s.final(); } @@ -167,6 +169,7 @@ bool RemoteTCPInputSettings::deserialize(const QByteArray& data) d.readBool(40, &m_squelchEnabled, false); d.readFloat(41, &m_squelch, -100.0f); d.readFloat(42, &m_squelchGate, 0.001f); + d.readString(50, &m_title, "RemoteTCPInput"); return true; } @@ -179,6 +182,9 @@ bool RemoteTCPInputSettings::deserialize(const QByteArray& data) void RemoteTCPInputSettings::applySettings(const QStringList& settingsKeys, const RemoteTCPInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -288,6 +294,9 @@ QString RemoteTCPInputSettings::getDebugString(const QStringList& settingsKeys, { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/remotetcpinput/remotetcpinputsettings.h b/plugins/samplesource/remotetcpinput/remotetcpinputsettings.h index bb4606fbb..c1abcd9fb 100644 --- a/plugins/samplesource/remotetcpinput/remotetcpinputsettings.h +++ b/plugins/samplesource/remotetcpinput/remotetcpinputsettings.h @@ -28,6 +28,7 @@ struct RemoteTCPInputSettings { static const int m_maxGains = 3; + QString m_title; uint64_t m_centerFrequency; qint32 m_loPpmCorrection; bool m_dcBlock; diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp index 5e0727f5b..6cde4e82c 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp @@ -32,6 +32,7 @@ #include "ui_rtlsdrgui.h" #include "gui/colormapper.h" #include "gui/glspectrum.h" +#include "mainspectrum/mainspectrumgui.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" #include "dsp/dspcommands.h" @@ -310,6 +311,8 @@ void RTLSDRGui::displayFcTooltip() void RTLSDRGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -573,28 +576,37 @@ void RTLSDRGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setDefaultTitle(getDefaultTitle()); + dialog.setTitle(m_settings.m_title); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("replayLength"); - m_settingsKeys.append("replayStep"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); + m_settingsKeys.append("title"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index e8ecb8dad..82ea15cd9 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -520,6 +520,9 @@ void RTLSDRInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getRtlSdrSettings()->getTitle(); + } if (deviceSettingsKeys.contains("agc")) { settings.m_agc = response.getRtlSdrSettings()->getAgc() != 0; } @@ -587,6 +590,12 @@ void RTLSDRInput::webapiUpdateDeviceSettings( void RTLSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RTLSDRSettings& settings) { + if (response.getRtlSdrSettings()->getTitle()) { + *response.getRtlSdrSettings()->getTitle() = settings.m_title; + } else { + response.getRtlSdrSettings()->setTitle(new QString(settings.m_title)); + } + response.getRtlSdrSettings()->setAgc(settings.m_agc ? 1 : 0); response.getRtlSdrSettings()->setCenterFrequency(settings.m_centerFrequency); response.getRtlSdrSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); @@ -680,6 +689,9 @@ void RTLSDRInput::webapiReverseSendSettings(const QList& deviceSettings // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgRtlSdrSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("agc") || force) { swgRtlSdrSettings->setAgc(settings.m_agc ? 1 : 0); } diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp index 7768467cc..0590d1dc9 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp @@ -51,6 +51,7 @@ void RTLSDRSettings::resetToDefaults() m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; m_reverseAPIDeviceIndex = 0; + m_title = "RTL-SDR"; } QByteArray RTLSDRSettings::serialize() const @@ -81,6 +82,7 @@ QByteArray RTLSDRSettings::serialize() const s.writeFloat(23, m_replayLength); s.writeFloat(24, m_replayStep); s.writeBool(25, m_replayLoop); + s.writeString(26, m_title); return s.final(); } @@ -133,6 +135,7 @@ bool RTLSDRSettings::deserialize(const QByteArray& data) d.readFloat(23, &m_replayLength, 20.0f); d.readFloat(24, &m_replayStep, 5.0f); d.readBool(25, &m_replayLoop, false); + d.readString(26, &m_title, "RTL-SDR"); return true; } @@ -223,12 +226,18 @@ void RTLSDRSettings::applySettings(const QStringList& settingsKeys, const RTLSDR if (settingsKeys.contains("reverseAPIDeviceIndex")) { m_reverseAPIDeviceIndex = settings.m_reverseAPIDeviceIndex; } + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } } QString RTLSDRSettings::getDebugString(const QStringList& settingsKeys, bool force) const { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.h b/plugins/samplesource/rtlsdr/rtlsdrsettings.h index 046d8af9b..92dba1882 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.h +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.h @@ -55,6 +55,7 @@ struct RTLSDRSettings { QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; uint16_t m_reverseAPIDeviceIndex; + QString m_title; RTLSDRSettings(); void resetToDefaults(); diff --git a/plugins/samplesource/sdrplay/sdrplaygui.cpp b/plugins/samplesource/sdrplay/sdrplaygui.cpp index 29528906d..5c215b882 100644 --- a/plugins/samplesource/sdrplay/sdrplaygui.cpp +++ b/plugins/samplesource/sdrplay/sdrplaygui.cpp @@ -31,6 +31,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" @@ -225,6 +226,8 @@ void SDRPlayGui::updateSampleRateAndFrequency() void SDRPlayGui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->ppm->setValue(m_settings.m_LOppmTenths); @@ -482,11 +485,16 @@ void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); @@ -495,6 +503,7 @@ void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p) m_settingsKeys.append("reverseAPIAddress"); m_settingsKeys.append("reverseAPIPort"); m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("title"); sendSettings(); } diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 8fe704936..71ed7e2d9 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -684,6 +684,9 @@ void SDRPlayInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getSdrPlaySettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getSdrPlaySettings()->getCenterFrequency(); } @@ -751,6 +754,12 @@ void SDRPlayInput::webapiUpdateDeviceSettings( void SDRPlayInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SDRPlaySettings& settings) { + if (response.getSdrPlaySettings()->getTitle()) { + *response.getSdrPlaySettings()->getTitle() = settings.m_title; + } else { + response.getSdrPlaySettings()->setTitle(new QString(settings.m_title)); + } + response.getSdrPlaySettings()->setCenterFrequency(settings.m_centerFrequency); response.getSdrPlaySettings()->setTunerGain(settings.m_tunerGain); response.getSdrPlaySettings()->setLOppmTenths(settings.m_LOppmTenths); @@ -839,6 +848,9 @@ void SDRPlayInput::webapiReverseSendSettings(const QList& deviceSetting // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgSDRPlaySettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgSDRPlaySettings->setCenterFrequency(settings.m_centerFrequency); } @@ -1171,4 +1183,3 @@ unsigned int SDRPlayBands::getNbBands() { return SDRPlayBands::m_nb_bands; } - diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.cpp b/plugins/samplesource/sdrplay/sdrplaysettings.cpp index 774e80686..2d5b031f4 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.cpp +++ b/plugins/samplesource/sdrplay/sdrplaysettings.cpp @@ -27,6 +27,7 @@ SDRPlaySettings::SDRPlaySettings() void SDRPlaySettings::resetToDefaults() { + m_title = "SDRplay"; m_centerFrequency = 7040*1000; m_tunerGain = 0; m_LOppmTenths = 0; @@ -72,6 +73,7 @@ QByteArray SDRPlaySettings::serialize() const s.writeU32(17, m_reverseAPIPort); s.writeU32(18, m_reverseAPIDeviceIndex); s.writeBool(19, m_iqOrder); + s.writeString(20, m_title); return s.final(); } @@ -119,6 +121,7 @@ bool SDRPlaySettings::deserialize(const QByteArray& data) d.readU32(18, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(19, &m_iqOrder, true); + d.readString(20, &m_title, "SDRplayV3"); return true; } @@ -131,6 +134,9 @@ bool SDRPlaySettings::deserialize(const QByteArray& data) void SDRPlaySettings::applySettings(const QStringList& settingsKeys, const SDRPlaySettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -194,6 +200,9 @@ QString SDRPlaySettings::getDebugString(const QStringList& settingsKeys, bool fo { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.h b/plugins/samplesource/sdrplay/sdrplaysettings.h index 1c52e19b8..16846ffa3 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.h +++ b/plugins/samplesource/sdrplay/sdrplaysettings.h @@ -33,6 +33,7 @@ struct SDRPlaySettings { FC_POS_CENTER } fcPos_t; + QString m_title; uint64_t m_centerFrequency; qint32 m_tunerGain; int32_t m_LOppmTenths; diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp index 754d8784b..9ef095e89 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp @@ -32,6 +32,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" SDRPlayV3Gui::SDRPlayV3Gui(DeviceUISet *deviceUISet, QWidget* parent) : @@ -261,6 +262,8 @@ void SDRPlayV3Gui::updateFrequencyLimits() void SDRPlayV3Gui::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -583,28 +586,37 @@ void SDRPlayV3Gui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("replayLength"); - m_settingsKeys.append("replayStep"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); + m_settingsKeys.append("title"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp index 2c64d457f..e66519af2 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp @@ -848,6 +848,9 @@ void SDRPlayV3Input::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getSdrPlayV3Settings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getSdrPlayV3Settings()->getCenterFrequency(); } @@ -933,6 +936,12 @@ void SDRPlayV3Input::webapiUpdateDeviceSettings( void SDRPlayV3Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SDRPlayV3Settings& settings) { + if (response.getSdrPlayV3Settings()->getTitle()) { + *response.getSdrPlayV3Settings()->getTitle() = settings.m_title; + } else { + response.getSdrPlayV3Settings()->setTitle(new QString(settings.m_title)); + } + response.getSdrPlayV3Settings()->setCenterFrequency(settings.m_centerFrequency); response.getSdrPlayV3Settings()->setLOppmTenths(settings.m_LOppmTenths); response.getSdrPlayV3Settings()->setIfFrequencyIndex(settings.m_ifFrequencyIndex); @@ -1038,6 +1047,9 @@ void SDRPlayV3Input::webapiReverseSendSettings(const QList& deviceSetti // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgSDRPlayV3Settings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgSDRPlayV3Settings->setCenterFrequency(settings.m_centerFrequency); } @@ -1476,4 +1488,3 @@ const int *SDRPlayV3LNA::getAttenuations(int deviceId, qint64 frequency) } return lnaAttenuation; } - diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp index 32a7a2518..3e8a8e4e2 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp @@ -28,6 +28,7 @@ SDRPlayV3Settings::SDRPlayV3Settings() void SDRPlayV3Settings::resetToDefaults() { + m_title = "SDRplayV3"; m_centerFrequency = 7040*1000; m_LOppmTenths = 0; m_ifFrequencyIndex = 0; @@ -93,6 +94,7 @@ QByteArray SDRPlayV3Settings::serialize() const s.writeFloat(30, m_replayLength); s.writeFloat(31, m_replayStep); s.writeBool(32, m_replayLoop); + s.writeString(33, m_title); return s.final(); } @@ -150,6 +152,7 @@ bool SDRPlayV3Settings::deserialize(const QByteArray& data) d.readFloat(30, &m_replayLength, 20.0f); d.readFloat(31, &m_replayStep, 5.0f); d.readBool(32, &m_replayLoop, false); + d.readString(33, &m_title, "SDRplayV3"); return true; } @@ -162,6 +165,9 @@ bool SDRPlayV3Settings::deserialize(const QByteArray& data) void SDRPlayV3Settings::applySettings(const QStringList& settingsKeys, const SDRPlayV3Settings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -258,6 +264,9 @@ QString SDRPlayV3Settings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3settings.h b/plugins/samplesource/sdrplayv3/sdrplayv3settings.h index 7cb283e59..361cdca98 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3settings.h +++ b/plugins/samplesource/sdrplayv3/sdrplayv3settings.h @@ -31,6 +31,7 @@ struct SDRPlayV3Settings { FC_POS_CENTER } fcPos_t; + QString m_title; uint64_t m_centerFrequency; int32_t m_LOppmTenths; uint32_t m_ifFrequencyIndex; diff --git a/plugins/samplesource/sigmffileinput/sigmffileinput.cpp b/plugins/samplesource/sigmffileinput/sigmffileinput.cpp index 692eda908..55a7d022a 100644 --- a/plugins/samplesource/sigmffileinput/sigmffileinput.cpp +++ b/plugins/samplesource/sigmffileinput/sigmffileinput.cpp @@ -884,6 +884,9 @@ void SigMFFileInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getSigMfFileInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("fileName")) { settings.m_fileName = *response.getSigMfFileInputSettings()->getFileName(); } @@ -1030,6 +1033,12 @@ int SigMFFileInput::webapiActionsPost( void SigMFFileInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SigMFFileInputSettings& settings) { + if (response.getSigMfFileInputSettings()->getTitle()) { + *response.getSigMfFileInputSettings()->getTitle() = settings.m_title; + } else { + response.getSigMfFileInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getSigMfFileInputSettings()->setFileName(new QString(settings.m_fileName)); response.getSigMfFileInputSettings()->setAccelerationFactor(settings.m_accelerationFactor); response.getSigMfFileInputSettings()->setTrackLoop(settings.m_trackLoop ? 1 : 0); diff --git a/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp b/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp index 15bcd50fb..4c7658ebe 100644 --- a/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp +++ b/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp @@ -28,6 +28,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "dsp/filerecordinterface.h" #include "device/deviceapi.h" @@ -334,6 +335,8 @@ void SigMFFileInputGUI::updateSampleRateAndFrequency() void SigMFFileInputGUI::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->playTrackLoop->setChecked(m_settings.m_trackLoop); ui->playFullLoop->setChecked(m_settings.m_fullLoop); ui->acceleration->setCurrentIndex(SigMFFileInputSettings::getAccelerationIndex(m_settings.m_accelerationFactor)); @@ -690,21 +693,30 @@ void SigMFFileInputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/sigmffileinput/sigmffileinputsettings.cpp b/plugins/samplesource/sigmffileinput/sigmffileinputsettings.cpp index d9c0d964c..c7b703551 100644 --- a/plugins/samplesource/sigmffileinput/sigmffileinputsettings.cpp +++ b/plugins/samplesource/sigmffileinput/sigmffileinputsettings.cpp @@ -30,6 +30,7 @@ SigMFFileInputSettings::SigMFFileInputSettings() void SigMFFileInputSettings::resetToDefaults() { + m_title = "SigMFFileInput"; m_fileName = "./test.sdriq"; m_accelerationFactor = 1; m_trackLoop = false; @@ -51,6 +52,7 @@ QByteArray SigMFFileInputSettings::serialize() const s.writeString(6, m_reverseAPIAddress); s.writeU32(7, m_reverseAPIPort); s.writeU32(8, m_reverseAPIDeviceIndex); + s.writeString(9, m_title); return s.final(); } @@ -84,6 +86,7 @@ bool SigMFFileInputSettings::deserialize(const QByteArray& data) d.readU32(8, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readString(9, &m_title, "SigMFFileInput"); return true; } @@ -96,6 +99,9 @@ bool SigMFFileInputSettings::deserialize(const QByteArray& data) void SigMFFileInputSettings::applySettings(const QStringList& settingsKeys, const SigMFFileInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("fileName")) { m_fileName = settings.m_fileName; } @@ -126,6 +132,9 @@ QString SigMFFileInputSettings::getDebugString(const QStringList& settingsKeys, { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("m_fileName") || force) { ostr << " m_fileName: " << m_fileName.toStdString(); } diff --git a/plugins/samplesource/sigmffileinput/sigmffileinputsettings.h b/plugins/samplesource/sigmffileinput/sigmffileinputsettings.h index d5de4b884..ac69e3d37 100644 --- a/plugins/samplesource/sigmffileinput/sigmffileinputsettings.h +++ b/plugins/samplesource/sigmffileinput/sigmffileinputsettings.h @@ -23,7 +23,9 @@ #include #include -struct SigMFFileInputSettings { +struct SigMFFileInputSettings +{ + QString m_title; QString m_fileName; quint32 m_accelerationFactor; bool m_trackLoop; diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp index f7280fd93..ccfb8f4f8 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp @@ -1451,6 +1451,9 @@ void SoapySDRInput::webapiUpdateDeviceSettings( qDebug("SoapySDRInput::webapiUpdateDeviceSettings %s", qPrintable(deviceSettingsKeys.at(i))); } + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getSoapySdrInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getSoapySdrInputSettings()->getCenterFrequency(); } @@ -1639,6 +1642,12 @@ int SoapySDRInput::webapiRun( void SoapySDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SoapySDRInputSettings& settings) { + if (response.getSoapySdrInputSettings()->getTitle()) { + *response.getSoapySdrInputSettings()->getTitle() = settings.m_title; + } else { + response.getSoapySdrInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getSoapySdrInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getSoapySdrInputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getSoapySdrInputSettings()->setDevSampleRate(settings.m_devSampleRate); diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp index 37e9a11f2..768b27204 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp @@ -27,6 +27,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "soapygui/discreterangegui.h" #include "soapygui/intervalrangegui.h" #include "soapygui/stringrangegui.h" @@ -707,6 +708,8 @@ void SoapySDRInputGui::displaySettings() { blockApplySettings(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); ui->transverter->setIQOrder(m_settings.m_iqOrder); @@ -935,17 +938,25 @@ void SoapySDRInputGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp index 84d3cfa75..80e388fbd 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp @@ -30,6 +30,7 @@ SoapySDRInputSettings::SoapySDRInputSettings() void SoapySDRInputSettings::resetToDefaults() { + m_title = "SoapySDRInput"; m_centerFrequency = 435000*1000; m_LOppmTenths = 0; m_devSampleRate = 1024000; @@ -85,6 +86,7 @@ QByteArray SoapySDRInputSettings::serialize() const s.writeU32(25, m_reverseAPIPort); s.writeU32(26, m_reverseAPIDeviceIndex); s.writeBool(27, m_iqOrder); + s.writeString(28, m_title); return s.final(); } @@ -148,6 +150,7 @@ bool SoapySDRInputSettings::deserialize(const QByteArray& data) d.readU32(26, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(27, &m_iqOrder, true); + d.readString(28, &m_title, "SoapySDRInput"); return true; } @@ -191,4 +194,3 @@ void SoapySDRInputSettings::deserializeArgumentMap(const QByteArray& data, QMap< (*stream) >> map; delete stream; } - diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h index 0774eca6f..3b2d91fd6 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h +++ b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h @@ -32,6 +32,7 @@ struct SoapySDRInputSettings { FC_POS_CENTER } fcPos_t; + QString m_title; quint64 m_centerFrequency; qint32 m_LOppmTenths; qint32 m_devSampleRate; diff --git a/plugins/samplesource/testsource/testsourcegui.cpp b/plugins/samplesource/testsource/testsourcegui.cpp index a2fa40827..0c6d0b467 100644 --- a/plugins/samplesource/testsource/testsourcegui.cpp +++ b/plugins/samplesource/testsource/testsourcegui.cpp @@ -30,6 +30,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "util/db.h" @@ -369,6 +370,8 @@ void TestSourceGui::displaySettings() blockApplySettings(true); ui->sampleSize->blockSignals(true); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->decimation->setCurrentIndex(m_settings.m_log2Decim); ui->fcPos->setCurrentIndex((int) m_settings.m_fcPos); @@ -530,17 +533,30 @@ void TestSourceGui::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/testsource/testsourceinput.cpp b/plugins/samplesource/testsource/testsourceinput.cpp index 9e79c7446..093c5d5bd 100644 --- a/plugins/samplesource/testsource/testsourceinput.cpp +++ b/plugins/samplesource/testsource/testsourceinput.cpp @@ -495,6 +495,9 @@ void TestSourceInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getTestSourceSettings()->getTitle(); + } if (deviceSettingsKeys.contains("centerFrequency")) { settings.m_centerFrequency = response.getTestSourceSettings()->getCenterFrequency(); } @@ -567,6 +570,12 @@ void TestSourceInput::webapiUpdateDeviceSettings( void TestSourceInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const TestSourceSettings& settings) { + if (response.getTestSourceSettings()->getTitle()) { + *response.getTestSourceSettings()->getTitle() = settings.m_title; + } else { + response.getTestSourceSettings()->setTitle(new QString(settings.m_title)); + } + response.getTestSourceSettings()->setCenterFrequency(settings.m_centerFrequency); response.getTestSourceSettings()->setFrequencyShift(settings.m_frequencyShift); response.getTestSourceSettings()->setSampleRate(settings.m_sampleRate); @@ -607,6 +616,9 @@ void TestSourceInput::webapiReverseSendSettings(const QList& deviceSett // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgTestSourceSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("centerFrequency") || force) { swgTestSourceSettings->setCenterFrequency(settings.m_centerFrequency); } diff --git a/plugins/samplesource/testsource/testsourcesettings.cpp b/plugins/samplesource/testsource/testsourcesettings.cpp index 9a5afe143..4b946b488 100644 --- a/plugins/samplesource/testsource/testsourcesettings.cpp +++ b/plugins/samplesource/testsource/testsourcesettings.cpp @@ -28,6 +28,7 @@ TestSourceSettings::TestSourceSettings() void TestSourceSettings::resetToDefaults() { + m_title = "TestSource"; m_centerFrequency = 435000*1000; m_frequencyShift = 0; m_sampleRate = 768*1000; @@ -54,6 +55,7 @@ QByteArray TestSourceSettings::serialize() const { SimpleSerializer s(1); + s.writeString(1, m_title); s.writeS32(2, m_frequencyShift); s.writeU32(3, m_sampleRate); s.writeU32(4, m_log2Decim); @@ -92,6 +94,7 @@ bool TestSourceSettings::deserialize(const QByteArray& data) int intval; uint32_t utmp; + d.readString(1, &m_title, "TestSource"); d.readS32(2, &m_frequencyShift, 0); d.readU32(3, &m_sampleRate, 768*1000); d.readU32(4, &m_log2Decim, 4); @@ -147,6 +150,9 @@ bool TestSourceSettings::deserialize(const QByteArray& data) void TestSourceSettings::applySettings(const QStringList& settingsKeys, const TestSourceSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -213,6 +219,9 @@ QString TestSourceSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/testsource/testsourcesettings.h b/plugins/samplesource/testsource/testsourcesettings.h index 21cf32c07..4888faf36 100644 --- a/plugins/samplesource/testsource/testsourcesettings.h +++ b/plugins/samplesource/testsource/testsourcesettings.h @@ -47,6 +47,7 @@ struct TestSourceSettings { ModulationLast } Modulation; + QString m_title; quint64 m_centerFrequency; qint32 m_frequencyShift; quint32 m_sampleRate; diff --git a/plugins/samplesource/usrpinput/usrpinput.cpp b/plugins/samplesource/usrpinput/usrpinput.cpp index 508cf5071..d4e89f042 100644 --- a/plugins/samplesource/usrpinput/usrpinput.cpp +++ b/plugins/samplesource/usrpinput/usrpinput.cpp @@ -1145,6 +1145,9 @@ void USRPInput::webapiUpdateDeviceSettings( const QStringList& deviceSettingsKeys, SWGSDRangel::SWGDeviceSettings& response) { + if (deviceSettingsKeys.contains("title")) { + settings.m_title = *response.getUsrpInputSettings()->getTitle(); + } if (deviceSettingsKeys.contains("antennaPath")) { settings.m_antennaPath = *response.getUsrpInputSettings()->getAntennaPath(); } @@ -1206,6 +1209,12 @@ void USRPInput::webapiUpdateDeviceSettings( void USRPInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const USRPInputSettings& settings) { + if (response.getUsrpInputSettings()->getTitle()) { + *response.getUsrpInputSettings()->getTitle() = settings.m_title; + } else { + response.getUsrpInputSettings()->setTitle(new QString(settings.m_title)); + } + response.getUsrpInputSettings()->setAntennaPath(new QString(settings.m_antennaPath)); response.getUsrpInputSettings()->setCenterFrequency(settings.m_centerFrequency); response.getUsrpInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); @@ -1302,6 +1311,9 @@ void USRPInput::webapiReverseSendSettings(const QList& deviceSettingsKe // transfer data that has been modified. When force is on transfer all data except reverse API data + if (deviceSettingsKeys.contains("title") || force) { + swgUsrpInputSettings->setTitle(new QString(settings.m_title)); + } if (deviceSettingsKeys.contains("antennaPath") || force) { swgUsrpInputSettings->setAntennaPath(new QString(settings.m_antennaPath)); } diff --git a/plugins/samplesource/usrpinput/usrpinputgui.cpp b/plugins/samplesource/usrpinput/usrpinputgui.cpp index e068d40b3..7594a18af 100644 --- a/plugins/samplesource/usrpinput/usrpinputgui.cpp +++ b/plugins/samplesource/usrpinput/usrpinputgui.cpp @@ -29,6 +29,7 @@ #include "gui/glspectrum.h" #include "gui/basicdevicesettingsdialog.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -375,6 +376,8 @@ void USRPInputGUI::displaySampleRate() void USRPInputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); @@ -656,28 +659,37 @@ void USRPInputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settings.m_replayLength = dialog.getReplayLength(); - m_settings.m_replayStep = dialog.getReplayStep(); - displayReplayLength(); - displayReplayOffset(); - displayReplayStep(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); - m_settingsKeys.append("replayLength"); - m_settingsKeys.append("replayStep"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settings.m_replayLength = dialog.getReplayLength(); + m_settings.m_replayStep = dialog.getReplayStep(); + displayReplayLength(); + displayReplayOffset(); + displayReplayStep(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); + m_settingsKeys.append("replayLength"); + m_settingsKeys.append("replayStep"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/usrpinput/usrpinputsettings.cpp b/plugins/samplesource/usrpinput/usrpinputsettings.cpp index 82fec7e17..e4f913528 100644 --- a/plugins/samplesource/usrpinput/usrpinputsettings.cpp +++ b/plugins/samplesource/usrpinput/usrpinputsettings.cpp @@ -28,6 +28,7 @@ USRPInputSettings::USRPInputSettings() void USRPInputSettings::resetToDefaults() { + m_title = "USRP"; m_masterClockRate = -1; // Calculated by UHD m_centerFrequency = 435000*1000; m_devSampleRate = 3000000; @@ -80,6 +81,7 @@ QByteArray USRPInputSettings::serialize() const s.writeBool(20, m_replayLoop); s.writeU32(21, m_gpioDir); s.writeU32(22, m_gpioPins); + s.writeString(23, m_title); return s.final(); } @@ -132,6 +134,7 @@ bool USRPInputSettings::deserialize(const QByteArray& data) m_gpioDir = uintval & 0xFF; d.readU32(22, &uintval, 0); m_gpioPins = uintval & 0xFF; + d.readString(23, &m_title, "USRP"); return true; } @@ -145,6 +148,9 @@ bool USRPInputSettings::deserialize(const QByteArray& data) void USRPInputSettings::applySettings(const QStringList& settingsKeys, const USRPInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("masterClockRate")) { m_masterClockRate = settings.m_masterClockRate; } @@ -223,6 +229,9 @@ QString USRPInputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("masterClockRate") || force) { ostr << " m_masterClockRate: " << m_masterClockRate; } diff --git a/plugins/samplesource/usrpinput/usrpinputsettings.h b/plugins/samplesource/usrpinput/usrpinputsettings.h index 774e62bde..f558c89c6 100644 --- a/plugins/samplesource/usrpinput/usrpinputsettings.h +++ b/plugins/samplesource/usrpinput/usrpinputsettings.h @@ -36,6 +36,7 @@ struct USRPInputSettings GAIN_MANUAL } GainMode; + QString m_title; int m_masterClockRate; // global settings to be saved uint64_t m_centerFrequency; diff --git a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp index 69aa3b3e4..5b8c84218 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp @@ -31,6 +31,7 @@ #include "gui/basicdevicesettingsdialog.h" #include "gui/dialpopup.h" #include "gui/dialogpositioner.h" +#include "mainspectrum/mainspectrumgui.h" #include "dsp/dspcommands.h" #include "device/deviceapi.h" #include "device/deviceuiset.h" @@ -313,6 +314,8 @@ void XTRXInputGUI::displaySampleRate() void XTRXInputGUI::displaySettings() { + setTitle(m_settings.m_title); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq); ui->extClock->setExternalClockActive(m_settings.m_extClock); @@ -675,21 +678,29 @@ void XTRXInputGUI::openDeviceSettingsDialog(const QPoint& p) dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); + dialog.setTitle(m_settings.m_title); + dialog.setDefaultTitle(getDefaultTitle()); dialog.move(p); new DialogPositioner(&dialog, false); dialog.exec(); - m_settings.m_useReverseAPI = dialog.useReverseAPI(); - m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); - m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); - m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); - m_settingsKeys.append("useReverseAPI"); - m_settingsKeys.append("reverseAPIAddress"); - m_settingsKeys.append("reverseAPIPort"); - m_settingsKeys.append("reverseAPIDeviceIndex"); + if (dialog.result() == QDialog::Accepted) + { + m_settings.m_title = dialog.getTitle(); + getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title); + m_settings.m_useReverseAPI = dialog.useReverseAPI(); + m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); + m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); + m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); + m_settingsKeys.append("title"); + m_settingsKeys.append("useReverseAPI"); + m_settingsKeys.append("reverseAPIAddress"); + m_settingsKeys.append("reverseAPIPort"); + m_settingsKeys.append("reverseAPIDeviceIndex"); - sendSettings(); + sendSettings(); + } } resetContextMenuType(); diff --git a/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp b/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp index 7af4679c3..6241b7b3a 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp @@ -28,6 +28,7 @@ XTRXInputSettings::XTRXInputSettings() void XTRXInputSettings::resetToDefaults() { + m_title = "XTRX"; m_centerFrequency = 435000*1000; m_devSampleRate = 5e6; m_log2HardDecim = 1; @@ -79,6 +80,7 @@ QByteArray XTRXInputSettings::serialize() const s.writeU32(24, m_reverseAPIPort); s.writeU32(25, m_reverseAPIDeviceIndex); s.writeBool(26, m_iqOrder); + s.writeString(27, m_title); return s.final(); } @@ -130,6 +132,7 @@ bool XTRXInputSettings::deserialize(const QByteArray& data) d.readU32(25, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; d.readBool(26, &m_iqOrder, true); + d.readString(27, &m_title, "XTRX"); return true; } @@ -143,6 +146,9 @@ bool XTRXInputSettings::deserialize(const QByteArray& data) void XTRXInputSettings::applySettings(const QStringList& settingsKeys, const XTRXInputSettings& settings) { + if (settingsKeys.contains("title")) { + m_title = settings.m_title; + } if (settingsKeys.contains("centerFrequency")) { m_centerFrequency = settings.m_centerFrequency; } @@ -218,6 +224,9 @@ QString XTRXInputSettings::getDebugString(const QStringList& settingsKeys, bool { std::ostringstream ostr; + if (settingsKeys.contains("title") || force) { + ostr << " m_title: " << m_title.toStdString(); + } if (settingsKeys.contains("centerFrequency") || force) { ostr << " m_centerFrequency: " << m_centerFrequency; } diff --git a/plugins/samplesource/xtrxinput/xtrxinputsettings.h b/plugins/samplesource/xtrxinput/xtrxinputsettings.h index a590490b3..accd9863e 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputsettings.h +++ b/plugins/samplesource/xtrxinput/xtrxinputsettings.h @@ -40,6 +40,7 @@ struct XTRXInputSettings } GainMode; // global settings to be saved + QString m_title; uint64_t m_centerFrequency; double m_devSampleRate; uint32_t m_log2HardDecim; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 44f7bff42..6020c9594 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -2168,6 +2168,9 @@ margin-bottom: 20px; }; defs.AaroniaRTSAOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64", @@ -2208,6 +2211,9 @@ margin-bottom: 20px; }; defs.AaroniaRTSASettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64", @@ -2250,6 +2256,9 @@ margin-bottom: 20px; }; defs.AirspyHFSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -2332,6 +2341,9 @@ margin-bottom: 20px; }; defs.AirspySettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -2578,6 +2590,9 @@ margin-bottom: 20px; }; defs.AudioCATSISOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "rxCenterFrequency" : { "type" : "integer", "format" : "int64" @@ -2759,6 +2774,9 @@ margin-bottom: 20px; }; defs.AudioInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "device" : { "type" : "string", "description" : "The name of the audio device" @@ -2874,6 +2892,9 @@ margin-bottom: 20px; }; defs.AudioOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "deviceName" : { "type" : "string", "description" : "The name of the audio device" @@ -3078,6 +3099,9 @@ margin-bottom: 20px; }; defs.BladeRF1InputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3140,6 +3164,9 @@ margin-bottom: 20px; }; defs.BladeRF1OutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3209,6 +3236,9 @@ margin-bottom: 20px; }; defs.BladeRF2InputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3307,6 +3337,9 @@ margin-bottom: 20px; }; defs.BladeRF2MIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -3430,6 +3463,9 @@ margin-bottom: 20px; }; defs.BladeRF2OutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6209,6 +6245,9 @@ margin-bottom: 20px; }; defs.FCDProPlusSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6282,6 +6321,9 @@ margin-bottom: 20px; }; defs.FCDProSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6902,6 +6944,9 @@ margin-bottom: 20px; }; defs.FileInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read" @@ -6932,6 +6977,9 @@ margin-bottom: 20px; }; defs.FileOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read" @@ -8037,6 +8085,9 @@ margin-bottom: 20px; }; defs.HackRFInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -8104,6 +8155,9 @@ margin-bottom: 20px; }; defs.HackRFOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -8918,6 +8972,9 @@ margin-bottom: 20px; }; defs.KiwiSDRSettings = { "properties" : { + "title" : { + "type" : "string" + }, "gain" : { "type" : "integer" }, @@ -9181,6 +9238,9 @@ margin-bottom: 20px; }; defs.LimeSdrInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -9355,6 +9415,9 @@ margin-bottom: 20px; }; defs.LimeSdrMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -9627,6 +9690,9 @@ margin-bottom: 20px; }; defs.LimeSdrOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -9712,6 +9778,9 @@ margin-bottom: 20px; }; defs.LocalInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "dcBlock" : { "type" : "integer" }, @@ -9748,6 +9817,9 @@ margin-bottom: 20px; }; defs.LocalOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -10776,6 +10848,9 @@ margin-bottom: 20px; }; defs.MetisMISOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "nbReceivers" : { "type" : "integer", "description" : "Number of activated receivers" @@ -12137,6 +12212,9 @@ margin-bottom: 20px; }; defs.PerseusSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -12213,6 +12291,9 @@ margin-bottom: 20px; }; defs.PlutoSdrInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -12333,6 +12414,9 @@ margin-bottom: 20px; }; defs.PlutoSdrMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -12501,6 +12585,9 @@ margin-bottom: 20px; }; defs.PlutoSdrOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -13519,6 +13606,9 @@ margin-bottom: 20px; }; defs.RemoteInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "apiAddress" : { "type" : "string" }, @@ -13602,6 +13692,9 @@ margin-bottom: 20px; }; defs.RemoteOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "nbFECBlocks" : { "type" : "integer" }, @@ -13839,6 +13932,9 @@ margin-bottom: 20px; }; defs.RemoteTCPInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -14088,6 +14184,9 @@ margin-bottom: 20px; }; defs.RtlSdrSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -14190,6 +14289,9 @@ margin-bottom: 20px; }; defs.SDRPlaySettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -14280,6 +14382,9 @@ margin-bottom: 20px; }; defs.SDRPlayV3Settings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -15188,6 +15293,9 @@ margin-bottom: 20px; }; defs.SigMFFileInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read without extension" @@ -15737,6 +15845,9 @@ margin-bottom: 20px; }; defs.SoapySDRInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -15842,6 +15953,9 @@ margin-bottom: 20px; }; defs.SoapySDROutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -16551,6 +16665,9 @@ margin-bottom: 20px; }; defs.TestMISettings = { "properties" : { + "title" : { + "type" : "string" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -16576,6 +16693,9 @@ margin-bottom: 20px; }; defs.TestMOSyncSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -16658,6 +16778,9 @@ margin-bottom: 20px; }; defs.TestSourceSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -17164,6 +17287,9 @@ margin-bottom: 20px; }; defs.USRPInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -17251,6 +17377,9 @@ margin-bottom: 20px; }; defs.USRPOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -18019,6 +18148,9 @@ margin-bottom: 20px; }; defs.XtrxInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -18145,6 +18277,9 @@ margin-bottom: 20px; }; defs.XtrxMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "extClock" : { "type" : "integer", "description" : "Boolean 1 if external clock source else 0" @@ -18346,6 +18481,9 @@ margin-bottom: 20px; }; defs.XtrxOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -59840,7 +59978,7 @@ except ApiException as e:
- Generated 2026-01-24T10:44:52.632+01:00 + Generated 2026-01-27T20:31:15.585+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/AaroniaRTSA.yaml b/sdrbase/resources/webapi/doc/swagger/include/AaroniaRTSA.yaml index 78c339cea..4ba1ece11 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AaroniaRTSA.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AaroniaRTSA.yaml @@ -1,6 +1,8 @@ AaroniaRTSASettings: description: AaroniaRTSA properties: + title: + type: string centerFrequency: description: Sets the center frequency (Hz) of the distant IQ demodulator type: integer @@ -37,6 +39,8 @@ AaroniaRTSAReport: AaroniaRTSAOutputSettings: description: AaroniaRTSAOutput properties: + title: + type: string centerFrequency: description: Sets the center frequency (Hz) of the distant IQ demodulator type: integer diff --git a/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml b/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml index 0e6d4d452..8c7450be4 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml @@ -1,6 +1,8 @@ AirspySettings: description: Airspy properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml b/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml index 5ac8e321c..0196940cc 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml @@ -1,6 +1,8 @@ AirspyHFSettings: description: AirspyHF properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml b/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml index df5d328bd..efdba0c62 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml @@ -1,6 +1,8 @@ AudioCATSISOSettings: description: AudioCATSISO properties: + title: + type: string rxCenterFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/AudioInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/AudioInput.yaml index 56a7cd227..2e69cd198 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AudioInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AudioInput.yaml @@ -1,6 +1,8 @@ AudioInputSettings: description: AudioInput properties: + title: + type: string device: description: The name of the audio device type: string diff --git a/sdrbase/resources/webapi/doc/swagger/include/AudioOutput.yaml b/sdrbase/resources/webapi/doc/swagger/include/AudioOutput.yaml index 15f2f46db..1c980dd04 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AudioOutput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AudioOutput.yaml @@ -1,6 +1,8 @@ AudioOutputSettings: description: AudioOutput properties: + title: + type: string deviceName: description: The name of the audio device type: string diff --git a/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml b/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml index 1444272d8..f00b9819d 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml @@ -1,6 +1,8 @@ BladeRF1InputSettings: description: BladeRF1 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -47,6 +49,8 @@ BladeRF1InputSettings: BladeRF1OutputSettings: description: BladeRF1 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml b/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml index 100a335c1..31431a907 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml @@ -1,6 +1,8 @@ BladeRF2InputSettings: description: BladeRF2 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -64,6 +66,8 @@ BladeRF2InputReport: BladeRF2OutputSettings: description: BladeRF2 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -109,6 +113,8 @@ BladeRF2OutputReport: BladeRF2MIMOSettings: description: BladeRF2 properties: + title: + type: string devSampleRate: type: integer LOppmTenths: diff --git a/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml b/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml index 0fbad784b..711cc5bd9 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml @@ -1,6 +1,8 @@ FCDProSettings: description: FCDPro properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml b/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml index 6f2e0d3cb..9e8758204 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml @@ -1,6 +1,8 @@ FCDProPlusSettings: description: FCDProPlus properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/FileInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/FileInput.yaml index da6827333..9546318e5 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FileInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FileInput.yaml @@ -1,6 +1,8 @@ FileInputSettings: description: FileInput properties: + title: + type: string fileName: description: The name (path) of the file being read type: string diff --git a/sdrbase/resources/webapi/doc/swagger/include/FileOutput.yaml b/sdrbase/resources/webapi/doc/swagger/include/FileOutput.yaml index 262026220..ea5a38846 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FileOutput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FileOutput.yaml @@ -1,6 +1,8 @@ FileOutputSettings: description: FileInput properties: + title: + type: string fileName: description: The name (path) of the file being read type: string diff --git a/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml b/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml index e9bb65b36..bdb5cb5ba 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml @@ -1,6 +1,8 @@ HackRFInputSettings: description: HackRF properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -51,6 +53,8 @@ HackRFInputSettings: HackRFOutputSettings: description: HackRF properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -85,4 +89,3 @@ HackRFOutputSettings: type: integer reverseAPIDeviceIndex: type: integer - diff --git a/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml b/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml index 8042a9fc5..a66a9a155 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml @@ -1,6 +1,8 @@ KiwiSDRSettings: description: KiwiSDR properties: + title: + type: string gain: type: integer useAGC: diff --git a/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml index 5fae3ce0c..6645764a2 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml @@ -1,6 +1,8 @@ LimeSdrInputSettings: description: LimeSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -72,6 +74,8 @@ LimeSdrInputSettings: LimeSdrOutputSettings: description: LimeSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -124,6 +128,8 @@ LimeSdrMIMOSettings: description: LimeSDR properties: # General + title: + type: string devSampleRate: type: integer gpioDir: diff --git a/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml index 010a144d9..9bb193216 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml @@ -1,6 +1,8 @@ LocalInputSettings: description: LocalInput properties: + title: + type: string dcBlock: type: integer iqCorrection: diff --git a/sdrbase/resources/webapi/doc/swagger/include/LocalOutput.yaml b/sdrbase/resources/webapi/doc/swagger/include/LocalOutput.yaml index 3ae0bb37c..c077f1dfc 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LocalOutput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LocalOutput.yaml @@ -1,6 +1,8 @@ LocalOutputSettings: description: LocalOutput properties: + title: + type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml index 361b0cf8f..bf651b8b2 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml @@ -1,6 +1,8 @@ MetisMISOSettings: description: MetisMISOSettings properties: + title: + type: string nbReceivers: type: integer description: Number of activated receivers diff --git a/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml b/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml index d2030886c..227992b44 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml @@ -1,6 +1,8 @@ PerseusSettings: description: Perseus properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml index 14033dde6..95709d5d3 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml @@ -1,6 +1,8 @@ PlutoSdrInputSettings: description: PlutoSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -69,6 +71,8 @@ PlutoSdrInputSettings: PlutoSdrOutputSettings: description: PlutoSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -116,6 +120,8 @@ PlutoSdrOutputSettings: PlutoSdrMIMOSettings: description: PlutoSDR properties: + title: + type: string devSampleRate: type: integer LOppmTenths: diff --git a/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml index 74ae02597..b0ce39d43 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml @@ -1,6 +1,8 @@ RemoteInputSettings: description: RemoteInput properties: + title: + type: string apiAddress: type: string apiPort: diff --git a/sdrbase/resources/webapi/doc/swagger/include/RemoteOutput.yaml b/sdrbase/resources/webapi/doc/swagger/include/RemoteOutput.yaml index 9fdd76ccb..59a8f0ac7 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RemoteOutput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RemoteOutput.yaml @@ -1,6 +1,8 @@ RemoteOutputSettings: description: RemoteOutput properties: + title: + type: string nbFECBlocks: type: integer nbTxBytes: diff --git a/sdrbase/resources/webapi/doc/swagger/include/RemoteTCPInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/RemoteTCPInput.yaml index c27b4e712..e2e92a307 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RemoteTCPInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RemoteTCPInput.yaml @@ -1,6 +1,8 @@ RemoteTCPInputSettings: description: RemoteTCPInput properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml index 96773c026..f0d7492b7 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml @@ -1,6 +1,8 @@ RtlSdrSettings: description: RTLSDR properties: + title: + type: string devSampleRate: type: integer lowSampleRate: diff --git a/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml b/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml index c0c7b610a..d766696f5 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml @@ -1,6 +1,8 @@ SDRPlaySettings: description: SDRplay1 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml b/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml index 099997714..cea7865d5 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml @@ -1,6 +1,8 @@ SDRPlayV3Settings: description: SDRplayV3 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/SigMFFileInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/SigMFFileInput.yaml index 30c8b95a0..5a5cf61af 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SigMFFileInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SigMFFileInput.yaml @@ -1,6 +1,8 @@ SigMFFileInputSettings: description: SigMFFileInput properties: + title: + type: string fileName: description: The name (path) of the file being read without extension type: string diff --git a/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml b/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml index 983fae753..6ee87473a 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml @@ -1,6 +1,8 @@ SoapySDRInputSettings: description: SoapySDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -78,6 +80,8 @@ SoapySDRInputSettings: SoapySDROutputSettings: description: SoapySDR properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/TestMI.yaml b/sdrbase/resources/webapi/doc/swagger/include/TestMI.yaml index d134f7164..d13bacf3d 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/TestMI.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/TestMI.yaml @@ -1,6 +1,8 @@ TestMISettings: description: TestMISettings properties: + title: + type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/sdrbase/resources/webapi/doc/swagger/include/TestMOSync.yaml b/sdrbase/resources/webapi/doc/swagger/include/TestMOSync.yaml index ba5fe28c3..75c9975a8 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/TestMOSync.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/TestMOSync.yaml @@ -1,6 +1,8 @@ TestMOSyncSettings: description: TestMOSync properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml b/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml index e16774cf0..e575929da 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml @@ -1,6 +1,8 @@ TestSourceSettings: description: TestSource properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/USRP.yaml b/sdrbase/resources/webapi/doc/swagger/include/USRP.yaml index 169094c7b..c8ad85a30 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/USRP.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/USRP.yaml @@ -1,6 +1,8 @@ USRPInputSettings: description: USRP properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -49,6 +51,8 @@ USRPInputSettings: USRPOutputSettings: description: USRP properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml b/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml index 328fedf87..a11cd599b 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml @@ -1,6 +1,8 @@ XtrxInputSettings: description: XTRX properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -88,6 +90,8 @@ XtrxInputReport: XtrxOutputSettings: description: XTRX properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -151,6 +155,8 @@ XtrxOutputReport: XtrxMIMOSettings: description: XTRX properties: + title: + type: string extClock: description: Boolean 1 if external clock source else 0 type: integer diff --git a/sdrgui/device/devicegui.h b/sdrgui/device/devicegui.h index dd624ae86..3abdf20cc 100644 --- a/sdrgui/device/devicegui.h +++ b/sdrgui/device/devicegui.h @@ -74,6 +74,8 @@ public: DeviceType getDeviceType() const { return m_deviceType; } void setTitle(const QString& title); QString getTitle() const; + void setDefaultTitle(const QString& title) { m_defaultTitle = title; } + QString getDefaultTitle() const { return m_defaultTitle; } void setToolTip(const QString& tooltip); void setIndex(int index); int getIndex() const { return m_deviceSetIndex; } @@ -94,6 +96,7 @@ protected: DeviceUISet* m_deviceUISet; DeviceType m_deviceType; + QString m_defaultTitle; int m_deviceSetIndex; int m_workspaceIndex; QString m_helpURL; diff --git a/sdrgui/device/readme.md b/sdrgui/device/readme.md index 826f2040a..6a1a69e5a 100644 --- a/sdrgui/device/readme.md +++ b/sdrgui/device/readme.md @@ -28,9 +28,17 @@ All device types have common settings. Clicking on the button opens a dialog to ![Basic device settings dialog](../../doc/img/BasicDeviceSettings.png) -

A.2.1: Toggle reverse API feature

+

A.2.1: Edit device title

-Use this checkbox to toggle on/off the reverse API feature. With reverse API engaged the changes in the device settings are forwarded to an API endpoint given by address (A.2.2), port (A.2.3) and device index A.2.4) in the same format as the SDRangel REST API device settings endpoint. With the values of the screenshot the API URL is: `http://127.0.0.1:8888/sdrangel/deviceset/0/device/settings` The JSON payload follows the same format as the SDRangel REST API device settings. For example with HackRF Rx this would be something like: +You can change the device title in this text area. + +

A.2.2: Reset device title to default

+ +Push this button to reset the device title to device type and sequence number + +

A.2.3: Toggle reverse API feature

+ +Use this checkbox to toggle on/off the reverse API feature. With reverse API engaged the changes in the device settings are forwarded to an API endpoint given by address and port that follows and device index (A.2.4) in the same format as the SDRangel REST API device settings endpoint. With the values of the screenshot the API URL is: `http://127.0.0.1:8888/sdrangel/deviceset/0/device/settings` The JSON payload follows the same format as the SDRangel REST API device settings. For example with HackRF Rx this would be something like: ``` { @@ -59,27 +67,30 @@ The start and stop actions are also forwarded with the `/sdrangel/deviceset/{dev More details on this feature can be found on the corresponding Wiki page. -

A.2.2: API address

- -This is the IP address of the API endpoint - -

A.2.3: API port

- -This is the IP port of the API endpoint -

A.2.4: Device index

This is the targeted device index -

A.2.5: Cancel changes and exit dialog

+

A.2.5: Replay buffer length

+ +For devices with replay feature this sets the replay buffer length + +

A.2.6: Replay step

+ +For devices with replay feature this sets the replay step + +

A.2.7: Device preset dialog

+ +This button opens a dialog to manage device presets + +

A.2.8: Cancel changes and exit dialog

Do not make any changes and exit dialog -

A.2.6: Validate and exit dialog

+

A.2.9: Validate and exit dialog

Validates the data (saves it in the channel marker object) and exits the dialog -

A.3: Change device

Opens a dialog that lets you choose a different device @@ -176,7 +187,7 @@ Add a new channel by clicking on the `Apply` button. You may click it several ti

A.7: Title

-The window title shows the device type and a sequence number. +The window title shows the device type by default and it can be changed in the Device common settings (see A.2) . The tooltip always shows the device type with a sequence number and serial number if available. You may click on this area and drag the window with the mouse. diff --git a/sdrgui/gui/basicdevicesettingsdialog.cpp b/sdrgui/gui/basicdevicesettingsdialog.cpp index 1e88cbc0c..32ee24800 100644 --- a/sdrgui/gui/basicdevicesettingsdialog.cpp +++ b/sdrgui/gui/basicdevicesettingsdialog.cpp @@ -47,6 +47,16 @@ BasicDeviceSettingsDialog::~BasicDeviceSettingsDialog() delete ui; } +void BasicDeviceSettingsDialog::setTitle(const QString& title) +{ + ui->title->setText(title); +} + +QString BasicDeviceSettingsDialog::getTitle() const +{ + return ui->title->text(); +} + void BasicDeviceSettingsDialog::setReplayBytesPerSecond(int bytesPerSecond) { bool enabled = bytesPerSecond > 0; @@ -152,6 +162,11 @@ void BasicDeviceSettingsDialog::on_reverseAPIDeviceIndex_editingFinished() } } +void BasicDeviceSettingsDialog::on_titleReset_clicked() +{ + ui->title->setText(m_defaultTitle); +} + void BasicDeviceSettingsDialog::on_presets_clicked() { DeviceGUI *deviceGUI = qobject_cast(parent()); diff --git a/sdrgui/gui/basicdevicesettingsdialog.h b/sdrgui/gui/basicdevicesettingsdialog.h index 7e06cdab9..45dbad778 100644 --- a/sdrgui/gui/basicdevicesettingsdialog.h +++ b/sdrgui/gui/basicdevicesettingsdialog.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2017-2018 Edouard Griffiths, F4EXB // +// Copyright (C) 2017-2026 Edouard Griffiths, F4EXB // // Copyright (C) 2023 Jon Beniston, M7RCE // // // // This program is free software; you can redistribute it and/or modify // @@ -42,13 +42,17 @@ public: void setReverseAPIAddress(const QString& address); void setReverseAPIPort(uint16_t port); void setReverseAPIDeviceIndex(uint16_t deviceIndex); + void setDefaultTitle(const QString& title) { m_defaultTitle = title; } + void setTitle(const QString& title); void setReplayBytesPerSecond(int bytesPerSecond); void setReplayLength(float replayLength); float getReplayLength() const { return m_replayLength; } void setReplayStep(float replayStep); float getReplayStep() const { return m_replayStep; } + QString getTitle() const; private slots: + void on_titleReset_clicked(); void on_reverseAPI_toggled(bool checked); void on_reverseAPIAddress_editingFinished(); void on_reverseAPIPort_editingFinished(); @@ -64,6 +68,7 @@ private: QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; uint16_t m_reverseAPIDeviceIndex; + QString m_defaultTitle; bool m_hasChanged; int m_replayBytesPerSecond; float m_replayLength; diff --git a/sdrgui/gui/basicdevicesettingsdialog.ui b/sdrgui/gui/basicdevicesettingsdialog.ui index 7f1ad133b..2743939a3 100644 --- a/sdrgui/gui/basicdevicesettingsdialog.ui +++ b/sdrgui/gui/basicdevicesettingsdialog.ui @@ -7,7 +7,7 @@ 0 0 394 - 137 + 190 @@ -20,6 +20,50 @@ Basic device settings + + + + + + + 0 + 0 + + + + Title + + + + + + + Channel marker title + + + + + + + + 24 + 24 + + + + Reset title to channel type name + + + + + + + :/recycle.png:/recycle.png + + + + + diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp index ac440a508..db81a4eda 100644 --- a/sdrgui/mainwindow.cpp +++ b/sdrgui/mainwindow.cpp @@ -1410,6 +1410,7 @@ void MainWindow::sampleSourceCreateUI( deviceGUI->setIndex(deviceSetIndex); deviceGUI->setToolTip(samplingDevice->displayedName); deviceGUI->setTitle(samplingDevice->displayedName.split(" ")[0]); + deviceGUI->setDefaultTitle(samplingDevice->displayedName.split(" ")[0]); deviceGUI->setCurrentDeviceIndex(deviceIndex); QStringList channelNames; m_pluginManager->listRxChannels(channelNames); @@ -1566,6 +1567,7 @@ void MainWindow::sampleSinkCreateUI( deviceGUI->setIndex(deviceSetIndex); deviceGUI->setToolTip(samplingDevice->displayedName); deviceGUI->setTitle(samplingDevice->displayedName.split(" ")[0]); + deviceGUI->setDefaultTitle(samplingDevice->displayedName.split(" ")[0]); deviceGUI->setCurrentDeviceIndex(deviceIndex); QStringList channelNames; m_pluginManager->listTxChannels(channelNames); @@ -1703,6 +1705,7 @@ void MainWindow::sampleMIMOCreateUI( deviceGUI->setIndex(deviceSetIndex); deviceGUI->setToolTip(samplingDevice->displayedName); deviceGUI->setTitle(samplingDevice->displayedName.split(" ")[0]); + deviceGUI->setDefaultTitle(samplingDevice->displayedName.split(" ")[0]); deviceGUI->setCurrentDeviceIndex(deviceIndex); QStringList channelNames; QStringList tmpChannelNames; diff --git a/swagger/sdrangel/api/swagger/include/AaroniaRTSA.yaml b/swagger/sdrangel/api/swagger/include/AaroniaRTSA.yaml index 78c339cea..4ba1ece11 100644 --- a/swagger/sdrangel/api/swagger/include/AaroniaRTSA.yaml +++ b/swagger/sdrangel/api/swagger/include/AaroniaRTSA.yaml @@ -1,6 +1,8 @@ AaroniaRTSASettings: description: AaroniaRTSA properties: + title: + type: string centerFrequency: description: Sets the center frequency (Hz) of the distant IQ demodulator type: integer @@ -37,6 +39,8 @@ AaroniaRTSAReport: AaroniaRTSAOutputSettings: description: AaroniaRTSAOutput properties: + title: + type: string centerFrequency: description: Sets the center frequency (Hz) of the distant IQ demodulator type: integer diff --git a/swagger/sdrangel/api/swagger/include/Airspy.yaml b/swagger/sdrangel/api/swagger/include/Airspy.yaml index db109df77..5cf671263 100644 --- a/swagger/sdrangel/api/swagger/include/Airspy.yaml +++ b/swagger/sdrangel/api/swagger/include/Airspy.yaml @@ -1,6 +1,8 @@ AirspySettings: description: Airspy properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/AirspyHF.yaml b/swagger/sdrangel/api/swagger/include/AirspyHF.yaml index af53f5db2..bac3cf928 100644 --- a/swagger/sdrangel/api/swagger/include/AirspyHF.yaml +++ b/swagger/sdrangel/api/swagger/include/AirspyHF.yaml @@ -1,6 +1,8 @@ AirspyHFSettings: description: AirspyHF properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml b/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml index df5d328bd..efdba0c62 100644 --- a/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml +++ b/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml @@ -1,6 +1,8 @@ AudioCATSISOSettings: description: AudioCATSISO properties: + title: + type: string rxCenterFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/AudioInput.yaml b/swagger/sdrangel/api/swagger/include/AudioInput.yaml index 56a7cd227..2e69cd198 100644 --- a/swagger/sdrangel/api/swagger/include/AudioInput.yaml +++ b/swagger/sdrangel/api/swagger/include/AudioInput.yaml @@ -1,6 +1,8 @@ AudioInputSettings: description: AudioInput properties: + title: + type: string device: description: The name of the audio device type: string diff --git a/swagger/sdrangel/api/swagger/include/AudioOutput.yaml b/swagger/sdrangel/api/swagger/include/AudioOutput.yaml index 15f2f46db..1c980dd04 100644 --- a/swagger/sdrangel/api/swagger/include/AudioOutput.yaml +++ b/swagger/sdrangel/api/swagger/include/AudioOutput.yaml @@ -1,6 +1,8 @@ AudioOutputSettings: description: AudioOutput properties: + title: + type: string deviceName: description: The name of the audio device type: string diff --git a/swagger/sdrangel/api/swagger/include/BladeRF1.yaml b/swagger/sdrangel/api/swagger/include/BladeRF1.yaml index 1444272d8..f00b9819d 100644 --- a/swagger/sdrangel/api/swagger/include/BladeRF1.yaml +++ b/swagger/sdrangel/api/swagger/include/BladeRF1.yaml @@ -1,6 +1,8 @@ BladeRF1InputSettings: description: BladeRF1 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -47,6 +49,8 @@ BladeRF1InputSettings: BladeRF1OutputSettings: description: BladeRF1 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/BladeRF2.yaml b/swagger/sdrangel/api/swagger/include/BladeRF2.yaml index 460747364..f34d84e8e 100644 --- a/swagger/sdrangel/api/swagger/include/BladeRF2.yaml +++ b/swagger/sdrangel/api/swagger/include/BladeRF2.yaml @@ -1,6 +1,8 @@ BladeRF2InputSettings: description: BladeRF2 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -64,6 +66,8 @@ BladeRF2InputReport: BladeRF2OutputSettings: description: BladeRF2 properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -109,6 +113,8 @@ BladeRF2OutputReport: BladeRF2MIMOSettings: description: BladeRF2 properties: + title: + type: string devSampleRate: type: integer LOppmTenths: diff --git a/swagger/sdrangel/api/swagger/include/FCDPro.yaml b/swagger/sdrangel/api/swagger/include/FCDPro.yaml index 0fbad784b..711cc5bd9 100644 --- a/swagger/sdrangel/api/swagger/include/FCDPro.yaml +++ b/swagger/sdrangel/api/swagger/include/FCDPro.yaml @@ -1,6 +1,8 @@ FCDProSettings: description: FCDPro properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml b/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml index 6f2e0d3cb..9e8758204 100644 --- a/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml +++ b/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml @@ -1,6 +1,8 @@ FCDProPlusSettings: description: FCDProPlus properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/FileInput.yaml b/swagger/sdrangel/api/swagger/include/FileInput.yaml index da6827333..9546318e5 100644 --- a/swagger/sdrangel/api/swagger/include/FileInput.yaml +++ b/swagger/sdrangel/api/swagger/include/FileInput.yaml @@ -1,6 +1,8 @@ FileInputSettings: description: FileInput properties: + title: + type: string fileName: description: The name (path) of the file being read type: string diff --git a/swagger/sdrangel/api/swagger/include/FileOutput.yaml b/swagger/sdrangel/api/swagger/include/FileOutput.yaml index 262026220..ea5a38846 100644 --- a/swagger/sdrangel/api/swagger/include/FileOutput.yaml +++ b/swagger/sdrangel/api/swagger/include/FileOutput.yaml @@ -1,6 +1,8 @@ FileOutputSettings: description: FileInput properties: + title: + type: string fileName: description: The name (path) of the file being read type: string diff --git a/swagger/sdrangel/api/swagger/include/HackRF.yaml b/swagger/sdrangel/api/swagger/include/HackRF.yaml index e9bb65b36..bdb5cb5ba 100644 --- a/swagger/sdrangel/api/swagger/include/HackRF.yaml +++ b/swagger/sdrangel/api/swagger/include/HackRF.yaml @@ -1,6 +1,8 @@ HackRFInputSettings: description: HackRF properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -51,6 +53,8 @@ HackRFInputSettings: HackRFOutputSettings: description: HackRF properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -85,4 +89,3 @@ HackRFOutputSettings: type: integer reverseAPIDeviceIndex: type: integer - diff --git a/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml b/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml index 8042a9fc5..a66a9a155 100644 --- a/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml +++ b/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml @@ -1,6 +1,8 @@ KiwiSDRSettings: description: KiwiSDR properties: + title: + type: string gain: type: integer useAGC: diff --git a/swagger/sdrangel/api/swagger/include/LimeSdr.yaml b/swagger/sdrangel/api/swagger/include/LimeSdr.yaml index 5fae3ce0c..6645764a2 100644 --- a/swagger/sdrangel/api/swagger/include/LimeSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/LimeSdr.yaml @@ -1,6 +1,8 @@ LimeSdrInputSettings: description: LimeSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -72,6 +74,8 @@ LimeSdrInputSettings: LimeSdrOutputSettings: description: LimeSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -124,6 +128,8 @@ LimeSdrMIMOSettings: description: LimeSDR properties: # General + title: + type: string devSampleRate: type: integer gpioDir: diff --git a/swagger/sdrangel/api/swagger/include/LocalInput.yaml b/swagger/sdrangel/api/swagger/include/LocalInput.yaml index 010a144d9..9bb193216 100644 --- a/swagger/sdrangel/api/swagger/include/LocalInput.yaml +++ b/swagger/sdrangel/api/swagger/include/LocalInput.yaml @@ -1,6 +1,8 @@ LocalInputSettings: description: LocalInput properties: + title: + type: string dcBlock: type: integer iqCorrection: diff --git a/swagger/sdrangel/api/swagger/include/LocalOutput.yaml b/swagger/sdrangel/api/swagger/include/LocalOutput.yaml index 3ae0bb37c..c077f1dfc 100644 --- a/swagger/sdrangel/api/swagger/include/LocalOutput.yaml +++ b/swagger/sdrangel/api/swagger/include/LocalOutput.yaml @@ -1,6 +1,8 @@ LocalOutputSettings: description: LocalOutput properties: + title: + type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml index 361b0cf8f..bf651b8b2 100644 --- a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml +++ b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml @@ -1,6 +1,8 @@ MetisMISOSettings: description: MetisMISOSettings properties: + title: + type: string nbReceivers: type: integer description: Number of activated receivers diff --git a/swagger/sdrangel/api/swagger/include/Perseus.yaml b/swagger/sdrangel/api/swagger/include/Perseus.yaml index 73f75127a..e41690162 100644 --- a/swagger/sdrangel/api/swagger/include/Perseus.yaml +++ b/swagger/sdrangel/api/swagger/include/Perseus.yaml @@ -1,6 +1,8 @@ PerseusSettings: description: Perseus properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml b/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml index 14033dde6..95709d5d3 100644 --- a/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml @@ -1,6 +1,8 @@ PlutoSdrInputSettings: description: PlutoSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -69,6 +71,8 @@ PlutoSdrInputSettings: PlutoSdrOutputSettings: description: PlutoSDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -116,6 +120,8 @@ PlutoSdrOutputSettings: PlutoSdrMIMOSettings: description: PlutoSDR properties: + title: + type: string devSampleRate: type: integer LOppmTenths: diff --git a/swagger/sdrangel/api/swagger/include/RemoteInput.yaml b/swagger/sdrangel/api/swagger/include/RemoteInput.yaml index 74ae02597..b0ce39d43 100644 --- a/swagger/sdrangel/api/swagger/include/RemoteInput.yaml +++ b/swagger/sdrangel/api/swagger/include/RemoteInput.yaml @@ -1,6 +1,8 @@ RemoteInputSettings: description: RemoteInput properties: + title: + type: string apiAddress: type: string apiPort: diff --git a/swagger/sdrangel/api/swagger/include/RemoteOutput.yaml b/swagger/sdrangel/api/swagger/include/RemoteOutput.yaml index 9fdd76ccb..59a8f0ac7 100644 --- a/swagger/sdrangel/api/swagger/include/RemoteOutput.yaml +++ b/swagger/sdrangel/api/swagger/include/RemoteOutput.yaml @@ -1,6 +1,8 @@ RemoteOutputSettings: description: RemoteOutput properties: + title: + type: string nbFECBlocks: type: integer nbTxBytes: diff --git a/swagger/sdrangel/api/swagger/include/RemoteTCPInput.yaml b/swagger/sdrangel/api/swagger/include/RemoteTCPInput.yaml index c27b4e712..e2e92a307 100644 --- a/swagger/sdrangel/api/swagger/include/RemoteTCPInput.yaml +++ b/swagger/sdrangel/api/swagger/include/RemoteTCPInput.yaml @@ -1,6 +1,8 @@ RemoteTCPInputSettings: description: RemoteTCPInput properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/RtlSdr.yaml b/swagger/sdrangel/api/swagger/include/RtlSdr.yaml index 82a467c42..45e16ffc7 100644 --- a/swagger/sdrangel/api/swagger/include/RtlSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/RtlSdr.yaml @@ -1,6 +1,8 @@ RtlSdrSettings: description: RTLSDR properties: + title: + type: string devSampleRate: type: integer lowSampleRate: diff --git a/swagger/sdrangel/api/swagger/include/SDRPlay.yaml b/swagger/sdrangel/api/swagger/include/SDRPlay.yaml index c1d84bc11..d6621eabf 100644 --- a/swagger/sdrangel/api/swagger/include/SDRPlay.yaml +++ b/swagger/sdrangel/api/swagger/include/SDRPlay.yaml @@ -1,6 +1,8 @@ SDRPlaySettings: description: SDRplay1 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml b/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml index 3a2b73814..78479d4ff 100644 --- a/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml +++ b/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml @@ -1,6 +1,8 @@ SDRPlayV3Settings: description: SDRplayV3 properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/SigMFFileInput.yaml b/swagger/sdrangel/api/swagger/include/SigMFFileInput.yaml index 30c8b95a0..5a5cf61af 100644 --- a/swagger/sdrangel/api/swagger/include/SigMFFileInput.yaml +++ b/swagger/sdrangel/api/swagger/include/SigMFFileInput.yaml @@ -1,6 +1,8 @@ SigMFFileInputSettings: description: SigMFFileInput properties: + title: + type: string fileName: description: The name (path) of the file being read without extension type: string diff --git a/swagger/sdrangel/api/swagger/include/SoapySDR.yaml b/swagger/sdrangel/api/swagger/include/SoapySDR.yaml index 2d2c139e4..d826e3bd5 100644 --- a/swagger/sdrangel/api/swagger/include/SoapySDR.yaml +++ b/swagger/sdrangel/api/swagger/include/SoapySDR.yaml @@ -1,6 +1,8 @@ SoapySDRInputSettings: description: SoapySDR properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -78,6 +80,8 @@ SoapySDRInputSettings: SoapySDROutputSettings: description: SoapySDR properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/TestMI.yaml b/swagger/sdrangel/api/swagger/include/TestMI.yaml index d134f7164..d13bacf3d 100644 --- a/swagger/sdrangel/api/swagger/include/TestMI.yaml +++ b/swagger/sdrangel/api/swagger/include/TestMI.yaml @@ -1,6 +1,8 @@ TestMISettings: description: TestMISettings properties: + title: + type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/api/swagger/include/TestMOSync.yaml b/swagger/sdrangel/api/swagger/include/TestMOSync.yaml index ba5fe28c3..75c9975a8 100644 --- a/swagger/sdrangel/api/swagger/include/TestMOSync.yaml +++ b/swagger/sdrangel/api/swagger/include/TestMOSync.yaml @@ -1,6 +1,8 @@ TestMOSyncSettings: description: TestMOSync properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/TestSource.yaml b/swagger/sdrangel/api/swagger/include/TestSource.yaml index e16774cf0..e575929da 100644 --- a/swagger/sdrangel/api/swagger/include/TestSource.yaml +++ b/swagger/sdrangel/api/swagger/include/TestSource.yaml @@ -1,6 +1,8 @@ TestSourceSettings: description: TestSource properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/USRP.yaml b/swagger/sdrangel/api/swagger/include/USRP.yaml index 169094c7b..c8ad85a30 100644 --- a/swagger/sdrangel/api/swagger/include/USRP.yaml +++ b/swagger/sdrangel/api/swagger/include/USRP.yaml @@ -1,6 +1,8 @@ USRPInputSettings: description: USRP properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -49,6 +51,8 @@ USRPInputSettings: USRPOutputSettings: description: USRP properties: + title: + type: string centerFrequency: type: integer format: int64 diff --git a/swagger/sdrangel/api/swagger/include/Xtrx.yaml b/swagger/sdrangel/api/swagger/include/Xtrx.yaml index 328fedf87..a11cd599b 100644 --- a/swagger/sdrangel/api/swagger/include/Xtrx.yaml +++ b/swagger/sdrangel/api/swagger/include/Xtrx.yaml @@ -1,6 +1,8 @@ XtrxInputSettings: description: XTRX properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -88,6 +90,8 @@ XtrxInputReport: XtrxOutputSettings: description: XTRX properties: + title: + type: string centerFrequency: type: integer format: int64 @@ -151,6 +155,8 @@ XtrxOutputReport: XtrxMIMOSettings: description: XTRX properties: + title: + type: string extClock: description: Boolean 1 if external clock source else 0 type: integer diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 44f7bff42..6020c9594 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -2168,6 +2168,9 @@ margin-bottom: 20px; }; defs.AaroniaRTSAOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64", @@ -2208,6 +2211,9 @@ margin-bottom: 20px; }; defs.AaroniaRTSASettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64", @@ -2250,6 +2256,9 @@ margin-bottom: 20px; }; defs.AirspyHFSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -2332,6 +2341,9 @@ margin-bottom: 20px; }; defs.AirspySettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -2578,6 +2590,9 @@ margin-bottom: 20px; }; defs.AudioCATSISOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "rxCenterFrequency" : { "type" : "integer", "format" : "int64" @@ -2759,6 +2774,9 @@ margin-bottom: 20px; }; defs.AudioInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "device" : { "type" : "string", "description" : "The name of the audio device" @@ -2874,6 +2892,9 @@ margin-bottom: 20px; }; defs.AudioOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "deviceName" : { "type" : "string", "description" : "The name of the audio device" @@ -3078,6 +3099,9 @@ margin-bottom: 20px; }; defs.BladeRF1InputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3140,6 +3164,9 @@ margin-bottom: 20px; }; defs.BladeRF1OutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3209,6 +3236,9 @@ margin-bottom: 20px; }; defs.BladeRF2InputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -3307,6 +3337,9 @@ margin-bottom: 20px; }; defs.BladeRF2MIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -3430,6 +3463,9 @@ margin-bottom: 20px; }; defs.BladeRF2OutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6209,6 +6245,9 @@ margin-bottom: 20px; }; defs.FCDProPlusSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6282,6 +6321,9 @@ margin-bottom: 20px; }; defs.FCDProSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -6902,6 +6944,9 @@ margin-bottom: 20px; }; defs.FileInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read" @@ -6932,6 +6977,9 @@ margin-bottom: 20px; }; defs.FileOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read" @@ -8037,6 +8085,9 @@ margin-bottom: 20px; }; defs.HackRFInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -8104,6 +8155,9 @@ margin-bottom: 20px; }; defs.HackRFOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -8918,6 +8972,9 @@ margin-bottom: 20px; }; defs.KiwiSDRSettings = { "properties" : { + "title" : { + "type" : "string" + }, "gain" : { "type" : "integer" }, @@ -9181,6 +9238,9 @@ margin-bottom: 20px; }; defs.LimeSdrInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -9355,6 +9415,9 @@ margin-bottom: 20px; }; defs.LimeSdrMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -9627,6 +9690,9 @@ margin-bottom: 20px; }; defs.LimeSdrOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -9712,6 +9778,9 @@ margin-bottom: 20px; }; defs.LocalInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "dcBlock" : { "type" : "integer" }, @@ -9748,6 +9817,9 @@ margin-bottom: 20px; }; defs.LocalOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -10776,6 +10848,9 @@ margin-bottom: 20px; }; defs.MetisMISOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "nbReceivers" : { "type" : "integer", "description" : "Number of activated receivers" @@ -12137,6 +12212,9 @@ margin-bottom: 20px; }; defs.PerseusSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -12213,6 +12291,9 @@ margin-bottom: 20px; }; defs.PlutoSdrInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -12333,6 +12414,9 @@ margin-bottom: 20px; }; defs.PlutoSdrMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -12501,6 +12585,9 @@ margin-bottom: 20px; }; defs.PlutoSdrOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -13519,6 +13606,9 @@ margin-bottom: 20px; }; defs.RemoteInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "apiAddress" : { "type" : "string" }, @@ -13602,6 +13692,9 @@ margin-bottom: 20px; }; defs.RemoteOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "nbFECBlocks" : { "type" : "integer" }, @@ -13839,6 +13932,9 @@ margin-bottom: 20px; }; defs.RemoteTCPInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -14088,6 +14184,9 @@ margin-bottom: 20px; }; defs.RtlSdrSettings = { "properties" : { + "title" : { + "type" : "string" + }, "devSampleRate" : { "type" : "integer" }, @@ -14190,6 +14289,9 @@ margin-bottom: 20px; }; defs.SDRPlaySettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -14280,6 +14382,9 @@ margin-bottom: 20px; }; defs.SDRPlayV3Settings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -15188,6 +15293,9 @@ margin-bottom: 20px; }; defs.SigMFFileInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "fileName" : { "type" : "string", "description" : "The name (path) of the file being read without extension" @@ -15737,6 +15845,9 @@ margin-bottom: 20px; }; defs.SoapySDRInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -15842,6 +15953,9 @@ margin-bottom: 20px; }; defs.SoapySDROutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -16551,6 +16665,9 @@ margin-bottom: 20px; }; defs.TestMISettings = { "properties" : { + "title" : { + "type" : "string" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -16576,6 +16693,9 @@ margin-bottom: 20px; }; defs.TestMOSyncSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -16658,6 +16778,9 @@ margin-bottom: 20px; }; defs.TestSourceSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -17164,6 +17287,9 @@ margin-bottom: 20px; }; defs.USRPInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -17251,6 +17377,9 @@ margin-bottom: 20px; }; defs.USRPOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -18019,6 +18148,9 @@ margin-bottom: 20px; }; defs.XtrxInputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -18145,6 +18277,9 @@ margin-bottom: 20px; }; defs.XtrxMIMOSettings = { "properties" : { + "title" : { + "type" : "string" + }, "extClock" : { "type" : "integer", "description" : "Boolean 1 if external clock source else 0" @@ -18346,6 +18481,9 @@ margin-bottom: 20px; }; defs.XtrxOutputSettings = { "properties" : { + "title" : { + "type" : "string" + }, "centerFrequency" : { "type" : "integer", "format" : "int64" @@ -59840,7 +59978,7 @@ except ApiException as e:
- Generated 2026-01-24T10:44:52.632+01:00 + Generated 2026-01-27T20:31:15.585+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.cpp index e775f3c02..869a49ae3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.cpp @@ -28,6 +28,8 @@ SWGAaroniaRTSAOutputSettings::SWGAaroniaRTSAOutputSettings(QString* json) { } SWGAaroniaRTSAOutputSettings::SWGAaroniaRTSAOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0; @@ -50,6 +52,8 @@ SWGAaroniaRTSAOutputSettings::~SWGAaroniaRTSAOutputSettings() { void SWGAaroniaRTSAOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0; @@ -68,6 +72,9 @@ SWGAaroniaRTSAOutputSettings::init() { void SWGAaroniaRTSAOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(server_address != nullptr) { @@ -92,6 +99,8 @@ SWGAaroniaRTSAOutputSettings::fromJson(QString &json) { void SWGAaroniaRTSAOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&sample_rate, pJson["sampleRate"], "qint32", ""); @@ -122,6 +131,9 @@ SWGAaroniaRTSAOutputSettings::asJson () QJsonObject* SWGAaroniaRTSAOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -147,6 +159,16 @@ SWGAaroniaRTSAOutputSettings::asJsonObject() { return obj; } +QString* +SWGAaroniaRTSAOutputSettings::getTitle() { + return title; +} +void +SWGAaroniaRTSAOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGAaroniaRTSAOutputSettings::getCenterFrequency() { return center_frequency; @@ -222,6 +244,9 @@ bool SWGAaroniaRTSAOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.h index 567c1fff3..fe8f3e538 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSAOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAaroniaRTSAOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -67,6 +70,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.cpp index e276b7d51..30581b766 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.cpp @@ -28,6 +28,8 @@ SWGAaroniaRTSASettings::SWGAaroniaRTSASettings(QString* json) { } SWGAaroniaRTSASettings::SWGAaroniaRTSASettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0; @@ -50,6 +52,8 @@ SWGAaroniaRTSASettings::~SWGAaroniaRTSASettings() { void SWGAaroniaRTSASettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0; @@ -68,6 +72,9 @@ SWGAaroniaRTSASettings::init() { void SWGAaroniaRTSASettings::cleanup() { + if(title != nullptr) { + delete title; + } if(server_address != nullptr) { @@ -92,6 +99,8 @@ SWGAaroniaRTSASettings::fromJson(QString &json) { void SWGAaroniaRTSASettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&sample_rate, pJson["sampleRate"], "qint32", ""); @@ -122,6 +131,9 @@ SWGAaroniaRTSASettings::asJson () QJsonObject* SWGAaroniaRTSASettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -147,6 +159,16 @@ SWGAaroniaRTSASettings::asJsonObject() { return obj; } +QString* +SWGAaroniaRTSASettings::getTitle() { + return title; +} +void +SWGAaroniaRTSASettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGAaroniaRTSASettings::getCenterFrequency() { return center_frequency; @@ -222,6 +244,9 @@ bool SWGAaroniaRTSASettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.h b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.h index 17544a716..47f569795 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAaroniaRTSASettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAaroniaRTSASettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -67,6 +70,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.cpp index 9a611e7e9..041d971d9 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.cpp @@ -28,6 +28,8 @@ SWGAirspyHFSettings::SWGAirspyHFSettings(QString* json) { } SWGAirspyHFSettings::SWGAirspyHFSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -74,6 +76,8 @@ SWGAirspyHFSettings::~SWGAirspyHFSettings() { void SWGAirspyHFSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -116,6 +120,9 @@ SWGAirspyHFSettings::init() { void SWGAirspyHFSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -150,6 +157,8 @@ SWGAirspyHFSettings::fromJson(QString &json) { void SWGAirspyHFSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -204,6 +213,9 @@ SWGAirspyHFSettings::asJson () QJsonObject* SWGAirspyHFSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -265,6 +277,16 @@ SWGAirspyHFSettings::asJsonObject() { return obj; } +QString* +SWGAirspyHFSettings::getTitle() { + return title; +} +void +SWGAirspyHFSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGAirspyHFSettings::getCenterFrequency() { return center_frequency; @@ -460,6 +482,9 @@ bool SWGAirspyHFSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.h b/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.h index 887a1fe81..aec737d27 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAirspyHFSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAirspyHFSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -103,6 +106,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAirspySettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAirspySettings.cpp index 5c0065382..3ffec96fc 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAirspySettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAirspySettings.cpp @@ -28,6 +28,8 @@ SWGAirspySettings::SWGAirspySettings(QString* json) { } SWGAirspySettings::SWGAirspySettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -76,6 +78,8 @@ SWGAirspySettings::~SWGAirspySettings() { void SWGAirspySettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -120,6 +124,9 @@ SWGAirspySettings::init() { void SWGAirspySettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -155,6 +162,8 @@ SWGAirspySettings::fromJson(QString &json) { void SWGAirspySettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -211,6 +220,9 @@ SWGAirspySettings::asJson () QJsonObject* SWGAirspySettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -275,6 +287,16 @@ SWGAirspySettings::asJsonObject() { return obj; } +QString* +SWGAirspySettings::getTitle() { + return title; +} +void +SWGAirspySettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGAirspySettings::getCenterFrequency() { return center_frequency; @@ -480,6 +502,9 @@ bool SWGAirspySettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAirspySettings.h b/swagger/sdrangel/code/qt5/client/SWGAirspySettings.h index 8d8f06014..762a2e055 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAirspySettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAirspySettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAirspySettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -106,6 +109,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp index 6098456c6..ab64c44cf 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp @@ -28,6 +28,8 @@ SWGAudioCATSISOSettings::SWGAudioCATSISOSettings(QString* json) { } SWGAudioCATSISOSettings::SWGAudioCATSISOSettings() { + title = nullptr; + m_title_isSet = false; rx_center_frequency = 0L; m_rx_center_frequency_isSet = false; rx_sample_rate = 0; @@ -98,6 +100,8 @@ SWGAudioCATSISOSettings::~SWGAudioCATSISOSettings() { void SWGAudioCATSISOSettings::init() { + title = new QString(""); + m_title_isSet = false; rx_center_frequency = 0L; m_rx_center_frequency_isSet = false; rx_sample_rate = 0; @@ -164,6 +168,9 @@ SWGAudioCATSISOSettings::init() { void SWGAudioCATSISOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -214,6 +221,8 @@ SWGAudioCATSISOSettings::fromJson(QString &json) { void SWGAudioCATSISOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&rx_center_frequency, pJson["rxCenterFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&rx_sample_rate, pJson["rxSampleRate"], "qint32", ""); @@ -292,6 +301,9 @@ SWGAudioCATSISOSettings::asJson () QJsonObject* SWGAudioCATSISOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_rx_center_frequency_isSet){ obj->insert("rxCenterFrequency", QJsonValue(rx_center_frequency)); } @@ -389,6 +401,16 @@ SWGAudioCATSISOSettings::asJsonObject() { return obj; } +QString* +SWGAudioCATSISOSettings::getTitle() { + return title; +} +void +SWGAudioCATSISOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGAudioCATSISOSettings::getRxCenterFrequency() { return rx_center_frequency; @@ -704,6 +726,9 @@ bool SWGAudioCATSISOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_rx_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h index e2ade57bd..2ae96f0a3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAudioCATSISOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getRxCenterFrequency(); void setRxCenterFrequency(qint64 rx_center_frequency); @@ -139,6 +142,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 rx_center_frequency; bool m_rx_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.cpp index d71aa5a82..b3be0a94b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.cpp @@ -28,6 +28,8 @@ SWGAudioInputSettings::SWGAudioInputSettings(QString* json) { } SWGAudioInputSettings::SWGAudioInputSettings() { + title = nullptr; + m_title_isSet = false; device = nullptr; m_device_isSet = false; dev_sample_rate = 0; @@ -60,6 +62,8 @@ SWGAudioInputSettings::~SWGAudioInputSettings() { void SWGAudioInputSettings::init() { + title = new QString(""); + m_title_isSet = false; device = new QString(""); m_device_isSet = false; dev_sample_rate = 0; @@ -88,6 +92,9 @@ SWGAudioInputSettings::init() { void SWGAudioInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(device != nullptr) { delete device; } @@ -117,6 +124,8 @@ SWGAudioInputSettings::fromJson(QString &json) { void SWGAudioInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&device, pJson["device"], "QString", "QString"); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -157,6 +166,9 @@ SWGAudioInputSettings::asJson () QJsonObject* SWGAudioInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(device != nullptr && *device != QString("")){ toJsonValue(QString("device"), device, obj, QString("QString")); } @@ -197,6 +209,16 @@ SWGAudioInputSettings::asJsonObject() { return obj; } +QString* +SWGAudioInputSettings::getTitle() { + return title; +} +void +SWGAudioInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGAudioInputSettings::getDevice() { return device; @@ -322,6 +344,9 @@ bool SWGAudioInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(device && *device != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.h index ea021a993..b99d862aa 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAudioInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getDevice(); void setDevice(QString* device); @@ -82,6 +85,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* device; bool m_device_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.cpp index 2094711ca..2d7b17e9a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.cpp @@ -28,6 +28,8 @@ SWGAudioOutputSettings::SWGAudioOutputSettings(QString* json) { } SWGAudioOutputSettings::SWGAudioOutputSettings() { + title = nullptr; + m_title_isSet = false; device_name = nullptr; m_device_name_isSet = false; volume = 0.0f; @@ -50,6 +52,8 @@ SWGAudioOutputSettings::~SWGAudioOutputSettings() { void SWGAudioOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; device_name = new QString(""); m_device_name_isSet = false; volume = 0.0f; @@ -68,6 +72,9 @@ SWGAudioOutputSettings::init() { void SWGAudioOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(device_name != nullptr) { delete device_name; } @@ -92,6 +99,8 @@ SWGAudioOutputSettings::fromJson(QString &json) { void SWGAudioOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&device_name, pJson["deviceName"], "QString", "QString"); ::SWGSDRangel::setValue(&volume, pJson["volume"], "float", ""); @@ -122,6 +131,9 @@ SWGAudioOutputSettings::asJson () QJsonObject* SWGAudioOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(device_name != nullptr && *device_name != QString("")){ toJsonValue(QString("deviceName"), device_name, obj, QString("QString")); } @@ -147,6 +159,16 @@ SWGAudioOutputSettings::asJsonObject() { return obj; } +QString* +SWGAudioOutputSettings::getTitle() { + return title; +} +void +SWGAudioOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGAudioOutputSettings::getDeviceName() { return device_name; @@ -222,6 +244,9 @@ bool SWGAudioOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(device_name && *device_name != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.h index 0467ea616..9f553fd07 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGAudioOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getDeviceName(); void setDeviceName(QString* device_name); @@ -67,6 +70,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* device_name; bool m_device_name_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.cpp index 7cca64dc5..1fdccfb3a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.cpp @@ -28,6 +28,8 @@ SWGBladeRF1InputSettings::SWGBladeRF1InputSettings(QString* json) { } SWGBladeRF1InputSettings::SWGBladeRF1InputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -72,6 +74,8 @@ SWGBladeRF1InputSettings::~SWGBladeRF1InputSettings() { void SWGBladeRF1InputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -112,6 +116,9 @@ SWGBladeRF1InputSettings::init() { void SWGBladeRF1InputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -145,6 +152,8 @@ SWGBladeRF1InputSettings::fromJson(QString &json) { void SWGBladeRF1InputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -197,6 +206,9 @@ SWGBladeRF1InputSettings::asJson () QJsonObject* SWGBladeRF1InputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -255,6 +267,16 @@ SWGBladeRF1InputSettings::asJsonObject() { return obj; } +QString* +SWGBladeRF1InputSettings::getTitle() { + return title; +} +void +SWGBladeRF1InputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGBladeRF1InputSettings::getCenterFrequency() { return center_frequency; @@ -440,6 +462,9 @@ bool SWGBladeRF1InputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.h b/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.h index 4b3881625..79bb23887 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF1InputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGBladeRF1InputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -100,6 +103,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.cpp index 0aa1d1478..3dac28d5d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.cpp @@ -28,6 +28,8 @@ SWGBladeRF1OutputSettings::SWGBladeRF1OutputSettings(QString* json) { } SWGBladeRF1OutputSettings::SWGBladeRF1OutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -62,6 +64,8 @@ SWGBladeRF1OutputSettings::~SWGBladeRF1OutputSettings() { void SWGBladeRF1OutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -92,6 +96,9 @@ SWGBladeRF1OutputSettings::init() { void SWGBladeRF1OutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -120,6 +127,8 @@ SWGBladeRF1OutputSettings::fromJson(QString &json) { void SWGBladeRF1OutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -162,6 +171,9 @@ SWGBladeRF1OutputSettings::asJson () QJsonObject* SWGBladeRF1OutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -205,6 +217,16 @@ SWGBladeRF1OutputSettings::asJsonObject() { return obj; } +QString* +SWGBladeRF1OutputSettings::getTitle() { + return title; +} +void +SWGBladeRF1OutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGBladeRF1OutputSettings::getCenterFrequency() { return center_frequency; @@ -340,6 +362,9 @@ bool SWGBladeRF1OutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.h index 90ced3225..b53cac4c8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF1OutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGBladeRF1OutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -85,6 +88,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp index a1fc50c13..02b488925 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp @@ -28,6 +28,8 @@ SWGBladeRF2InputSettings::SWGBladeRF2InputSettings(QString* json) { } SWGBladeRF2InputSettings::SWGBladeRF2InputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -72,6 +74,8 @@ SWGBladeRF2InputSettings::~SWGBladeRF2InputSettings() { void SWGBladeRF2InputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -112,6 +116,9 @@ SWGBladeRF2InputSettings::init() { void SWGBladeRF2InputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -145,6 +152,8 @@ SWGBladeRF2InputSettings::fromJson(QString &json) { void SWGBladeRF2InputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -197,6 +206,9 @@ SWGBladeRF2InputSettings::asJson () QJsonObject* SWGBladeRF2InputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -255,6 +267,16 @@ SWGBladeRF2InputSettings::asJsonObject() { return obj; } +QString* +SWGBladeRF2InputSettings::getTitle() { + return title; +} +void +SWGBladeRF2InputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGBladeRF2InputSettings::getCenterFrequency() { return center_frequency; @@ -440,6 +462,9 @@ bool SWGBladeRF2InputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h b/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h index c526843db..bb1fe585a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGBladeRF2InputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -100,6 +103,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.cpp index 3e46afd14..614238b78 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.cpp @@ -28,6 +28,8 @@ SWGBladeRF2MIMOSettings::SWGBladeRF2MIMOSettings(QString* json) { } SWGBladeRF2MIMOSettings::SWGBladeRF2MIMOSettings() { + title = nullptr; + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; l_oppm_tenths = 0; @@ -94,6 +96,8 @@ SWGBladeRF2MIMOSettings::~SWGBladeRF2MIMOSettings() { void SWGBladeRF2MIMOSettings::init() { + title = new QString(""); + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; l_oppm_tenths = 0; @@ -156,6 +160,9 @@ SWGBladeRF2MIMOSettings::init() { void SWGBladeRF2MIMOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -200,6 +207,8 @@ SWGBladeRF2MIMOSettings::fromJson(QString &json) { void SWGBladeRF2MIMOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -274,6 +283,9 @@ SWGBladeRF2MIMOSettings::asJson () QJsonObject* SWGBladeRF2MIMOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_dev_sample_rate_isSet){ obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); } @@ -365,6 +377,16 @@ SWGBladeRF2MIMOSettings::asJsonObject() { return obj; } +QString* +SWGBladeRF2MIMOSettings::getTitle() { + return title; +} +void +SWGBladeRF2MIMOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGBladeRF2MIMOSettings::getDevSampleRate() { return dev_sample_rate; @@ -660,6 +682,9 @@ bool SWGBladeRF2MIMOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.h b/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.h index 136e28214..3a4516010 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2MIMOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGBladeRF2MIMOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getDevSampleRate(); void setDevSampleRate(qint32 dev_sample_rate); @@ -133,6 +136,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 dev_sample_rate; bool m_dev_sample_rate_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.cpp index 065e09935..92c75863c 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.cpp @@ -28,6 +28,8 @@ SWGBladeRF2OutputSettings::SWGBladeRF2OutputSettings(QString* json) { } SWGBladeRF2OutputSettings::SWGBladeRF2OutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -62,6 +64,8 @@ SWGBladeRF2OutputSettings::~SWGBladeRF2OutputSettings() { void SWGBladeRF2OutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -92,6 +96,9 @@ SWGBladeRF2OutputSettings::init() { void SWGBladeRF2OutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -120,6 +127,8 @@ SWGBladeRF2OutputSettings::fromJson(QString &json) { void SWGBladeRF2OutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -162,6 +171,9 @@ SWGBladeRF2OutputSettings::asJson () QJsonObject* SWGBladeRF2OutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -205,6 +217,16 @@ SWGBladeRF2OutputSettings::asJsonObject() { return obj; } +QString* +SWGBladeRF2OutputSettings::getTitle() { + return title; +} +void +SWGBladeRF2OutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGBladeRF2OutputSettings::getCenterFrequency() { return center_frequency; @@ -340,6 +362,9 @@ bool SWGBladeRF2OutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.h index a7d1265ae..43d4b653e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGBladeRF2OutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGBladeRF2OutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -85,6 +88,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.cpp index 52ab5910d..debcd76c2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.cpp @@ -28,6 +28,8 @@ SWGFCDProPlusSettings::SWGFCDProPlusSettings(QString* json) { } SWGFCDProPlusSettings::SWGFCDProPlusSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; log2_decim = 0; @@ -76,6 +78,8 @@ SWGFCDProPlusSettings::~SWGFCDProPlusSettings() { void SWGFCDProPlusSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; log2_decim = 0; @@ -120,6 +124,9 @@ SWGFCDProPlusSettings::init() { void SWGFCDProPlusSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -155,6 +162,8 @@ SWGFCDProPlusSettings::fromJson(QString &json) { void SWGFCDProPlusSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&log2_decim, pJson["log2Decim"], "qint32", ""); @@ -211,6 +220,9 @@ SWGFCDProPlusSettings::asJson () QJsonObject* SWGFCDProPlusSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -275,6 +287,16 @@ SWGFCDProPlusSettings::asJsonObject() { return obj; } +QString* +SWGFCDProPlusSettings::getTitle() { + return title; +} +void +SWGFCDProPlusSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGFCDProPlusSettings::getCenterFrequency() { return center_frequency; @@ -480,6 +502,9 @@ bool SWGFCDProPlusSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.h b/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.h index 0b27f7eed..a698f43c6 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFCDProPlusSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGFCDProPlusSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -106,6 +109,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.cpp index c3e2f0fe4..8a730aee2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.cpp @@ -28,6 +28,8 @@ SWGFCDProSettings::SWGFCDProSettings(QString* json) { } SWGFCDProSettings::SWGFCDProSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -94,6 +96,8 @@ SWGFCDProSettings::~SWGFCDProSettings() { void SWGFCDProSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -156,6 +160,9 @@ SWGFCDProSettings::init() { void SWGFCDProSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -200,6 +207,8 @@ SWGFCDProSettings::fromJson(QString &json) { void SWGFCDProSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -274,6 +283,9 @@ SWGFCDProSettings::asJson () QJsonObject* SWGFCDProSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -365,6 +377,16 @@ SWGFCDProSettings::asJsonObject() { return obj; } +QString* +SWGFCDProSettings::getTitle() { + return title; +} +void +SWGFCDProSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGFCDProSettings::getCenterFrequency() { return center_frequency; @@ -660,6 +682,9 @@ bool SWGFCDProSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.h b/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.h index 337d19a16..e13af78c3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFCDProSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGFCDProSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -133,6 +136,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.cpp index 724b6096d..ca6c02b80 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.cpp @@ -28,6 +28,8 @@ SWGFileInputSettings::SWGFileInputSettings(QString* json) { } SWGFileInputSettings::SWGFileInputSettings() { + title = nullptr; + m_title_isSet = false; file_name = nullptr; m_file_name_isSet = false; acceleration_factor = 0; @@ -50,6 +52,8 @@ SWGFileInputSettings::~SWGFileInputSettings() { void SWGFileInputSettings::init() { + title = new QString(""); + m_title_isSet = false; file_name = new QString(""); m_file_name_isSet = false; acceleration_factor = 0; @@ -68,6 +72,9 @@ SWGFileInputSettings::init() { void SWGFileInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(file_name != nullptr) { delete file_name; } @@ -92,6 +99,8 @@ SWGFileInputSettings::fromJson(QString &json) { void SWGFileInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&file_name, pJson["fileName"], "QString", "QString"); ::SWGSDRangel::setValue(&acceleration_factor, pJson["accelerationFactor"], "qint32", ""); @@ -122,6 +131,9 @@ SWGFileInputSettings::asJson () QJsonObject* SWGFileInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(file_name != nullptr && *file_name != QString("")){ toJsonValue(QString("fileName"), file_name, obj, QString("QString")); } @@ -147,6 +159,16 @@ SWGFileInputSettings::asJsonObject() { return obj; } +QString* +SWGFileInputSettings::getTitle() { + return title; +} +void +SWGFileInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGFileInputSettings::getFileName() { return file_name; @@ -222,6 +244,9 @@ bool SWGFileInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(file_name && *file_name != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.h index 16df78363..48646746f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFileInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGFileInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getFileName(); void setFileName(QString* file_name); @@ -67,6 +70,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* file_name; bool m_file_name_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.cpp index acdb2076b..0371c18ca 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.cpp @@ -28,6 +28,8 @@ SWGFileOutputSettings::SWGFileOutputSettings(QString* json) { } SWGFileOutputSettings::SWGFileOutputSettings() { + title = nullptr; + m_title_isSet = false; file_name = nullptr; m_file_name_isSet = false; center_frequency = 0L; @@ -52,6 +54,8 @@ SWGFileOutputSettings::~SWGFileOutputSettings() { void SWGFileOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; file_name = new QString(""); m_file_name_isSet = false; center_frequency = 0L; @@ -72,6 +76,9 @@ SWGFileOutputSettings::init() { void SWGFileOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(file_name != nullptr) { delete file_name; } @@ -97,6 +104,8 @@ SWGFileOutputSettings::fromJson(QString &json) { void SWGFileOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&file_name, pJson["fileName"], "QString", "QString"); ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); @@ -129,6 +138,9 @@ SWGFileOutputSettings::asJson () QJsonObject* SWGFileOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(file_name != nullptr && *file_name != QString("")){ toJsonValue(QString("fileName"), file_name, obj, QString("QString")); } @@ -157,6 +169,16 @@ SWGFileOutputSettings::asJsonObject() { return obj; } +QString* +SWGFileOutputSettings::getTitle() { + return title; +} +void +SWGFileOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGFileOutputSettings::getFileName() { return file_name; @@ -242,6 +264,9 @@ bool SWGFileOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(file_name && *file_name != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.h index f6b74b118..9281d6aba 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFileOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGFileOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getFileName(); void setFileName(QString* file_name); @@ -70,6 +73,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* file_name; bool m_file_name_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp index 659ab8886..b3abda17d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.cpp @@ -28,6 +28,8 @@ SWGHackRFInputSettings::SWGHackRFInputSettings(QString* json) { } SWGHackRFInputSettings::SWGHackRFInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -74,6 +76,8 @@ SWGHackRFInputSettings::~SWGHackRFInputSettings() { void SWGHackRFInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -116,6 +120,9 @@ SWGHackRFInputSettings::init() { void SWGHackRFInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -150,6 +157,8 @@ SWGHackRFInputSettings::fromJson(QString &json) { void SWGHackRFInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -204,6 +213,9 @@ SWGHackRFInputSettings::asJson () QJsonObject* SWGHackRFInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -265,6 +277,16 @@ SWGHackRFInputSettings::asJsonObject() { return obj; } +QString* +SWGHackRFInputSettings::getTitle() { + return title; +} +void +SWGHackRFInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGHackRFInputSettings::getCenterFrequency() { return center_frequency; @@ -460,6 +482,9 @@ bool SWGHackRFInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h index 28ac16fc5..49a7f6a47 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGHackRFInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -103,6 +106,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp index 6f94c702b..8d900858f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.cpp @@ -28,6 +28,8 @@ SWGHackRFOutputSettings::SWGHackRFOutputSettings(QString* json) { } SWGHackRFOutputSettings::SWGHackRFOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -66,6 +68,8 @@ SWGHackRFOutputSettings::~SWGHackRFOutputSettings() { void SWGHackRFOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -100,6 +104,9 @@ SWGHackRFOutputSettings::init() { void SWGHackRFOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -130,6 +137,8 @@ SWGHackRFOutputSettings::fromJson(QString &json) { void SWGHackRFOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -176,6 +185,9 @@ SWGHackRFOutputSettings::asJson () QJsonObject* SWGHackRFOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -225,6 +237,16 @@ SWGHackRFOutputSettings::asJsonObject() { return obj; } +QString* +SWGHackRFOutputSettings::getTitle() { + return title; +} +void +SWGHackRFOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGHackRFOutputSettings::getCenterFrequency() { return center_frequency; @@ -380,6 +402,9 @@ bool SWGHackRFOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h index b4fed6a0d..3fb45cf9a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGHackRFOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGHackRFOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -91,6 +94,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.cpp index abd237326..d99722f4f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.cpp @@ -28,6 +28,8 @@ SWGKiwiSDRSettings::SWGKiwiSDRSettings(QString* json) { } SWGKiwiSDRSettings::SWGKiwiSDRSettings() { + title = nullptr; + m_title_isSet = false; gain = 0; m_gain_isSet = false; use_agc = 0; @@ -54,6 +56,8 @@ SWGKiwiSDRSettings::~SWGKiwiSDRSettings() { void SWGKiwiSDRSettings::init() { + title = new QString(""); + m_title_isSet = false; gain = 0; m_gain_isSet = false; use_agc = 0; @@ -76,6 +80,9 @@ SWGKiwiSDRSettings::init() { void SWGKiwiSDRSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -102,6 +109,8 @@ SWGKiwiSDRSettings::fromJson(QString &json) { void SWGKiwiSDRSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&gain, pJson["gain"], "qint32", ""); ::SWGSDRangel::setValue(&use_agc, pJson["useAGC"], "qint32", ""); @@ -136,6 +145,9 @@ SWGKiwiSDRSettings::asJson () QJsonObject* SWGKiwiSDRSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_gain_isSet){ obj->insert("gain", QJsonValue(gain)); } @@ -167,6 +179,16 @@ SWGKiwiSDRSettings::asJsonObject() { return obj; } +QString* +SWGKiwiSDRSettings::getTitle() { + return title; +} +void +SWGKiwiSDRSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGKiwiSDRSettings::getGain() { return gain; @@ -262,6 +284,9 @@ bool SWGKiwiSDRSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_gain_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.h b/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.h index a2b019155..27c79bed3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGKiwiSDRSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGKiwiSDRSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getGain(); void setGain(qint32 gain); @@ -73,6 +76,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 gain; bool m_gain_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp index 5fc9eed09..84bff0241 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.cpp @@ -28,6 +28,8 @@ SWGLimeSdrInputSettings::SWGLimeSdrInputSettings(QString* json) { } SWGLimeSdrInputSettings::SWGLimeSdrInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -94,6 +96,8 @@ SWGLimeSdrInputSettings::~SWGLimeSdrInputSettings() { void SWGLimeSdrInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -156,6 +160,9 @@ SWGLimeSdrInputSettings::init() { void SWGLimeSdrInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -200,6 +207,8 @@ SWGLimeSdrInputSettings::fromJson(QString &json) { void SWGLimeSdrInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -274,6 +283,9 @@ SWGLimeSdrInputSettings::asJson () QJsonObject* SWGLimeSdrInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -365,6 +377,16 @@ SWGLimeSdrInputSettings::asJsonObject() { return obj; } +QString* +SWGLimeSdrInputSettings::getTitle() { + return title; +} +void +SWGLimeSdrInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGLimeSdrInputSettings::getCenterFrequency() { return center_frequency; @@ -660,6 +682,9 @@ bool SWGLimeSdrInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h index 22fc8865c..1cdfba029 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGLimeSdrInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -133,6 +136,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.cpp index 4af0bd67d..a0e026e5e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.cpp @@ -28,6 +28,8 @@ SWGLimeSdrMIMOSettings::SWGLimeSdrMIMOSettings(QString* json) { } SWGLimeSdrMIMOSettings::SWGLimeSdrMIMOSettings() { + title = nullptr; + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; gpio_dir = 0; @@ -144,6 +146,8 @@ SWGLimeSdrMIMOSettings::~SWGLimeSdrMIMOSettings() { void SWGLimeSdrMIMOSettings::init() { + title = new QString(""); + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; gpio_dir = 0; @@ -256,6 +260,9 @@ SWGLimeSdrMIMOSettings::init() { void SWGLimeSdrMIMOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -325,6 +332,8 @@ SWGLimeSdrMIMOSettings::fromJson(QString &json) { void SWGLimeSdrMIMOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); ::SWGSDRangel::setValue(&gpio_dir, pJson["gpioDir"], "qint32", ""); @@ -449,6 +458,9 @@ SWGLimeSdrMIMOSettings::asJson () QJsonObject* SWGLimeSdrMIMOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_dev_sample_rate_isSet){ obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); } @@ -615,6 +627,16 @@ SWGLimeSdrMIMOSettings::asJsonObject() { return obj; } +QString* +SWGLimeSdrMIMOSettings::getTitle() { + return title; +} +void +SWGLimeSdrMIMOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGLimeSdrMIMOSettings::getDevSampleRate() { return dev_sample_rate; @@ -1160,6 +1182,9 @@ bool SWGLimeSdrMIMOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.h b/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.h index 4169e2ebe..97ad1006d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrMIMOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGLimeSdrMIMOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getDevSampleRate(); void setDevSampleRate(qint32 dev_sample_rate); @@ -208,6 +211,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 dev_sample_rate; bool m_dev_sample_rate_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp index 001cc5ceb..ab6ca6c3b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.cpp @@ -28,6 +28,8 @@ SWGLimeSdrOutputSettings::SWGLimeSdrOutputSettings(QString* json) { } SWGLimeSdrOutputSettings::SWGLimeSdrOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -78,6 +80,8 @@ SWGLimeSdrOutputSettings::~SWGLimeSdrOutputSettings() { void SWGLimeSdrOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -124,6 +128,9 @@ SWGLimeSdrOutputSettings::init() { void SWGLimeSdrOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -160,6 +167,8 @@ SWGLimeSdrOutputSettings::fromJson(QString &json) { void SWGLimeSdrOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -218,6 +227,9 @@ SWGLimeSdrOutputSettings::asJson () QJsonObject* SWGLimeSdrOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -285,6 +297,16 @@ SWGLimeSdrOutputSettings::asJsonObject() { return obj; } +QString* +SWGLimeSdrOutputSettings::getTitle() { + return title; +} +void +SWGLimeSdrOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGLimeSdrOutputSettings::getCenterFrequency() { return center_frequency; @@ -500,6 +522,9 @@ bool SWGLimeSdrOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h index 2abc837b2..6bb85cd89 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeSdrOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGLimeSdrOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -109,6 +112,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.cpp index 98e14d863..ac3668430 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.cpp @@ -28,6 +28,8 @@ SWGLocalInputSettings::SWGLocalInputSettings(QString* json) { } SWGLocalInputSettings::SWGLocalInputSettings() { + title = nullptr; + m_title_isSet = false; dc_block = 0; m_dc_block_isSet = false; iq_correction = 0; @@ -48,6 +50,8 @@ SWGLocalInputSettings::~SWGLocalInputSettings() { void SWGLocalInputSettings::init() { + title = new QString(""); + m_title_isSet = false; dc_block = 0; m_dc_block_isSet = false; iq_correction = 0; @@ -64,6 +68,9 @@ SWGLocalInputSettings::init() { void SWGLocalInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -85,6 +92,8 @@ SWGLocalInputSettings::fromJson(QString &json) { void SWGLocalInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&dc_block, pJson["dcBlock"], "qint32", ""); ::SWGSDRangel::setValue(&iq_correction, pJson["iqCorrection"], "qint32", ""); @@ -113,6 +122,9 @@ SWGLocalInputSettings::asJson () QJsonObject* SWGLocalInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_dc_block_isSet){ obj->insert("dcBlock", QJsonValue(dc_block)); } @@ -135,6 +147,16 @@ SWGLocalInputSettings::asJsonObject() { return obj; } +QString* +SWGLocalInputSettings::getTitle() { + return title; +} +void +SWGLocalInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGLocalInputSettings::getDcBlock() { return dc_block; @@ -200,6 +222,9 @@ bool SWGLocalInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_dc_block_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.h index 7fbbffd84..21afba80b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLocalInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGLocalInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getDcBlock(); void setDcBlock(qint32 dc_block); @@ -64,6 +67,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 dc_block; bool m_dc_block_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.cpp index ba84162b9..14a794ca5 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.cpp @@ -28,6 +28,8 @@ SWGLocalOutputSettings::SWGLocalOutputSettings(QString* json) { } SWGLocalOutputSettings::SWGLocalOutputSettings() { + title = nullptr; + m_title_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -44,6 +46,8 @@ SWGLocalOutputSettings::~SWGLocalOutputSettings() { void SWGLocalOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -56,6 +60,9 @@ SWGLocalOutputSettings::init() { void SWGLocalOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(reverse_api_address != nullptr) { delete reverse_api_address; @@ -75,6 +82,8 @@ SWGLocalOutputSettings::fromJson(QString &json) { void SWGLocalOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -99,6 +108,9 @@ SWGLocalOutputSettings::asJson () QJsonObject* SWGLocalOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -115,6 +127,16 @@ SWGLocalOutputSettings::asJsonObject() { return obj; } +QString* +SWGLocalOutputSettings::getTitle() { + return title; +} +void +SWGLocalOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGLocalOutputSettings::getUseReverseApi() { return use_reverse_api; @@ -160,6 +182,9 @@ bool SWGLocalOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.h index da4618068..84b1c7d79 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGLocalOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGLocalOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -58,6 +61,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp index cbd29b9e3..762a735ab 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp @@ -28,6 +28,8 @@ SWGMetisMISOSettings::SWGMetisMISOSettings(QString* json) { } SWGMetisMISOSettings::SWGMetisMISOSettings() { + title = nullptr; + m_title_isSet = false; nb_receivers = 0; m_nb_receivers_isSet = false; tx_enable = 0; @@ -120,6 +122,8 @@ SWGMetisMISOSettings::~SWGMetisMISOSettings() { void SWGMetisMISOSettings::init() { + title = new QString(""); + m_title_isSet = false; nb_receivers = 0; m_nb_receivers_isSet = false; tx_enable = 0; @@ -208,6 +212,9 @@ SWGMetisMISOSettings::init() { void SWGMetisMISOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -265,6 +272,8 @@ SWGMetisMISOSettings::fromJson(QString &json) { void SWGMetisMISOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&nb_receivers, pJson["nbReceivers"], "qint32", ""); ::SWGSDRangel::setValue(&tx_enable, pJson["txEnable"], "qint32", ""); @@ -365,6 +374,9 @@ SWGMetisMISOSettings::asJson () QJsonObject* SWGMetisMISOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_nb_receivers_isSet){ obj->insert("nbReceivers", QJsonValue(nb_receivers)); } @@ -495,6 +507,16 @@ SWGMetisMISOSettings::asJsonObject() { return obj; } +QString* +SWGMetisMISOSettings::getTitle() { + return title; +} +void +SWGMetisMISOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGMetisMISOSettings::getNbReceivers() { return nb_receivers; @@ -920,6 +942,9 @@ bool SWGMetisMISOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_nb_receivers_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h index 26718a3eb..bdacab83e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGMetisMISOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getNbReceivers(); void setNbReceivers(qint32 nb_receivers); @@ -172,6 +175,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 nb_receivers; bool m_nb_receivers_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.cpp index 40b741a18..053fa7bf9 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.cpp @@ -28,6 +28,8 @@ SWGPerseusSettings::SWGPerseusSettings(QString* json) { } SWGPerseusSettings::SWGPerseusSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -66,6 +68,8 @@ SWGPerseusSettings::~SWGPerseusSettings() { void SWGPerseusSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -100,6 +104,9 @@ SWGPerseusSettings::init() { void SWGPerseusSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -130,6 +137,8 @@ SWGPerseusSettings::fromJson(QString &json) { void SWGPerseusSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -176,6 +185,9 @@ SWGPerseusSettings::asJson () QJsonObject* SWGPerseusSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -225,6 +237,16 @@ SWGPerseusSettings::asJsonObject() { return obj; } +QString* +SWGPerseusSettings::getTitle() { + return title; +} +void +SWGPerseusSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGPerseusSettings::getCenterFrequency() { return center_frequency; @@ -380,6 +402,9 @@ bool SWGPerseusSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.h b/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.h index 7bbe74853..59322bf11 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGPerseusSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGPerseusSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -91,6 +94,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.cpp index 10ad8e93a..ee98ce595 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.cpp @@ -28,6 +28,8 @@ SWGPlutoSdrInputSettings::SWGPlutoSdrInputSettings(QString* json) { } SWGPlutoSdrInputSettings::SWGPlutoSdrInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -86,6 +88,8 @@ SWGPlutoSdrInputSettings::~SWGPlutoSdrInputSettings() { void SWGPlutoSdrInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -140,6 +144,9 @@ SWGPlutoSdrInputSettings::init() { void SWGPlutoSdrInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -180,6 +187,8 @@ SWGPlutoSdrInputSettings::fromJson(QString &json) { void SWGPlutoSdrInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -246,6 +255,9 @@ SWGPlutoSdrInputSettings::asJson () QJsonObject* SWGPlutoSdrInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -325,6 +337,16 @@ SWGPlutoSdrInputSettings::asJsonObject() { return obj; } +QString* +SWGPlutoSdrInputSettings::getTitle() { + return title; +} +void +SWGPlutoSdrInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGPlutoSdrInputSettings::getCenterFrequency() { return center_frequency; @@ -580,6 +602,9 @@ bool SWGPlutoSdrInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.h index 3d763a55e..43cc1b1e8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGPlutoSdrInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -121,6 +124,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.cpp index 2268b9a4b..a8b2a0e15 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.cpp @@ -28,6 +28,8 @@ SWGPlutoSdrMIMOSettings::SWGPlutoSdrMIMOSettings(QString* json) { } SWGPlutoSdrMIMOSettings::SWGPlutoSdrMIMOSettings() { + title = nullptr; + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; l_oppm_tenths = 0; @@ -120,6 +122,8 @@ SWGPlutoSdrMIMOSettings::~SWGPlutoSdrMIMOSettings() { void SWGPlutoSdrMIMOSettings::init() { + title = new QString(""); + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; l_oppm_tenths = 0; @@ -208,6 +212,9 @@ SWGPlutoSdrMIMOSettings::init() { void SWGPlutoSdrMIMOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -265,6 +272,8 @@ SWGPlutoSdrMIMOSettings::fromJson(QString &json) { void SWGPlutoSdrMIMOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -365,6 +374,9 @@ SWGPlutoSdrMIMOSettings::asJson () QJsonObject* SWGPlutoSdrMIMOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_dev_sample_rate_isSet){ obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); } @@ -495,6 +507,16 @@ SWGPlutoSdrMIMOSettings::asJsonObject() { return obj; } +QString* +SWGPlutoSdrMIMOSettings::getTitle() { + return title; +} +void +SWGPlutoSdrMIMOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGPlutoSdrMIMOSettings::getDevSampleRate() { return dev_sample_rate; @@ -920,6 +942,9 @@ bool SWGPlutoSdrMIMOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.h b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.h index b8b124bbe..836c3d0ad 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrMIMOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGPlutoSdrMIMOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getDevSampleRate(); void setDevSampleRate(qint32 dev_sample_rate); @@ -172,6 +175,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 dev_sample_rate; bool m_dev_sample_rate_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.cpp index e62a615e2..ebcb709f8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.cpp @@ -28,6 +28,8 @@ SWGPlutoSdrOutputSettings::SWGPlutoSdrOutputSettings(QString* json) { } SWGPlutoSdrOutputSettings::SWGPlutoSdrOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -70,6 +72,8 @@ SWGPlutoSdrOutputSettings::~SWGPlutoSdrOutputSettings() { void SWGPlutoSdrOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -108,6 +112,9 @@ SWGPlutoSdrOutputSettings::init() { void SWGPlutoSdrOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -140,6 +147,8 @@ SWGPlutoSdrOutputSettings::fromJson(QString &json) { void SWGPlutoSdrOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -190,6 +199,9 @@ SWGPlutoSdrOutputSettings::asJson () QJsonObject* SWGPlutoSdrOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -245,6 +257,16 @@ SWGPlutoSdrOutputSettings::asJsonObject() { return obj; } +QString* +SWGPlutoSdrOutputSettings::getTitle() { + return title; +} +void +SWGPlutoSdrOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGPlutoSdrOutputSettings::getCenterFrequency() { return center_frequency; @@ -420,6 +442,9 @@ bool SWGPlutoSdrOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.h index 698327392..79cff1020 100644 --- a/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGPlutoSdrOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGPlutoSdrOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -97,6 +100,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.cpp index 65dd4acd2..1c45e67e7 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.cpp @@ -28,6 +28,8 @@ SWGRemoteInputSettings::SWGRemoteInputSettings(QString* json) { } SWGRemoteInputSettings::SWGRemoteInputSettings() { + title = nullptr; + m_title_isSet = false; api_address = nullptr; m_api_address_isSet = false; api_port = 0; @@ -60,6 +62,8 @@ SWGRemoteInputSettings::~SWGRemoteInputSettings() { void SWGRemoteInputSettings::init() { + title = new QString(""); + m_title_isSet = false; api_address = new QString(""); m_api_address_isSet = false; api_port = 0; @@ -88,6 +92,9 @@ SWGRemoteInputSettings::init() { void SWGRemoteInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(api_address != nullptr) { delete api_address; } @@ -121,6 +128,8 @@ SWGRemoteInputSettings::fromJson(QString &json) { void SWGRemoteInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&api_address, pJson["apiAddress"], "QString", "QString"); ::SWGSDRangel::setValue(&api_port, pJson["apiPort"], "qint32", ""); @@ -161,6 +170,9 @@ SWGRemoteInputSettings::asJson () QJsonObject* SWGRemoteInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(api_address != nullptr && *api_address != QString("")){ toJsonValue(QString("apiAddress"), api_address, obj, QString("QString")); } @@ -201,6 +213,16 @@ SWGRemoteInputSettings::asJsonObject() { return obj; } +QString* +SWGRemoteInputSettings::getTitle() { + return title; +} +void +SWGRemoteInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGRemoteInputSettings::getApiAddress() { return api_address; @@ -326,6 +348,9 @@ bool SWGRemoteInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(api_address && *api_address != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.h index d5bced8e1..7312a8241 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGRemoteInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getApiAddress(); void setApiAddress(QString* api_address); @@ -82,6 +85,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* api_address; bool m_api_address_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.cpp index 4dc50b4cc..97e945d5c 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.cpp @@ -28,6 +28,8 @@ SWGRemoteOutputSettings::SWGRemoteOutputSettings(QString* json) { } SWGRemoteOutputSettings::SWGRemoteOutputSettings() { + title = nullptr; + m_title_isSet = false; nb_fec_blocks = 0; m_nb_fec_blocks_isSet = false; nb_tx_bytes = 0; @@ -60,6 +62,8 @@ SWGRemoteOutputSettings::~SWGRemoteOutputSettings() { void SWGRemoteOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; nb_fec_blocks = 0; m_nb_fec_blocks_isSet = false; nb_tx_bytes = 0; @@ -88,6 +92,9 @@ SWGRemoteOutputSettings::init() { void SWGRemoteOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(api_address != nullptr) { @@ -119,6 +126,8 @@ SWGRemoteOutputSettings::fromJson(QString &json) { void SWGRemoteOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&nb_fec_blocks, pJson["nbFECBlocks"], "qint32", ""); ::SWGSDRangel::setValue(&nb_tx_bytes, pJson["nbTxBytes"], "qint32", ""); @@ -159,6 +168,9 @@ SWGRemoteOutputSettings::asJson () QJsonObject* SWGRemoteOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_nb_fec_blocks_isSet){ obj->insert("nbFECBlocks", QJsonValue(nb_fec_blocks)); } @@ -199,6 +211,16 @@ SWGRemoteOutputSettings::asJsonObject() { return obj; } +QString* +SWGRemoteOutputSettings::getTitle() { + return title; +} +void +SWGRemoteOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGRemoteOutputSettings::getNbFecBlocks() { return nb_fec_blocks; @@ -324,6 +346,9 @@ bool SWGRemoteOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_nb_fec_blocks_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.h index a98034a7c..9a0026489 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGRemoteOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getNbFecBlocks(); void setNbFecBlocks(qint32 nb_fec_blocks); @@ -82,6 +85,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 nb_fec_blocks; bool m_nb_fec_blocks_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.cpp index 1f86e8091..970c98f97 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.cpp @@ -28,6 +28,8 @@ SWGRemoteTCPInputSettings::SWGRemoteTCPInputSettings(QString* json) { } SWGRemoteTCPInputSettings::SWGRemoteTCPInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; lo_ppm_correction = 0; @@ -86,6 +88,8 @@ SWGRemoteTCPInputSettings::~SWGRemoteTCPInputSettings() { void SWGRemoteTCPInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; lo_ppm_correction = 0; @@ -140,6 +144,9 @@ SWGRemoteTCPInputSettings::init() { void SWGRemoteTCPInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -184,6 +191,8 @@ SWGRemoteTCPInputSettings::fromJson(QString &json) { void SWGRemoteTCPInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&lo_ppm_correction, pJson["loPpmCorrection"], "qint32", ""); @@ -250,6 +259,9 @@ SWGRemoteTCPInputSettings::asJson () QJsonObject* SWGRemoteTCPInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -329,6 +341,16 @@ SWGRemoteTCPInputSettings::asJsonObject() { return obj; } +QString* +SWGRemoteTCPInputSettings::getTitle() { + return title; +} +void +SWGRemoteTCPInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGRemoteTCPInputSettings::getCenterFrequency() { return center_frequency; @@ -584,6 +606,9 @@ bool SWGRemoteTCPInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.h index 5189b7c32..a3ce249a2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGRemoteTCPInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGRemoteTCPInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -121,6 +124,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp index 5ec6ed316..9185346fd 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.cpp @@ -28,6 +28,8 @@ SWGRtlSdrSettings::SWGRtlSdrSettings(QString* json) { } SWGRtlSdrSettings::SWGRtlSdrSettings() { + title = nullptr; + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; low_sample_rate = 0; @@ -78,6 +80,8 @@ SWGRtlSdrSettings::~SWGRtlSdrSettings() { void SWGRtlSdrSettings::init() { + title = new QString(""); + m_title_isSet = false; dev_sample_rate = 0; m_dev_sample_rate_isSet = false; low_sample_rate = 0; @@ -124,6 +128,9 @@ SWGRtlSdrSettings::init() { void SWGRtlSdrSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -160,6 +167,8 @@ SWGRtlSdrSettings::fromJson(QString &json) { void SWGRtlSdrSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); ::SWGSDRangel::setValue(&low_sample_rate, pJson["lowSampleRate"], "qint32", ""); @@ -218,6 +227,9 @@ SWGRtlSdrSettings::asJson () QJsonObject* SWGRtlSdrSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_dev_sample_rate_isSet){ obj->insert("devSampleRate", QJsonValue(dev_sample_rate)); } @@ -285,6 +297,16 @@ SWGRtlSdrSettings::asJsonObject() { return obj; } +QString* +SWGRtlSdrSettings::getTitle() { + return title; +} +void +SWGRtlSdrSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGRtlSdrSettings::getDevSampleRate() { return dev_sample_rate; @@ -500,6 +522,9 @@ bool SWGRtlSdrSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h index 74a75cdc8..1b660befe 100644 --- a/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGRtlSdrSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGRtlSdrSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getDevSampleRate(); void setDevSampleRate(qint32 dev_sample_rate); @@ -109,6 +112,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 dev_sample_rate; bool m_dev_sample_rate_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.cpp index ee1384f19..500ae18f0 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.cpp @@ -28,6 +28,8 @@ SWGSDRPlaySettings::SWGSDRPlaySettings(QString* json) { } SWGSDRPlaySettings::SWGSDRPlaySettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; tuner_gain = 0; @@ -76,6 +78,8 @@ SWGSDRPlaySettings::~SWGSDRPlaySettings() { void SWGSDRPlaySettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; tuner_gain = 0; @@ -120,6 +124,9 @@ SWGSDRPlaySettings::init() { void SWGSDRPlaySettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -155,6 +162,8 @@ SWGSDRPlaySettings::fromJson(QString &json) { void SWGSDRPlaySettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&tuner_gain, pJson["tunerGain"], "qint32", ""); @@ -211,6 +220,9 @@ SWGSDRPlaySettings::asJson () QJsonObject* SWGSDRPlaySettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -275,6 +287,16 @@ SWGSDRPlaySettings::asJsonObject() { return obj; } +QString* +SWGSDRPlaySettings::getTitle() { + return title; +} +void +SWGSDRPlaySettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGSDRPlaySettings::getCenterFrequency() { return center_frequency; @@ -480,6 +502,9 @@ bool SWGSDRPlaySettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.h b/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.h index bc55b6e0a..b8ad9d1b6 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlaySettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGSDRPlaySettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -106,6 +109,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp index 31395db05..3784847d4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp @@ -28,6 +28,8 @@ SWGSDRPlayV3Settings::SWGSDRPlayV3Settings(QString* json) { } SWGSDRPlayV3Settings::SWGSDRPlayV3Settings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -90,6 +92,8 @@ SWGSDRPlayV3Settings::~SWGSDRPlayV3Settings() { void SWGSDRPlayV3Settings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -148,6 +152,9 @@ SWGSDRPlayV3Settings::init() { void SWGSDRPlayV3Settings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -190,6 +197,8 @@ SWGSDRPlayV3Settings::fromJson(QString &json) { void SWGSDRPlayV3Settings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -260,6 +269,9 @@ SWGSDRPlayV3Settings::asJson () QJsonObject* SWGSDRPlayV3Settings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -345,6 +357,16 @@ SWGSDRPlayV3Settings::asJsonObject() { return obj; } +QString* +SWGSDRPlayV3Settings::getTitle() { + return title; +} +void +SWGSDRPlayV3Settings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGSDRPlayV3Settings::getCenterFrequency() { return center_frequency; @@ -620,6 +642,9 @@ bool SWGSDRPlayV3Settings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h index 07c9b7cf0..2fb787720 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGSDRPlayV3Settings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -127,6 +130,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.cpp index 0e9fc1064..373c8d6fc 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.cpp @@ -28,6 +28,8 @@ SWGSigMFFileInputSettings::SWGSigMFFileInputSettings(QString* json) { } SWGSigMFFileInputSettings::SWGSigMFFileInputSettings() { + title = nullptr; + m_title_isSet = false; file_name = nullptr; m_file_name_isSet = false; acceleration_factor = 0; @@ -52,6 +54,8 @@ SWGSigMFFileInputSettings::~SWGSigMFFileInputSettings() { void SWGSigMFFileInputSettings::init() { + title = new QString(""); + m_title_isSet = false; file_name = new QString(""); m_file_name_isSet = false; acceleration_factor = 0; @@ -72,6 +76,9 @@ SWGSigMFFileInputSettings::init() { void SWGSigMFFileInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } if(file_name != nullptr) { delete file_name; } @@ -97,6 +104,8 @@ SWGSigMFFileInputSettings::fromJson(QString &json) { void SWGSigMFFileInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&file_name, pJson["fileName"], "QString", "QString"); ::SWGSDRangel::setValue(&acceleration_factor, pJson["accelerationFactor"], "qint32", ""); @@ -129,6 +138,9 @@ SWGSigMFFileInputSettings::asJson () QJsonObject* SWGSigMFFileInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(file_name != nullptr && *file_name != QString("")){ toJsonValue(QString("fileName"), file_name, obj, QString("QString")); } @@ -157,6 +169,16 @@ SWGSigMFFileInputSettings::asJsonObject() { return obj; } +QString* +SWGSigMFFileInputSettings::getTitle() { + return title; +} +void +SWGSigMFFileInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + QString* SWGSigMFFileInputSettings::getFileName() { return file_name; @@ -242,6 +264,9 @@ bool SWGSigMFFileInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(file_name && *file_name != QString("")){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.h index 9e1ce4fa2..6c18e0a5a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSigMFFileInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGSigMFFileInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + QString* getFileName(); void setFileName(QString* file_name); @@ -70,6 +73,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + QString* file_name; bool m_file_name_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.cpp index 0e7d4309b..5966100c8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.cpp @@ -28,6 +28,8 @@ SWGSoapySDRInputSettings::SWGSoapySDRInputSettings(QString* json) { } SWGSoapySDRInputSettings::SWGSoapySDRInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -88,6 +90,8 @@ SWGSoapySDRInputSettings::~SWGSoapySDRInputSettings() { void SWGSoapySDRInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -144,6 +148,9 @@ SWGSoapySDRInputSettings::init() { void SWGSoapySDRInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -215,6 +222,8 @@ SWGSoapySDRInputSettings::fromJson(QString &json) { void SWGSoapySDRInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -283,6 +292,9 @@ SWGSoapySDRInputSettings::asJson () QJsonObject* SWGSoapySDRInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -365,6 +377,16 @@ SWGSoapySDRInputSettings::asJsonObject() { return obj; } +QString* +SWGSoapySDRInputSettings::getTitle() { + return title; +} +void +SWGSoapySDRInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGSoapySDRInputSettings::getCenterFrequency() { return center_frequency; @@ -630,6 +652,9 @@ bool SWGSoapySDRInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.h index 5768d1c6b..d4c24090b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSoapySDRInputSettings.h @@ -45,6 +45,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGSoapySDRInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -127,6 +130,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.cpp index cb9b47aad..a62c900b4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.cpp @@ -28,6 +28,8 @@ SWGSoapySDROutputSettings::SWGSoapySDROutputSettings(QString* json) { } SWGSoapySDROutputSettings::SWGSoapySDROutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -80,6 +82,8 @@ SWGSoapySDROutputSettings::~SWGSoapySDROutputSettings() { void SWGSoapySDROutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; l_oppm_tenths = 0; @@ -128,6 +132,9 @@ SWGSoapySDROutputSettings::init() { void SWGSoapySDROutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -195,6 +202,8 @@ SWGSoapySDROutputSettings::fromJson(QString &json) { void SWGSoapySDROutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&l_oppm_tenths, pJson["LOppmTenths"], "qint32", ""); @@ -255,6 +264,9 @@ SWGSoapySDROutputSettings::asJson () QJsonObject* SWGSoapySDROutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -325,6 +337,16 @@ SWGSoapySDROutputSettings::asJsonObject() { return obj; } +QString* +SWGSoapySDROutputSettings::getTitle() { + return title; +} +void +SWGSoapySDROutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGSoapySDROutputSettings::getCenterFrequency() { return center_frequency; @@ -550,6 +572,9 @@ bool SWGSoapySDROutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.h index e4f857e64..89f1f0d3a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSoapySDROutputSettings.h @@ -45,6 +45,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGSoapySDROutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -115,6 +118,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGTestMISettings.cpp b/swagger/sdrangel/code/qt5/client/SWGTestMISettings.cpp index d15bd277f..debc1d146 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestMISettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGTestMISettings.cpp @@ -28,6 +28,8 @@ SWGTestMISettings::SWGTestMISettings(QString* json) { } SWGTestMISettings::SWGTestMISettings() { + title = nullptr; + m_title_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -46,6 +48,8 @@ SWGTestMISettings::~SWGTestMISettings() { void SWGTestMISettings::init() { + title = new QString(""); + m_title_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -60,6 +64,9 @@ SWGTestMISettings::init() { void SWGTestMISettings::cleanup() { + if(title != nullptr) { + delete title; + } if(reverse_api_address != nullptr) { delete reverse_api_address; @@ -86,6 +93,8 @@ SWGTestMISettings::fromJson(QString &json) { void SWGTestMISettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -112,6 +121,9 @@ SWGTestMISettings::asJson () QJsonObject* SWGTestMISettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -131,6 +143,16 @@ SWGTestMISettings::asJsonObject() { return obj; } +QString* +SWGTestMISettings::getTitle() { + return title; +} +void +SWGTestMISettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGTestMISettings::getUseReverseApi() { return use_reverse_api; @@ -186,6 +208,9 @@ bool SWGTestMISettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGTestMISettings.h b/swagger/sdrangel/code/qt5/client/SWGTestMISettings.h index 27ce631ef..aae9751b1 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestMISettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGTestMISettings.h @@ -44,6 +44,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGTestMISettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -63,6 +66,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.cpp index 95b561b63..7a614937e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.cpp @@ -28,6 +28,8 @@ SWGTestMOSyncSettings::SWGTestMOSyncSettings(QString* json) { } SWGTestMOSyncSettings::SWGTestMOSyncSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0L; @@ -44,6 +46,8 @@ SWGTestMOSyncSettings::~SWGTestMOSyncSettings() { void SWGTestMOSyncSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; sample_rate = 0L; @@ -56,6 +60,9 @@ SWGTestMOSyncSettings::init() { void SWGTestMOSyncSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -73,6 +80,8 @@ SWGTestMOSyncSettings::fromJson(QString &json) { void SWGTestMOSyncSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&sample_rate, pJson["sampleRate"], "qint64", ""); @@ -97,6 +106,9 @@ SWGTestMOSyncSettings::asJson () QJsonObject* SWGTestMOSyncSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -113,6 +125,16 @@ SWGTestMOSyncSettings::asJsonObject() { return obj; } +QString* +SWGTestMOSyncSettings::getTitle() { + return title; +} +void +SWGTestMOSyncSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGTestMOSyncSettings::getCenterFrequency() { return center_frequency; @@ -158,6 +180,9 @@ bool SWGTestMOSyncSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.h b/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.h index ecc5f52cf..d22ba2f5d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGTestMOSyncSettings.h @@ -22,6 +22,7 @@ #include +#include #include "SWGObject.h" #include "export.h" @@ -41,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGTestMOSyncSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -57,6 +61,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.cpp index d58d7d473..cbe9abfa2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.cpp @@ -28,6 +28,8 @@ SWGTestSourceSettings::SWGTestSourceSettings(QString* json) { } SWGTestSourceSettings::SWGTestSourceSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; frequency_shift = 0; @@ -76,6 +78,8 @@ SWGTestSourceSettings::~SWGTestSourceSettings() { void SWGTestSourceSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; frequency_shift = 0; @@ -120,6 +124,9 @@ SWGTestSourceSettings::init() { void SWGTestSourceSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -155,6 +162,8 @@ SWGTestSourceSettings::fromJson(QString &json) { void SWGTestSourceSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&frequency_shift, pJson["frequencyShift"], "qint32", ""); @@ -211,6 +220,9 @@ SWGTestSourceSettings::asJson () QJsonObject* SWGTestSourceSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -275,6 +287,16 @@ SWGTestSourceSettings::asJsonObject() { return obj; } +QString* +SWGTestSourceSettings::getTitle() { + return title; +} +void +SWGTestSourceSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGTestSourceSettings::getCenterFrequency() { return center_frequency; @@ -480,6 +502,9 @@ bool SWGTestSourceSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.h b/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.h index 1e519740a..fe3f95dde 100644 --- a/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGTestSourceSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGTestSourceSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -106,6 +109,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.cpp index 9ed57c636..0f2c458d4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.cpp @@ -28,6 +28,8 @@ SWGUSRPInputSettings::SWGUSRPInputSettings(QString* json) { } SWGUSRPInputSettings::SWGUSRPInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -74,6 +76,8 @@ SWGUSRPInputSettings::~SWGUSRPInputSettings() { void SWGUSRPInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -116,6 +120,9 @@ SWGUSRPInputSettings::init() { void SWGUSRPInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -154,6 +161,8 @@ SWGUSRPInputSettings::fromJson(QString &json) { void SWGUSRPInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -208,6 +217,9 @@ SWGUSRPInputSettings::asJson () QJsonObject* SWGUSRPInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -269,6 +281,16 @@ SWGUSRPInputSettings::asJsonObject() { return obj; } +QString* +SWGUSRPInputSettings::getTitle() { + return title; +} +void +SWGUSRPInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGUSRPInputSettings::getCenterFrequency() { return center_frequency; @@ -464,6 +486,9 @@ bool SWGUSRPInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.h index 3ddfc02ea..1459f3476 100644 --- a/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGUSRPInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGUSRPInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -103,6 +106,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.cpp index dcbde1bb5..90973af9a 100644 --- a/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.cpp @@ -28,6 +28,8 @@ SWGUSRPOutputSettings::SWGUSRPOutputSettings(QString* json) { } SWGUSRPOutputSettings::SWGUSRPOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -68,6 +70,8 @@ SWGUSRPOutputSettings::~SWGUSRPOutputSettings() { void SWGUSRPOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -104,6 +108,9 @@ SWGUSRPOutputSettings::init() { void SWGUSRPOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -139,6 +146,8 @@ SWGUSRPOutputSettings::fromJson(QString &json) { void SWGUSRPOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -187,6 +196,9 @@ SWGUSRPOutputSettings::asJson () QJsonObject* SWGUSRPOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -239,6 +251,16 @@ SWGUSRPOutputSettings::asJsonObject() { return obj; } +QString* +SWGUSRPOutputSettings::getTitle() { + return title; +} +void +SWGUSRPOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGUSRPOutputSettings::getCenterFrequency() { return center_frequency; @@ -404,6 +426,9 @@ bool SWGUSRPOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.h index 13157d962..ba4e15d00 100644 --- a/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGUSRPOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGUSRPOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -94,6 +97,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.cpp index 500919884..116351033 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.cpp @@ -28,6 +28,8 @@ SWGXtrxInputSettings::SWGXtrxInputSettings(QString* json) { } SWGXtrxInputSettings::SWGXtrxInputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -82,6 +84,8 @@ SWGXtrxInputSettings::~SWGXtrxInputSettings() { void SWGXtrxInputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -132,6 +136,9 @@ SWGXtrxInputSettings::init() { void SWGXtrxInputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -170,6 +177,8 @@ SWGXtrxInputSettings::fromJson(QString &json) { void SWGXtrxInputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -232,6 +241,9 @@ SWGXtrxInputSettings::asJson () QJsonObject* SWGXtrxInputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -305,6 +317,16 @@ SWGXtrxInputSettings::asJsonObject() { return obj; } +QString* +SWGXtrxInputSettings::getTitle() { + return title; +} +void +SWGXtrxInputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGXtrxInputSettings::getCenterFrequency() { return center_frequency; @@ -540,6 +562,9 @@ bool SWGXtrxInputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.h b/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.h index 3da5fede5..f69a9579b 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxInputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGXtrxInputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -115,6 +118,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.cpp index ce9d57b88..86f48ff25 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.cpp @@ -28,6 +28,8 @@ SWGXtrxMIMOSettings::SWGXtrxMIMOSettings(QString* json) { } SWGXtrxMIMOSettings::SWGXtrxMIMOSettings() { + title = nullptr; + m_title_isSet = false; ext_clock = 0; m_ext_clock_isSet = false; ext_clock_freq = 0; @@ -126,6 +128,8 @@ SWGXtrxMIMOSettings::~SWGXtrxMIMOSettings() { void SWGXtrxMIMOSettings::init() { + title = new QString(""); + m_title_isSet = false; ext_clock = 0; m_ext_clock_isSet = false; ext_clock_freq = 0; @@ -220,6 +224,9 @@ SWGXtrxMIMOSettings::init() { void SWGXtrxMIMOSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -280,6 +287,8 @@ SWGXtrxMIMOSettings::fromJson(QString &json) { void SWGXtrxMIMOSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&ext_clock, pJson["extClock"], "qint32", ""); ::SWGSDRangel::setValue(&ext_clock_freq, pJson["extClockFreq"], "qint32", ""); @@ -386,6 +395,9 @@ SWGXtrxMIMOSettings::asJson () QJsonObject* SWGXtrxMIMOSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_ext_clock_isSet){ obj->insert("extClock", QJsonValue(ext_clock)); } @@ -525,6 +537,16 @@ SWGXtrxMIMOSettings::asJsonObject() { return obj; } +QString* +SWGXtrxMIMOSettings::getTitle() { + return title; +} +void +SWGXtrxMIMOSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint32 SWGXtrxMIMOSettings::getExtClock() { return ext_clock; @@ -980,6 +1002,9 @@ bool SWGXtrxMIMOSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_ext_clock_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.h b/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.h index 6729b1b32..49804b363 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxMIMOSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGXtrxMIMOSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint32 getExtClock(); void setExtClock(qint32 ext_clock); @@ -181,6 +184,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint32 ext_clock; bool m_ext_clock_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.cpp index b8d57e191..96886eab6 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.cpp @@ -28,6 +28,8 @@ SWGXtrxOutputSettings::SWGXtrxOutputSettings(QString* json) { } SWGXtrxOutputSettings::SWGXtrxOutputSettings() { + title = nullptr; + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -68,6 +70,8 @@ SWGXtrxOutputSettings::~SWGXtrxOutputSettings() { void SWGXtrxOutputSettings::init() { + title = new QString(""); + m_title_isSet = false; center_frequency = 0L; m_center_frequency_isSet = false; dev_sample_rate = 0; @@ -104,6 +108,9 @@ SWGXtrxOutputSettings::init() { void SWGXtrxOutputSettings::cleanup() { + if(title != nullptr) { + delete title; + } @@ -135,6 +142,8 @@ SWGXtrxOutputSettings::fromJson(QString &json) { void SWGXtrxOutputSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", ""); ::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", ""); @@ -183,6 +192,9 @@ SWGXtrxOutputSettings::asJson () QJsonObject* SWGXtrxOutputSettings::asJsonObject() { QJsonObject* obj = new QJsonObject(); + if(title != nullptr && *title != QString("")){ + toJsonValue(QString("title"), title, obj, QString("QString")); + } if(m_center_frequency_isSet){ obj->insert("centerFrequency", QJsonValue(center_frequency)); } @@ -235,6 +247,16 @@ SWGXtrxOutputSettings::asJsonObject() { return obj; } +QString* +SWGXtrxOutputSettings::getTitle() { + return title; +} +void +SWGXtrxOutputSettings::setTitle(QString* title) { + this->title = title; + this->m_title_isSet = true; +} + qint64 SWGXtrxOutputSettings::getCenterFrequency() { return center_frequency; @@ -400,6 +422,9 @@ bool SWGXtrxOutputSettings::isSet(){ bool isObjectUpdated = false; do{ + if(title && *title != QString("")){ + isObjectUpdated = true; break; + } if(m_center_frequency_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.h b/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.h index eebfe9cf5..77b10c6fe 100644 --- a/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGXtrxOutputSettings.h @@ -42,6 +42,9 @@ public: virtual void fromJsonObject(QJsonObject &json) override; virtual SWGXtrxOutputSettings* fromJson(QString &jsonString) override; + QString* getTitle(); + void setTitle(QString* title); + qint64 getCenterFrequency(); void setCenterFrequency(qint64 center_frequency); @@ -94,6 +97,9 @@ public: virtual bool isSet() override; private: + QString* title; + bool m_title_isSet; + qint64 center_frequency; bool m_center_frequency_isSet;