From 4027b00675e163e2a533b955176e43fa8f9adb2f Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 15 May 2016 04:38:37 +0200 Subject: [PATCH] Multi device support: GUI enhmcements --- plugins/samplesource/airspy/airspyplugin.cpp | 4 ++-- plugins/samplesource/airspy/airspyplugin.h | 2 +- .../samplesource/bladerf/bladerfplugin.cpp | 4 ++-- plugins/samplesource/bladerf/bladerfplugin.h | 2 +- plugins/samplesource/fcdpro/fcdproplugin.cpp | 4 ++-- plugins/samplesource/fcdpro/fcdproplugin.h | 2 +- .../fcdproplus/fcdproplusplugin.cpp | 4 ++-- .../fcdproplus/fcdproplusplugin.h | 2 +- .../filesource/filesourceplugin.cpp | 4 ++-- .../filesource/filesourceplugin.h | 2 +- plugins/samplesource/hackrf/hackrfplugin.cpp | 4 ++-- plugins/samplesource/hackrf/hackrfplugin.h | 2 +- plugins/samplesource/rtlsdr/rtlsdrplugin.cpp | 4 ++-- plugins/samplesource/rtlsdr/rtlsdrplugin.h | 2 +- .../sdrdaemon/sdrdaemonplugin.cpp | 4 ++-- .../samplesource/sdrdaemon/sdrdaemonplugin.h | 2 +- sdrbase/gui/samplingdevicecontrol.ui | 12 +++++++++++ sdrbase/mainwindow.cpp | 20 ++++++++++--------- sdrbase/mainwindow.h | 2 +- sdrbase/mainwindow.ui | 2 +- sdrbase/plugin/pluginapi.cpp | 4 ++-- sdrbase/plugin/pluginapi.h | 6 ++---- sdrbase/plugin/plugininterface.h | 2 +- sdrbase/plugin/pluginmanager.cpp | 12 ++++++----- sdrbase/plugin/pluginmanager.h | 2 +- 25 files changed, 62 insertions(+), 48 deletions(-) diff --git a/plugins/samplesource/airspy/airspyplugin.cpp b/plugins/samplesource/airspy/airspyplugin.cpp index ed0a9be03..17fd626ed 100644 --- a/plugins/samplesource/airspy/airspyplugin.cpp +++ b/plugins/samplesource/airspy/airspyplugin.cpp @@ -117,7 +117,7 @@ PluginInterface::SampleSourceDevices AirspyPlugin::enumSampleSources() return result; } -PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if (!m_pluginAPI) { @@ -127,7 +127,7 @@ PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId) if(sourceId == m_deviceTypeID) { AirspyGui* gui = new AirspyGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/airspy/airspyplugin.h b/plugins/samplesource/airspy/airspyplugin.h index c23dcbe99..d9f911804 100644 --- a/plugins/samplesource/airspy/airspyplugin.h +++ b/plugins/samplesource/airspy/airspyplugin.h @@ -34,7 +34,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/bladerf/bladerfplugin.cpp b/plugins/samplesource/bladerf/bladerfplugin.cpp index f514e13be..98abffa8a 100644 --- a/plugins/samplesource/bladerf/bladerfplugin.cpp +++ b/plugins/samplesource/bladerf/bladerfplugin.cpp @@ -75,7 +75,7 @@ PluginInterface::SampleSourceDevices BlderfPlugin::enumSampleSources() return result; } -PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if (!m_pluginAPI) { @@ -85,7 +85,7 @@ PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId) if(sourceId == m_deviceTypeID) { BladerfGui* gui = new BladerfGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/bladerf/bladerfplugin.h b/plugins/samplesource/bladerf/bladerfplugin.h index 47f550437..221b8e570 100644 --- a/plugins/samplesource/bladerf/bladerfplugin.h +++ b/plugins/samplesource/bladerf/bladerfplugin.h @@ -34,7 +34,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/fcdpro/fcdproplugin.cpp b/plugins/samplesource/fcdpro/fcdproplugin.cpp index c0b6cb177..a35bfdfdf 100644 --- a/plugins/samplesource/fcdpro/fcdproplugin.cpp +++ b/plugins/samplesource/fcdpro/fcdproplugin.cpp @@ -74,12 +74,12 @@ PluginInterface::SampleSourceDevices FCDProPlugin::enumSampleSources() return result; } -PluginGUI* FCDProPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* FCDProPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if(sourceId == fcd_traits::interfaceIID) { FCDProGui* gui = new FCDProGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/fcdpro/fcdproplugin.h b/plugins/samplesource/fcdpro/fcdproplugin.h index 16864caa4..341313574 100644 --- a/plugins/samplesource/fcdpro/fcdproplugin.h +++ b/plugins/samplesource/fcdpro/fcdproplugin.h @@ -18,7 +18,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/fcdproplus/fcdproplusplugin.cpp b/plugins/samplesource/fcdproplus/fcdproplusplugin.cpp index 7092e9421..bb42bad5d 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusplugin.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusplugin.cpp @@ -74,12 +74,12 @@ PluginInterface::SampleSourceDevices FCDProPlusPlugin::enumSampleSources() return result; } -PluginGUI* FCDProPlusPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* FCDProPlusPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if(sourceId == fcd_traits::interfaceIID) { FCDProPlusGui* gui = new FCDProPlusGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/fcdproplus/fcdproplusplugin.h b/plugins/samplesource/fcdproplus/fcdproplusplugin.h index 5ba28b7da..a6dd5d453 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusplugin.h +++ b/plugins/samplesource/fcdproplus/fcdproplusplugin.h @@ -18,7 +18,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/filesource/filesourceplugin.cpp b/plugins/samplesource/filesource/filesourceplugin.cpp index 38e641a35..9639924ad 100644 --- a/plugins/samplesource/filesource/filesourceplugin.cpp +++ b/plugins/samplesource/filesource/filesourceplugin.cpp @@ -67,12 +67,12 @@ PluginInterface::SampleSourceDevices FileSourcePlugin::enumSampleSources() return result; } -PluginGUI* FileSourcePlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* FileSourcePlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if(sourceId == m_deviceTypeID) { FileSourceGui* gui = new FileSourceGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/filesource/filesourceplugin.h b/plugins/samplesource/filesource/filesourceplugin.h index 89bd50063..18c31186d 100644 --- a/plugins/samplesource/filesource/filesourceplugin.h +++ b/plugins/samplesource/filesource/filesourceplugin.h @@ -34,7 +34,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/hackrf/hackrfplugin.cpp b/plugins/samplesource/hackrf/hackrfplugin.cpp index f543b8385..a29b11f28 100644 --- a/plugins/samplesource/hackrf/hackrfplugin.cpp +++ b/plugins/samplesource/hackrf/hackrfplugin.cpp @@ -112,7 +112,7 @@ PluginInterface::SampleSourceDevices HackRFPlugin::enumSampleSources() return result; } -PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if (!m_pluginAPI) { @@ -122,7 +122,7 @@ PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId) if(sourceId == m_deviceTypeID) { HackRFGui* gui = new HackRFGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/hackrf/hackrfplugin.h b/plugins/samplesource/hackrf/hackrfplugin.h index 3b34ba07e..a8190bff8 100644 --- a/plugins/samplesource/hackrf/hackrfplugin.h +++ b/plugins/samplesource/hackrf/hackrfplugin.h @@ -34,7 +34,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp index 67f28589a..de715ba08 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp @@ -59,11 +59,11 @@ PluginInterface::SampleSourceDevices RTLSDRPlugin::enumSampleSources() return result; } -PluginGUI* RTLSDRPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* RTLSDRPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if(sourceId == m_deviceTypeID) { RTLSDRGui* gui = new RTLSDRGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else { return NULL; diff --git a/plugins/samplesource/rtlsdr/rtlsdrplugin.h b/plugins/samplesource/rtlsdr/rtlsdrplugin.h index fe58f66dd..083c90d67 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrplugin.h +++ b/plugins/samplesource/rtlsdr/rtlsdrplugin.h @@ -18,7 +18,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/plugins/samplesource/sdrdaemon/sdrdaemonplugin.cpp b/plugins/samplesource/sdrdaemon/sdrdaemonplugin.cpp index c016d13ce..c03d34eb3 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemonplugin.cpp +++ b/plugins/samplesource/sdrdaemon/sdrdaemonplugin.cpp @@ -67,12 +67,12 @@ PluginInterface::SampleSourceDevices SDRdaemonPlugin::enumSampleSources() return result; } -PluginGUI* SDRdaemonPlugin::createSampleSourcePluginGUI(const QString& sourceId) +PluginGUI* SDRdaemonPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { if(sourceId == m_deviceTypeID) { SDRdaemonGui* gui = new SDRdaemonGui(m_pluginAPI); - m_pluginAPI->setInputGUI(gui); + m_pluginAPI->setInputGUI(gui, sourceDisplayName); return gui; } else diff --git a/plugins/samplesource/sdrdaemon/sdrdaemonplugin.h b/plugins/samplesource/sdrdaemon/sdrdaemonplugin.h index 3dd77313f..70e44b65f 100644 --- a/plugins/samplesource/sdrdaemon/sdrdaemonplugin.h +++ b/plugins/samplesource/sdrdaemon/sdrdaemonplugin.h @@ -34,7 +34,7 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SampleSourceDevices enumSampleSources(); - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId); + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName); static const QString m_deviceTypeID; diff --git a/sdrbase/gui/samplingdevicecontrol.ui b/sdrbase/gui/samplingdevicecontrol.ui index 328a15db2..de7c6c718 100644 --- a/sdrbase/gui/samplingdevicecontrol.ui +++ b/sdrbase/gui/samplingdevicecontrol.ui @@ -16,6 +16,12 @@ 76 + + + 16777215 + 16777215 + + Sans Serif @@ -26,6 +32,12 @@ Title & Color + + 3 + + + 2 + diff --git a/sdrbase/mainwindow.cpp b/sdrbase/mainwindow.cpp index 5447c8d6a..b0186e0cc 100644 --- a/sdrbase/mainwindow.cpp +++ b/sdrbase/mainwindow.cpp @@ -97,8 +97,12 @@ MainWindow::MainWindow(QWidget* parent) : ui->menu_Window->addAction(ui->presetDock->toggleViewAction()); ui->menu_Window->addAction(ui->channelDock->toggleViewAction()); - //ui->tabInputsView->setStyleSheet("QWidget { background: rgb(46,46,46); }"); - ui->tabInputsView->setStyleSheet("QWidget { background: rgb(46,46,46); } QToolButton::checked { background: rgb(128,70,0); }"); + ui->tabInputsView->setStyleSheet("QWidget { background: rgb(44,44,44); } " + "QToolButton::checked { background: rgb(128,70,0); } " + "QComboBox::item:selected { color: rgb(255,140,0); }"); + ui->tabInputsSelect->setStyleSheet("QWidget { background: rgb(44,44,44); } " + "QToolButton::checked { background: rgb(128,70,0); } " + "QComboBox::item:selected { color: rgb(255,140,0); }"); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleMessages()), Qt::QueuedConnection); @@ -260,27 +264,25 @@ void MainWindow::removeChannelMarker(ChannelMarker* channelMarker) m_deviceUIs.back()->m_spectrum->removeChannelMarker(channelMarker); } -void MainWindow::setInputGUI(int deviceTabIndex, QWidget* gui) +void MainWindow::setInputGUI(int deviceTabIndex, QWidget* gui, const QString& sourceDisplayName) { - qDebug("MainWindow::setInputGUI: count before %d", ui->tabInputsView->count()); - char tabNameCStr[16]; sprintf(tabNameCStr, "R%d", deviceTabIndex); if (deviceTabIndex < ui->tabInputsView->count()) { - qDebug("MainWindow::setInputGUI: device index %d replace", deviceTabIndex); + qDebug("MainWindow::setInputGUI: tab device index %d replace", deviceTabIndex); ui->tabInputsView->removeTab(deviceTabIndex); ui->tabInputsView->insertTab(deviceTabIndex, gui, tabNameCStr); } else { - qDebug("MainWindow::setInputGUI: device index %d add", deviceTabIndex); + qDebug("MainWindow::setInputGUI: tab device index %d add", deviceTabIndex); ui->tabInputsView->addTab(gui, tabNameCStr); } - qDebug("MainWindow::setInputGUI: count after %d", ui->tabInputsView->count()); + ui->tabInputsView->setTabToolTip(deviceTabIndex, sourceDisplayName); } void MainWindow::loadSettings() @@ -684,7 +686,7 @@ void MainWindow::on_action_About_triggered() void MainWindow::on_action_addDevice_triggered() { -// addDevice(); TODO: re-activate when plugin issues are solved + addDevice(); } void MainWindow::on_action_removeDevice_triggered() diff --git a/sdrbase/mainwindow.h b/sdrbase/mainwindow.h index 1ae16df0c..d43c9531b 100644 --- a/sdrbase/mainwindow.h +++ b/sdrbase/mainwindow.h @@ -77,7 +77,7 @@ public: void addChannelMarker(ChannelMarker* channelMarker); // TODO: review this void removeChannelMarker(ChannelMarker* channelMarker); // TODO: review this - void setInputGUI(int deviceTabIndex, QWidget* gui); + void setInputGUI(int deviceTabIndex, QWidget* gui, const QString& sourceDisplayName); const QTimer& getMasterTimer() const { return m_masterTimer; } private: diff --git a/sdrbase/mainwindow.ui b/sdrbase/mainwindow.ui index 3e3751d99..1ad027b5b 100644 --- a/sdrbase/mainwindow.ui +++ b/sdrbase/mainwindow.ui @@ -410,7 +410,7 @@ 0 - 80 + 110 diff --git a/sdrbase/plugin/pluginapi.cpp b/sdrbase/plugin/pluginapi.cpp index 6c2a6b12a..489b775bf 100644 --- a/sdrbase/plugin/pluginapi.cpp +++ b/sdrbase/plugin/pluginapi.cpp @@ -19,9 +19,9 @@ MessageQueue* PluginAPI::getMainWindowMessageQueue() return m_mainWindow->getInputMessageQueue(); } -void PluginAPI::setInputGUI(QWidget* inputGUI) +void PluginAPI::setInputGUI(QWidget* inputGUI, const QString& sourceDisplayName) { - m_pluginManager->setInputGUI(inputGUI); + m_pluginManager->setInputGUI(inputGUI, sourceDisplayName); } void PluginAPI::registerChannel(const QString& channelName, PluginInterface* plugin) diff --git a/sdrbase/plugin/pluginapi.h b/sdrbase/plugin/pluginapi.h index 391d55695..993dae1a7 100644 --- a/sdrbase/plugin/pluginapi.h +++ b/sdrbase/plugin/pluginapi.h @@ -5,8 +5,7 @@ #include "util/export.h" #include "dsp/dspdeviceengine.h" -class QDockWidget; -class QAction; +class QString; class PluginManager; class PluginInterface; @@ -26,9 +25,8 @@ class SDRANGEL_API PluginAPI : public QObject { public: // MainWindow access - //QDockWidget* createMainWindowDock(Qt::DockWidgetArea dockWidgetArea, const QString& title); MessageQueue* getMainWindowMessageQueue(); - void setInputGUI(QWidget* inputGUI); + void setInputGUI(QWidget* inputGUI, const QString& sourceDisplayName); // Channel stuff void registerChannel(const QString& channelName, PluginInterface* plugin); diff --git a/sdrbase/plugin/plugininterface.h b/sdrbase/plugin/plugininterface.h index 5a0150621..0f3555224 100644 --- a/sdrbase/plugin/plugininterface.h +++ b/sdrbase/plugin/plugininterface.h @@ -46,7 +46,7 @@ public: virtual PluginGUI* createChannel(const QString& channelName) { return 0; } virtual SampleSourceDevices enumSampleSources() { return SampleSourceDevices(); } - virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId) { return 0; } + virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName) { return 0; } }; Q_DECLARE_INTERFACE(PluginInterface, "SDRangel.PluginInterface/0.1"); diff --git a/sdrbase/plugin/pluginmanager.cpp b/sdrbase/plugin/pluginmanager.cpp index ea497a607..9fe8ea414 100644 --- a/sdrbase/plugin/pluginmanager.cpp +++ b/sdrbase/plugin/pluginmanager.cpp @@ -1,6 +1,8 @@ #include #include #include +#include + #include "plugin/pluginmanager.h" #include "plugin/plugingui.h" #include "settings/preset.h" @@ -87,10 +89,10 @@ void PluginManager::registerSampleSource(const QString& sourceName, PluginInterf m_sampleSourceRegistrations.append(SampleSourceRegistration(sourceName, plugin)); } -void PluginManager::setInputGUI(QWidget* gui) +void PluginManager::setInputGUI(QWidget* gui, const QString& sourceDisplayName) { //m_mainWindow->setInputGUI(gui); - m_mainWindow->setInputGUI(m_deviceTabIndex, gui); + m_mainWindow->setInputGUI(m_deviceTabIndex, gui, sourceDisplayName); } void PluginManager::addSink(SampleSink* sink) @@ -343,7 +345,7 @@ int PluginManager::selectSampleSourceByIndex(int index) << " ser: " << m_sampleSourceSerial.toStdString().c_str() << " seq: " << m_sampleSourceSequence; - m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId); + m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId, m_sampleSourceDevices[index].m_displayName); m_dspDeviceEngine->setSourceSequence(m_sampleSourceSequence); return index; @@ -397,7 +399,7 @@ int PluginManager::selectFirstSampleSource(const QString& sourceId) << " ser: " << m_sampleSourceSerial.toStdString().c_str() << " seq: " << m_sampleSourceSequence; - m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId); + m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId, m_sampleSourceDevices[index].m_displayName); return index; } @@ -464,7 +466,7 @@ int PluginManager::selectSampleSourceBySerialOrSequence(const QString& sourceId, << " ser: " << qPrintable(m_sampleSourceSerial) << " seq: " << m_sampleSourceSequence; - m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId); + m_sampleSourcePluginGUI = m_sampleSourceDevices[index].m_plugin->createSampleSourcePluginGUI(m_sampleSourceId, m_sampleSourceDevices[index].m_displayName); return index; } diff --git a/sdrbase/plugin/pluginmanager.h b/sdrbase/plugin/pluginmanager.h index 1a1ebb6a1..1d4c14e2d 100644 --- a/sdrbase/plugin/pluginmanager.h +++ b/sdrbase/plugin/pluginmanager.h @@ -52,7 +52,7 @@ public: void removeChannelInstance(PluginGUI* pluginGUI); void registerSampleSource(const QString& sourceName, PluginInterface* plugin); - void setInputGUI(QWidget* gui); + void setInputGUI(QWidget* gui, const QString& sourceDisplayName); void addSink(SampleSink* sink); void removeSink(SampleSink* sink);