1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-11 10:18:38 -04:00

Sink handling refactoring: re-organize new source selection steps between main window and plugin manager

This commit is contained in:
f4exb
2017-04-12 22:46:16 +02:00
parent 39ca753dff
commit 729ba1b1f9
2 changed files with 13 additions and 9 deletions
+13 -1
View File
@@ -858,9 +858,11 @@ void MainWindow::on_sampleSink_confirmClicked(bool checked)
int selectedComboIndex = deviceUI->m_samplingDeviceControl->getDeviceSelector()->currentIndex();
void *devicePtr = deviceUI->m_samplingDeviceControl->getDeviceSelector()->itemData(selectedComboIndex).value<void *>();
deviceUI->m_deviceSinkAPI->stopGeneration();
deviceUI->m_deviceSinkAPI->setSampleSinkPluginGUI(0); // deletes old GUI and input object
deviceUI->m_deviceSinkAPI->clearBuddiesLists(); // remove old API from buddies lists
m_pluginManager->selectSampleSinkByDevice(devicePtr, deviceUI->m_deviceSinkAPI); // sets the new API
deviceUI->m_deviceSinkAPI->loadSinkSettings(m_settings.getWorkingPreset()); // load new API settings
// add to buddies list
std::vector<DeviceUISet*>::iterator it = m_deviceUIs.begin();
@@ -887,6 +889,16 @@ void MainWindow::on_sampleSink_confirmClicked(bool checked)
}
}
}
// constructs new GUI and output object
QWidget *gui;
PluginManager::SamplingDevice *sampleSinkDevice = (PluginManager::SamplingDevice *) devicePtr;
PluginGUI *pluginGUI = sampleSinkDevice->m_plugin->createSampleSinkPluginGUI(sampleSinkDevice->m_deviceId, &gui, deviceUI->m_deviceSinkAPI);
deviceUI->m_deviceSinkAPI->setSampleSinkPluginGUI(pluginGUI);
deviceUI->m_deviceSinkAPI->setOutputGUI(gui, sampleSinkDevice->m_displayName);
deviceUI->m_deviceSinkAPI->loadSinkSettings(m_settings.getWorkingPreset()); // load new API settings
}
}