1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-04 23:14:47 -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
@@ -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();
@@ -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<QString>& 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);
}
@@ -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;
}
@@ -47,6 +47,7 @@ struct TestSourceSettings {
ModulationLast
} Modulation;
QString m_title;
quint64 m_centerFrequency;
qint32 m_frequencyShift;
quint32 m_sampleRate;