Following PR #1305: set device center frequency from the MainWindow rather than in MainSpectrumGUI

This commit is contained in:
f4exb 2022-06-24 22:52:17 +02:00
parent 1638814647
commit f95d0e43c7
4 changed files with 30 additions and 3 deletions

View File

@ -29,7 +29,6 @@
#include "gui/glspectrumgui.h" #include "gui/glspectrumgui.h"
#include "gui/workspaceselectiondialog.h" #include "gui/workspaceselectiondialog.h"
#include "dsp/spectrumvis.h" #include "dsp/spectrumvis.h"
#include "channel/channelwebapiutils.h"
#include "mainspectrumgui.h" #include "mainspectrumgui.h"
MainSpectrumGUI::MainSpectrumGUI(GLSpectrum *spectrum, GLSpectrumGUI *spectrumGUI, QWidget *parent) : MainSpectrumGUI::MainSpectrumGUI(GLSpectrum *spectrum, GLSpectrumGUI *spectrumGUI, QWidget *parent) :
@ -324,6 +323,5 @@ QString MainSpectrumGUI::getDeviceTypeTag()
// Handle request from GLSpectrum to adjust center frequency // Handle request from GLSpectrum to adjust center frequency
void MainSpectrumGUI::onRequestCenterFrequency(qint64 frequency) void MainSpectrumGUI::onRequestCenterFrequency(qint64 frequency)
{ {
double frequencyInHz = (double)frequency; emit requestCenterFrequency(m_deviceSetIndex, frequency);
ChannelWebAPIUtils::setCenterFrequency(m_deviceSetIndex, frequencyInHz);
} }

View File

@ -112,6 +112,7 @@ signals:
void closing(); void closing();
void moveToWorkspace(int workspaceIndex); void moveToWorkspace(int workspaceIndex);
void forceShrink(); void forceShrink();
void requestCenterFrequency(int deviceSetIndex, qint64 frequency); // an action from the user to move device center frequency
}; };

View File

@ -319,6 +319,13 @@ void MainWindow::sampleSourceAdd(Workspace *deviceWorkspace, Workspace *spectrum
[=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); } [=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); }
); );
QObject::connect(
mainSpectrumGUI,
&MainSpectrumGUI::requestCenterFrequency,
this,
&MainWindow::mainSpectrumRequestDeviceCenterFrequency
);
deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI); deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI);
spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI); spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI);
emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI); emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI);
@ -535,6 +542,13 @@ void MainWindow::sampleSinkAdd(Workspace *deviceWorkspace, Workspace *spectrumWo
[=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); } [=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); }
); );
QObject::connect(
mainSpectrumGUI,
&MainSpectrumGUI::requestCenterFrequency,
this,
&MainWindow::mainSpectrumRequestDeviceCenterFrequency
);
deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI); deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI);
spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI); spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI);
emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI); emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI);
@ -2666,6 +2680,19 @@ void MainWindow::mainSpectrumShow(int deviceSetIndex)
deviceUISet->m_mainSpectrumGUI->raise(); deviceUISet->m_mainSpectrumGUI->raise();
} }
void MainWindow::mainSpectrumRequestDeviceCenterFrequency(int deviceSetIndex, qint64 deviceCenterFrequency)
{
DeviceUISet *deviceUISet = m_deviceUIs[deviceSetIndex];
DeviceAPI *deviceAPI = deviceUISet->m_deviceAPI;
if (deviceAPI->getSampleSource()) {
deviceAPI->getSampleSource()->setCenterFrequency(deviceCenterFrequency);
} else if (deviceAPI->getSampleSink()) {
deviceAPI->getSampleSink()->setCenterFrequency(deviceCenterFrequency);
}
// Not implemented for MIMO
}
void MainWindow::showAllChannels(int deviceSetIndex) void MainWindow::showAllChannels(int deviceSetIndex)
{ {
DeviceUISet *deviceUISet = m_deviceUIs[deviceSetIndex]; DeviceUISet *deviceUISet = m_deviceUIs[deviceSetIndex];

View File

@ -207,6 +207,7 @@ private slots:
void deviceMove(DeviceGUI *gui, int wsIndexDestnation); void deviceMove(DeviceGUI *gui, int wsIndexDestnation);
void mainSpectrumMove(MainSpectrumGUI *gui, int wsIndexDestnation); void mainSpectrumMove(MainSpectrumGUI *gui, int wsIndexDestnation);
void mainSpectrumShow(int deviceSetIndex); void mainSpectrumShow(int deviceSetIndex);
void mainSpectrumRequestDeviceCenterFrequency(int deviceSetIndex, qint64 deviceCenterFrequency);
void showAllChannels(int deviceSetIndex); void showAllChannels(int deviceSetIndex);
void openDeviceSetPresetsDialog(QPoint p, DeviceGUI *deviceGUI); void openDeviceSetPresetsDialog(QPoint p, DeviceGUI *deviceGUI);
void commandKeyPressed(Qt::Key key, Qt::KeyboardModifiers keyModifiers, bool release); void commandKeyPressed(Qt::Key key, Qt::KeyboardModifiers keyModifiers, bool release);