mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 01:18:38 -05:00
GUI flavor: save and restore the device item index for the initial set up (R0). Fixes #1066
This commit is contained in:
parent
80992c01e0
commit
fcdeffa59c
@ -465,11 +465,14 @@ int DeviceEnumerator::getTestMIMODeviceIndex() const
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DeviceEnumerator::getRxSamplingDeviceIndex(const QString& deviceId, int sequence)
|
int DeviceEnumerator::getRxSamplingDeviceIndex(const QString& deviceId, int sequence, int deviceItemIndex)
|
||||||
{
|
{
|
||||||
for (DevicesEnumeration::iterator it = m_rxEnumeration.begin(); it != m_rxEnumeration.end(); ++it)
|
for (DevicesEnumeration::iterator it = m_rxEnumeration.begin(); it != m_rxEnumeration.end(); ++it)
|
||||||
{
|
{
|
||||||
if ((it->m_samplingDevice.id == deviceId) && (it->m_samplingDevice.sequence == sequence)) {
|
if ((it->m_samplingDevice.id == deviceId)
|
||||||
|
&& (it->m_samplingDevice.sequence == sequence)
|
||||||
|
&& (it->m_samplingDevice.deviceItemIndex == deviceItemIndex))
|
||||||
|
{
|
||||||
return it->m_index;
|
return it->m_index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -477,11 +480,14 @@ int DeviceEnumerator::getRxSamplingDeviceIndex(const QString& deviceId, int sequ
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DeviceEnumerator::getTxSamplingDeviceIndex(const QString& deviceId, int sequence)
|
int DeviceEnumerator::getTxSamplingDeviceIndex(const QString& deviceId, int sequence, int deviceItemIndex)
|
||||||
{
|
{
|
||||||
for (DevicesEnumeration::iterator it = m_txEnumeration.begin(); it != m_txEnumeration.end(); ++it)
|
for (DevicesEnumeration::iterator it = m_txEnumeration.begin(); it != m_txEnumeration.end(); ++it)
|
||||||
{
|
{
|
||||||
if ((it->m_samplingDevice.id == deviceId) && (it->m_samplingDevice.sequence == sequence)) {
|
if ((it->m_samplingDevice.id == deviceId)
|
||||||
|
&& (it->m_samplingDevice.sequence == sequence)
|
||||||
|
&& (it->m_samplingDevice.deviceItemIndex == deviceItemIndex))
|
||||||
|
{
|
||||||
return it->m_index;
|
return it->m_index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,8 +59,8 @@ public:
|
|||||||
int getFileInputDeviceIndex() const; //!< Get Rx default device
|
int getFileInputDeviceIndex() const; //!< Get Rx default device
|
||||||
int getTestMIMODeviceIndex() const; //!< Get MIMO default device
|
int getTestMIMODeviceIndex() const; //!< Get MIMO default device
|
||||||
int getFileOutputDeviceIndex() const; //!< Get Tx default device
|
int getFileOutputDeviceIndex() const; //!< Get Tx default device
|
||||||
int getRxSamplingDeviceIndex(const QString& deviceId, int sequence);
|
int getRxSamplingDeviceIndex(const QString& deviceId, int sequence, int deviceItemIndex);
|
||||||
int getTxSamplingDeviceIndex(const QString& deviceId, int sequence);
|
int getTxSamplingDeviceIndex(const QString& deviceId, int sequence, int deviceItemIndex);
|
||||||
int getMIMOSamplingDeviceIndex(const QString& deviceId, int sequence);
|
int getMIMOSamplingDeviceIndex(const QString& deviceId, int sequence);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -68,6 +68,8 @@ public:
|
|||||||
FeatureSetPreset* getWorkingFeatureSetPreset() { return &m_workingFeatureSetPreset; }
|
FeatureSetPreset* getWorkingFeatureSetPreset() { return &m_workingFeatureSetPreset; }
|
||||||
QList<FeatureSetPreset*> *getFeatureSetPresets() { return &m_featureSetPresets; }
|
QList<FeatureSetPreset*> *getFeatureSetPresets() { return &m_featureSetPresets; }
|
||||||
|
|
||||||
|
int getSourceItemIndex() const { return m_preferences.getSourceItemIndex(); }
|
||||||
|
void setSourceItemIndex(int value) { m_preferences.setSourceItemIndex(value); }
|
||||||
int getSourceIndex() const { return m_preferences.getSourceIndex(); }
|
int getSourceIndex() const { return m_preferences.getSourceIndex(); }
|
||||||
void setSourceIndex(int value) { m_preferences.setSourceIndex(value); }
|
void setSourceIndex(int value) { m_preferences.setSourceIndex(value); }
|
||||||
const QString& getSourceDeviceId() const { return m_preferences.getSourceDevice(); }
|
const QString& getSourceDeviceId() const { return m_preferences.getSourceDevice(); }
|
||||||
|
@ -12,10 +12,11 @@ void Preferences::resetToDefaults()
|
|||||||
m_audioType.clear();
|
m_audioType.clear();
|
||||||
m_audioDevice.clear();
|
m_audioDevice.clear();
|
||||||
m_sourceIndex = 0;
|
m_sourceIndex = 0;
|
||||||
m_stationName = "Home";
|
m_sourceItemIndex = 0;
|
||||||
|
m_stationName = "Home";
|
||||||
m_latitude = 49.012423; // Set an interesting location so map doesn't open up in the middle of the ocean
|
m_latitude = 49.012423; // Set an interesting location so map doesn't open up in the middle of the ocean
|
||||||
m_longitude = 8.418125;
|
m_longitude = 8.418125;
|
||||||
m_altitude = 0.0f;
|
m_altitude = 0.0f;
|
||||||
m_useLogFile = false;
|
m_useLogFile = false;
|
||||||
m_logFileName = "sdrangel.log";
|
m_logFileName = "sdrangel.log";
|
||||||
m_consoleMinLogLevel = QtDebugMsg;
|
m_consoleMinLogLevel = QtDebugMsg;
|
||||||
@ -35,8 +36,9 @@ QByteArray Preferences::serialize() const
|
|||||||
s.writeBool(9, m_useLogFile);
|
s.writeBool(9, m_useLogFile);
|
||||||
s.writeString(10, m_logFileName);
|
s.writeString(10, m_logFileName);
|
||||||
s.writeS32(11, (int) m_fileMinLogLevel);
|
s.writeS32(11, (int) m_fileMinLogLevel);
|
||||||
s.writeString(12, m_stationName);
|
s.writeString(12, m_stationName);
|
||||||
s.writeFloat(13, m_altitude);
|
s.writeFloat(13, m_altitude);
|
||||||
|
s.writeS32(14, m_sourceItemIndex);
|
||||||
return s.final();
|
return s.final();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +80,7 @@ bool Preferences::deserialize(const QByteArray& data)
|
|||||||
d.readS32(11, &tmpInt, (int) QtDebugMsg);
|
d.readS32(11, &tmpInt, (int) QtDebugMsg);
|
||||||
d.readString(12, &m_stationName, "Home");
|
d.readString(12, &m_stationName, "Home");
|
||||||
d.readFloat(13, &m_altitude, 0.0f);
|
d.readFloat(13, &m_altitude, 0.0f);
|
||||||
|
d.readS32(14, &m_sourceItemIndex, 0);
|
||||||
|
|
||||||
if ((tmpInt == (int) QtDebugMsg) ||
|
if ((tmpInt == (int) QtDebugMsg) ||
|
||||||
(tmpInt == (int) QtInfoMsg) ||
|
(tmpInt == (int) QtInfoMsg) ||
|
||||||
|
@ -17,6 +17,8 @@ public:
|
|||||||
const QString& getSourceDevice() const { return m_sourceDevice; }
|
const QString& getSourceDevice() const { return m_sourceDevice; }
|
||||||
void setSourceIndex(const int value) { m_sourceIndex = value; }
|
void setSourceIndex(const int value) { m_sourceIndex = value; }
|
||||||
int getSourceIndex() const { return m_sourceIndex; }
|
int getSourceIndex() const { return m_sourceIndex; }
|
||||||
|
void setSourceItemIndex(const int value) { m_sourceItemIndex = value; }
|
||||||
|
int getSourceItemIndex() const { return m_sourceItemIndex; }
|
||||||
|
|
||||||
void setAudioType(const QString& value) { m_audioType = value; }
|
void setAudioType(const QString& value) { m_audioType = value; }
|
||||||
const QString& getAudioType() const { return m_audioType; }
|
const QString& getAudioType() const { return m_audioType; }
|
||||||
@ -44,14 +46,15 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
QString m_sourceDevice; //!< Identification of the source used in R0 tab (GUI flavor) at startup
|
QString m_sourceDevice; //!< Identification of the source used in R0 tab (GUI flavor) at startup
|
||||||
int m_sourceIndex; //!< Index of the source used in R0 tab (GUI flavor) at startup
|
int m_sourceIndex; //!< Index of the source used in R0 tab (GUI flavor) at startup
|
||||||
|
int m_sourceItemIndex; //!< Index of device item in the source used in R0 tab (GUI flavor) at startup
|
||||||
|
|
||||||
QString m_audioType;
|
QString m_audioType;
|
||||||
QString m_audioDevice;
|
QString m_audioDevice;
|
||||||
|
|
||||||
QString m_stationName; //!< Name of the station (for drawing on the map)
|
QString m_stationName; //!< Name of the station (for drawing on the map)
|
||||||
float m_latitude; //!< Position of the station
|
float m_latitude; //!< Position of the station
|
||||||
float m_longitude;
|
float m_longitude;
|
||||||
float m_altitude; //!< Altitude in metres
|
float m_altitude; //!< Altitude in metres
|
||||||
|
|
||||||
QtMsgType m_consoleMinLogLevel;
|
QtMsgType m_consoleMinLogLevel;
|
||||||
QtMsgType m_fileMinLogLevel;
|
QtMsgType m_fileMinLogLevel;
|
||||||
|
@ -227,10 +227,17 @@ MainWindow::MainWindow(qtwebapp::LoggerWithFile *logger, const MainParser& parse
|
|||||||
ui->featureDock->setPresets(m_mainCore->m_settings.getFeatureSetPresets());
|
ui->featureDock->setPresets(m_mainCore->m_settings.getFeatureSetPresets());
|
||||||
ui->featureDock->setPluginAPI(m_pluginManager->getPluginAPI());
|
ui->featureDock->setPluginAPI(m_pluginManager->getPluginAPI());
|
||||||
|
|
||||||
splash->showStatusMessage("load file input...", Qt::white);
|
splash->showStatusMessage("load last device or file input...", Qt::white);
|
||||||
qDebug() << "MainWindow::MainWindow: select SampleSource from settings or default (file input)...";
|
qDebug() << "MainWindow::MainWindow: select SampleSource from settings or default (file input)...";
|
||||||
|
qDebug() << "MainWindow::MainWindow: look for"
|
||||||
|
<< m_mainCore->m_settings.getSourceDeviceId()
|
||||||
|
<< "at index" << m_mainCore->m_settings.getSourceIndex()
|
||||||
|
<< "and item index" << m_mainCore->m_settings.getSourceItemIndex();
|
||||||
|
|
||||||
int deviceIndex = DeviceEnumerator::instance()->getRxSamplingDeviceIndex(m_mainCore->m_settings.getSourceDeviceId(), m_mainCore->m_settings.getSourceIndex());
|
int deviceIndex = DeviceEnumerator::instance()->getRxSamplingDeviceIndex(
|
||||||
|
m_mainCore->m_settings.getSourceDeviceId(),
|
||||||
|
m_mainCore->m_settings.getSourceIndex(),
|
||||||
|
m_mainCore->m_settings.getSourceItemIndex());
|
||||||
addSourceDevice(deviceIndex); // add the first device set with file input device as default if device in settings is not enumerated
|
addSourceDevice(deviceIndex); // add the first device set with file input device as default if device in settings is not enumerated
|
||||||
m_deviceUIs.back()->m_deviceAPI->setBuddyLeader(true); // the first device is always the leader
|
m_deviceUIs.back()->m_deviceAPI->setBuddyLeader(true); // the first device is always the leader
|
||||||
tabChannelsIndexChanged(); // force channel selection list update
|
tabChannelsIndexChanged(); // force channel selection list update
|
||||||
@ -1989,8 +1996,11 @@ void MainWindow::sampleSourceChanged(int tabIndex, int newDeviceIndex)
|
|||||||
|
|
||||||
if (tabIndex == 0) // save as default starting device
|
if (tabIndex == 0) // save as default starting device
|
||||||
{
|
{
|
||||||
|
qDebug("MainWindow::sampleSourceChanged: save default starting device %s[%d:%d]",
|
||||||
|
qPrintable(samplingDevice->id), samplingDevice->sequence, samplingDevice->deviceItemIndex);
|
||||||
m_mainCore->m_settings.setSourceIndex(samplingDevice->sequence);
|
m_mainCore->m_settings.setSourceIndex(samplingDevice->sequence);
|
||||||
m_mainCore->m_settings.setSourceDeviceId(samplingDevice->id);
|
m_mainCore->m_settings.setSourceDeviceId(samplingDevice->id);
|
||||||
|
m_mainCore->m_settings.setSourceItemIndex(samplingDevice->deviceItemIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user