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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user