1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-08-09 09:12:27 -04:00

DaemonSrc: fixed missing channel deletion on GUI deletion. Added missing signals handling

This commit is contained in:
f4exb 2018-09-11 08:41:37 +02:00
parent 6aff1a3db3
commit 4cd9055fe6
3 changed files with 16 additions and 5 deletions

View File

@ -52,14 +52,14 @@ DaemonSrc::DaemonSrc(DeviceSinkAPI *deviceAPI) :
{ {
setObjectName(m_channelId); setObjectName(m_channelId);
connect(&m_dataQueue, SIGNAL(dataBlockEnqueued()), this, SLOT(handleData()), Qt::QueuedConnection);
m_cm256p = m_cm256.isInitialized() ? &m_cm256 : 0;
m_currentMeta.init();
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addThreadedSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelAPI(this);
connect(&m_dataQueue, SIGNAL(dataBlockEnqueued()), this, SLOT(handleData()), Qt::QueuedConnection);
m_cm256p = m_cm256.isInitialized() ? &m_cm256 : 0;
m_currentMeta.init();
} }
DaemonSrc::~DaemonSrc() DaemonSrc::~DaemonSrc()

View File

@ -169,10 +169,13 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
ui->setupUi(this); ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose, true); setAttribute(Qt::WA_DeleteOnClose, true);
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
m_daemonSrc = (DaemonSrc*) channelTx; m_daemonSrc = (DaemonSrc*) channelTx;
m_daemonSrc->setMessageQueueToGUI(getInputMessageQueue()); m_daemonSrc->setMessageQueueToGUI(getInputMessageQueue());
connect(&(m_deviceUISet->m_deviceSinkAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
m_channelMarker.blockSignals(true); m_channelMarker.blockSignals(true);
m_channelMarker.setColor(m_settings.m_rgbColor); m_channelMarker.setColor(m_settings.m_rgbColor);
m_channelMarker.setCenterFrequency(0); m_channelMarker.setCenterFrequency(0);
@ -186,8 +189,8 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
m_deviceUISet->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
connect(&m_channelMarker, SIGNAL(changedByCursor()), this, SLOT(channelMarkerChangedByCursor()));
connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages())); connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
connect(&(m_deviceUISet->m_deviceSinkAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
m_time.start(); m_time.start();
@ -198,6 +201,7 @@ DaemonSrcGUI::DaemonSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb
DaemonSrcGUI::~DaemonSrcGUI() DaemonSrcGUI::~DaemonSrcGUI()
{ {
m_deviceUISet->removeTxChannelInstance(this); m_deviceUISet->removeTxChannelInstance(this);
delete m_daemonSrc;
delete ui; delete ui;
} }
@ -370,3 +374,7 @@ void DaemonSrcGUI::tick()
m_tickCount = 0; m_tickCount = 0;
} }
} }
void DaemonSrcGUI::channelMarkerChangedByCursor()
{
}

View File

@ -53,6 +53,9 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; } virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message); virtual bool handleMessage(const Message& message);
public slots:
void channelMarkerChangedByCursor();
private: private:
Ui::DaemonSrcGUI* ui; Ui::DaemonSrcGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;