mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-30 03:38:55 -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),
|
QMainWindow(parent),
|
||||||
ui(new Ui::MainWindow),
|
ui(new Ui::MainWindow),
|
||||||
m_audioDeviceInfo(new AudioDeviceInfo),
|
m_audioDeviceInfo(new AudioDeviceInfo),
|
||||||
|
m_masterTabIndex(0),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_dspEngine(DSPEngine::instance()),
|
m_dspEngine(DSPEngine::instance()),
|
||||||
m_lastEngineState((DSPDeviceEngine::State)-1),
|
m_lastEngineState((DSPDeviceEngine::State)-1),
|
||||||
@ -719,6 +720,17 @@ void MainWindow::tabInputViewIndexChanged()
|
|||||||
{
|
{
|
||||||
int inputViewIndex = ui->tabInputsView->currentIndex();
|
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->tabSpectra->setCurrentIndex(inputViewIndex);
|
||||||
ui->tabChannels->setCurrentIndex(inputViewIndex);
|
ui->tabChannels->setCurrentIndex(inputViewIndex);
|
||||||
ui->tabInputsSelect->setCurrentIndex(inputViewIndex);
|
ui->tabInputsSelect->setCurrentIndex(inputViewIndex);
|
||||||
|
@ -65,6 +65,7 @@ public:
|
|||||||
SamplingDeviceControl *m_samplingDeviceControl;
|
SamplingDeviceControl *m_samplingDeviceControl;
|
||||||
DSPDeviceEngine *m_deviceEngine;
|
DSPDeviceEngine *m_deviceEngine;
|
||||||
DeviceAPI *m_deviceAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
|
QByteArray m_mainWindowState;
|
||||||
|
|
||||||
DeviceUISet(QTimer& timer);
|
DeviceUISet(QTimer& timer);
|
||||||
~DeviceUISet();
|
~DeviceUISet();
|
||||||
@ -101,6 +102,7 @@ private:
|
|||||||
MainSettings m_settings;
|
MainSettings m_settings;
|
||||||
std::vector<DeviceUISet*> m_deviceUIs;
|
std::vector<DeviceUISet*> m_deviceUIs;
|
||||||
QList<DeviceWidgetTabData> m_deviceWidgetTabs;
|
QList<DeviceWidgetTabData> m_deviceWidgetTabs;
|
||||||
|
int m_masterTabIndex;
|
||||||
|
|
||||||
DSPEngine* m_dspEngine;
|
DSPEngine* m_dspEngine;
|
||||||
PluginManager* m_pluginManager;
|
PluginManager* m_pluginManager;
|
||||||
|
Loading…
Reference in New Issue
Block a user