1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-07 16:34:45 -04:00

Make device title editable in the basic device settings. Fixes #2292

This commit is contained in:
f4exb
2026-01-28 02:48:42 +01:00
parent 5d6840b55a
commit 63348eeee1
354 changed files with 3956 additions and 479 deletions
@@ -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<QString>& 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);
}
@@ -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();
@@ -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());
}
@@ -32,6 +32,7 @@ struct BladeRF1InputSettings {
FC_POS_CENTER
} fcPos_t;
QString m_title;
quint64 m_centerFrequency;
qint32 m_devSampleRate;
qint32 m_lnaGain;