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

pull/1309/head
f4exb 2022-06-24 22:52:17 +02:00
rodzic 1638814647
commit f95d0e43c7
4 zmienionych plików z 30 dodań i 3 usunięć

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -319,6 +319,13 @@ void MainWindow::sampleSourceAdd(Workspace *deviceWorkspace, Workspace *spectrum
[=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); }
);
QObject::connect(
mainSpectrumGUI,
&MainSpectrumGUI::requestCenterFrequency,
this,
&MainWindow::mainSpectrumRequestDeviceCenterFrequency
);
deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI);
spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI);
emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI);
@ -535,6 +542,13 @@ void MainWindow::sampleSinkAdd(Workspace *deviceWorkspace, Workspace *spectrumWo
[=](int channelPluginIndex){ this->channelAddClicked(deviceWorkspace, deviceSetIndex, channelPluginIndex); }
);
QObject::connect(
mainSpectrumGUI,
&MainSpectrumGUI::requestCenterFrequency,
this,
&MainWindow::mainSpectrumRequestDeviceCenterFrequency
);
deviceWorkspace->addToMdiArea(m_deviceUIs.back()->m_deviceGUI);
spectrumWorkspace->addToMdiArea(m_deviceUIs.back()->m_mainSpectrumGUI);
emit m_mainCore->deviceSetAdded(deviceSetIndex, deviceAPI);
@ -2666,6 +2680,19 @@ void MainWindow::mainSpectrumShow(int deviceSetIndex)
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)
{
DeviceUISet *deviceUISet = m_deviceUIs[deviceSetIndex];

Wyświetl plik

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