mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-26 17:58:43 -05:00
Multi device support: save main window state across master (sampling device) tab changes
This commit is contained in:
parent
90b1fae799
commit
1c9b4ef1c9
@ -56,6 +56,7 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow),
|
||||
m_audioDeviceInfo(new AudioDeviceInfo),
|
||||
m_masterTabIndex(0),
|
||||
m_settings(),
|
||||
m_dspEngine(DSPEngine::instance()),
|
||||
m_lastEngineState((DSPDeviceEngine::State)-1),
|
||||
@ -719,6 +720,17 @@ void MainWindow::tabInputViewIndexChanged()
|
||||
{
|
||||
int inputViewIndex = ui->tabInputsView->currentIndex();
|
||||
|
||||
if ((inputViewIndex >= 0) && (inputViewIndex >= 0) && (inputViewIndex != m_masterTabIndex))
|
||||
{
|
||||
DeviceUISet *deviceUI = m_deviceUIs[inputViewIndex];
|
||||
DeviceUISet *lastdeviceUI = m_deviceUIs[m_masterTabIndex];
|
||||
deviceUI->m_mainWindowState = saveState();
|
||||
restoreState(lastdeviceUI->m_mainWindowState);
|
||||
m_masterTabIndex = inputViewIndex;
|
||||
}
|
||||
|
||||
// qDebug("MainWindow::tabInputViewIndexChanged: old: %d new: %d", m_masterTabIndex, inputViewIndex);
|
||||
|
||||
ui->tabSpectra->setCurrentIndex(inputViewIndex);
|
||||
ui->tabChannels->setCurrentIndex(inputViewIndex);
|
||||
ui->tabInputsSelect->setCurrentIndex(inputViewIndex);
|
||||
|
@ -65,6 +65,7 @@ public:
|
||||
SamplingDeviceControl *m_samplingDeviceControl;
|
||||
DSPDeviceEngine *m_deviceEngine;
|
||||
DeviceAPI *m_deviceAPI;
|
||||
QByteArray m_mainWindowState;
|
||||
|
||||
DeviceUISet(QTimer& timer);
|
||||
~DeviceUISet();
|
||||
@ -101,6 +102,7 @@ private:
|
||||
MainSettings m_settings;
|
||||
std::vector<DeviceUISet*> m_deviceUIs;
|
||||
QList<DeviceWidgetTabData> m_deviceWidgetTabs;
|
||||
int m_masterTabIndex;
|
||||
|
||||
DSPEngine* m_dspEngine;
|
||||
PluginManager* m_pluginManager;
|
||||
|
Loading…
Reference in New Issue
Block a user