1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-07-17 00:05:23 -04:00

Plugin manager: neutralize QComboBox

This commit is contained in:
f4exb 2017-11-01 22:56:32 +01:00
parent 467e87730b
commit 0e1cc647cd
2 changed files with 40 additions and 34 deletions

View File

@ -229,6 +229,7 @@ void MainWindow::addSourceDevice()
bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true); bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true);
m_pluginManager->duplicateLocalSampleSourceDevices(dspDeviceSourceEngineUID); m_pluginManager->duplicateLocalSampleSourceDevices(dspDeviceSourceEngineUID);
// FIXME: replace with the device selection dialog based on static enumeration
m_pluginManager->fillSampleSourceSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSourceEngineUID); m_pluginManager->fillSampleSourceSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSourceEngineUID);
connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSource_confirmClicked(bool))); connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSource_confirmClicked(bool)));
@ -294,6 +295,7 @@ void MainWindow::addSinkDevice()
bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true); bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true);
m_pluginManager->duplicateLocalSampleSinkDevices(dspDeviceSinkEngineUID); m_pluginManager->duplicateLocalSampleSinkDevices(dspDeviceSinkEngineUID);
// FIXME: replace with the device selection dialog based on static enumeration
m_pluginManager->fillSampleSinkSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSinkEngineUID); m_pluginManager->fillSampleSinkSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSinkEngineUID);
connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSink_confirmClicked(bool))); connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSink_confirmClicked(bool)));

View File

@ -14,9 +14,9 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. // // along with this program. If not, see <http://www.gnu.org/licenses/>. //
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
#include <QApplication> #include <QCoreApplication>
#include <QPluginLoader> #include <QPluginLoader>
#include <QComboBox> //#include <QComboBox>
#include <QDebug> #include <QDebug>
#include <cstdio> #include <cstdio>
@ -54,7 +54,7 @@ PluginManager::~PluginManager()
void PluginManager::loadPlugins() void PluginManager::loadPlugins()
{ {
QString applicationDirPath = QApplication::instance()->applicationDirPath(); QString applicationDirPath = QCoreApplication::instance()->applicationDirPath();
QString applicationLibPath = applicationDirPath + "/../lib"; QString applicationLibPath = applicationDirPath + "/../lib";
qDebug() << "PluginManager::loadPlugins: " << qPrintable(applicationDirPath) << ", " << qPrintable(applicationLibPath); qDebug() << "PluginManager::loadPlugins: " << qPrintable(applicationDirPath) << ", " << qPrintable(applicationLibPath);
@ -263,41 +263,45 @@ void PluginManager::duplicateLocalSampleSinkDevices(uint deviceUID)
} }
} }
void PluginManager::fillSampleSourceSelector(QComboBox* comboBox, uint deviceUID) void PluginManager::fillSampleSourceSelector(
QComboBox* comboBox __attribute__((unused)),
uint deviceUID __attribute__((unused)))
{ {
comboBox->clear(); // comboBox->clear();
//
for(int i = 0; i < m_sampleSourceDevices.count(); i++) // for(int i = 0; i < m_sampleSourceDevices.count(); i++)
{ // {
// For "local" devices show only ones that concern this device set // // For "local" devices show only ones that concern this device set
if ((m_sampleSourceDevices[i].m_deviceId == m_sdrDaemonSourceDeviceTypeID) // if ((m_sampleSourceDevices[i].m_deviceId == m_sdrDaemonSourceDeviceTypeID)
|| (m_sampleSourceDevices[i].m_deviceId == m_fileSourceDeviceTypeID)) // || (m_sampleSourceDevices[i].m_deviceId == m_fileSourceDeviceTypeID))
{ // {
if (deviceUID != m_sampleSourceDevices[i].m_deviceSequence) { // if (deviceUID != m_sampleSourceDevices[i].m_deviceSequence) {
continue; // continue;
} // }
// }
//
// comboBox->addItem(m_sampleSourceDevices[i].m_displayName, qVariantFromValue((void *) &m_sampleSourceDevices[i]));
// }
} }
comboBox->addItem(m_sampleSourceDevices[i].m_displayName, qVariantFromValue((void *) &m_sampleSourceDevices[i])); void PluginManager::fillSampleSinkSelector(
} QComboBox* comboBox __attribute__((unused)),
} uint deviceUID __attribute__((unused)))
void PluginManager::fillSampleSinkSelector(QComboBox* comboBox, uint deviceUID)
{ {
comboBox->clear(); // comboBox->clear();
//
for(int i = 0; i < m_sampleSinkDevices.count(); i++) // for(int i = 0; i < m_sampleSinkDevices.count(); i++)
{ // {
// For "local" devices show only ones that concern this device set // // For "local" devices show only ones that concern this device set
if (m_sampleSinkDevices[i].m_deviceId == m_fileSinkDeviceTypeID) // if (m_sampleSinkDevices[i].m_deviceId == m_fileSinkDeviceTypeID)
{ // {
if (deviceUID != m_sampleSinkDevices[i].m_deviceSequence) { // if (deviceUID != m_sampleSinkDevices[i].m_deviceSequence) {
continue; // continue;
} // }
} // }
//
comboBox->addItem(m_sampleSinkDevices[i].m_displayName, qVariantFromValue((void *) &m_sampleSinkDevices[i])); // comboBox->addItem(m_sampleSinkDevices[i].m_displayName, qVariantFromValue((void *) &m_sampleSinkDevices[i]));
} // }
} }
int PluginManager::selectSampleSourceByIndex(int index, DeviceSourceAPI *deviceAPI) int PluginManager::selectSampleSourceByIndex(int index, DeviceSourceAPI *deviceAPI)