mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-24 11:12:27 -04:00
Make markers dialog non modal
This commit is contained in:
parent
3e54c92a7e
commit
44b0ef63c8
@ -49,7 +49,8 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) :
|
|||||||
m_spectrumVis(nullptr),
|
m_spectrumVis(nullptr),
|
||||||
m_glSpectrum(nullptr),
|
m_glSpectrum(nullptr),
|
||||||
m_doApplySettings(true),
|
m_doApplySettings(true),
|
||||||
m_calibrationShiftdB(0.0)
|
m_calibrationShiftdB(0.0),
|
||||||
|
m_markersDialog(nullptr)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
@ -99,6 +100,10 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) :
|
|||||||
|
|
||||||
GLSpectrumGUI::~GLSpectrumGUI()
|
GLSpectrumGUI::~GLSpectrumGUI()
|
||||||
{
|
{
|
||||||
|
if (m_markersDialog) {
|
||||||
|
delete m_markersDialog;
|
||||||
|
}
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,11 +452,11 @@ void GLSpectrumGUI::on_markers_clicked(bool checked)
|
|||||||
{
|
{
|
||||||
(void) checked;
|
(void) checked;
|
||||||
|
|
||||||
if (!m_glSpectrum) {
|
if (!m_glSpectrum || m_markersDialog) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SpectrumMarkersDialog markersDialog(
|
m_markersDialog = new SpectrumMarkersDialog(
|
||||||
m_glSpectrum->getHistogramMarkers(),
|
m_glSpectrum->getHistogramMarkers(),
|
||||||
m_glSpectrum->getWaterfallMarkers(),
|
m_glSpectrum->getWaterfallMarkers(),
|
||||||
m_glSpectrum->getAnnotationMarkers(),
|
m_glSpectrum->getAnnotationMarkers(),
|
||||||
@ -460,17 +465,21 @@ void GLSpectrumGUI::on_markers_clicked(bool checked)
|
|||||||
this
|
this
|
||||||
);
|
);
|
||||||
|
|
||||||
markersDialog.setCenterFrequency(m_glSpectrum->getCenterFrequency());
|
m_markersDialog->setCenterFrequency(m_glSpectrum->getCenterFrequency());
|
||||||
markersDialog.setPower(m_glSpectrum->getPowerMax() / 2.0f);
|
m_markersDialog->setPower(m_glSpectrum->getPowerMax() / 2.0f);
|
||||||
markersDialog.setTime(m_glSpectrum->getTimeMax() / 2.0f);
|
m_markersDialog->setTime(m_glSpectrum->getTimeMax() / 2.0f);
|
||||||
|
|
||||||
connect(&markersDialog, SIGNAL(updateHistogram()), this, SLOT(updateHistogramMarkers()));
|
connect(m_markersDialog, SIGNAL(updateHistogram()), this, SLOT(updateHistogramMarkers()));
|
||||||
connect(&markersDialog, SIGNAL(updateWaterfall()), this, SLOT(updateWaterfallMarkers()));
|
connect(m_markersDialog, SIGNAL(updateWaterfall()), this, SLOT(updateWaterfallMarkers()));
|
||||||
connect(&markersDialog, SIGNAL(updateAnnotations()), this, SLOT(updateAnnotationMarkers()));
|
connect(m_markersDialog, SIGNAL(updateAnnotations()), this, SLOT(updateAnnotationMarkers()));
|
||||||
connect(&markersDialog, SIGNAL(updateMarkersDisplay()), this, SLOT(updateMarkersDisplay()));
|
connect(m_markersDialog, SIGNAL(updateMarkersDisplay()), this, SLOT(updateMarkersDisplay()));
|
||||||
|
connect(m_markersDialog, SIGNAL(finished(int)), this, SLOT(closeMarkersDialog()));
|
||||||
|
|
||||||
markersDialog.exec();
|
m_markersDialog->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GLSpectrumGUI::closeMarkersDialog()
|
||||||
|
{
|
||||||
m_settings.m_histogramMarkers = m_glSpectrum->getHistogramMarkers();
|
m_settings.m_histogramMarkers = m_glSpectrum->getHistogramMarkers();
|
||||||
m_settings.m_waterfallMarkers = m_glSpectrum->getWaterfallMarkers();
|
m_settings.m_waterfallMarkers = m_glSpectrum->getWaterfallMarkers();
|
||||||
m_settings.m_annoationMarkers = m_glSpectrum->getAnnotationMarkers();
|
m_settings.m_annoationMarkers = m_glSpectrum->getAnnotationMarkers();
|
||||||
@ -478,6 +487,9 @@ void GLSpectrumGUI::on_markers_clicked(bool checked)
|
|||||||
|
|
||||||
displayGotoMarkers();
|
displayGotoMarkers();
|
||||||
applySettings();
|
applySettings();
|
||||||
|
|
||||||
|
delete m_markersDialog;
|
||||||
|
m_markersDialog = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save spectrum data to a CSV file
|
// Save spectrum data to a CSV file
|
||||||
|
@ -36,6 +36,7 @@ namespace Ui {
|
|||||||
|
|
||||||
class SpectrumVis;
|
class SpectrumVis;
|
||||||
class GLSpectrum;
|
class GLSpectrum;
|
||||||
|
class SpectrumMarkersDialog;
|
||||||
|
|
||||||
class SDRGUI_API GLSpectrumGUI : public QWidget, public Serializable {
|
class SDRGUI_API GLSpectrumGUI : public QWidget, public Serializable {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -72,6 +73,7 @@ private:
|
|||||||
bool m_doApplySettings;
|
bool m_doApplySettings;
|
||||||
Real m_calibrationShiftdB;
|
Real m_calibrationShiftdB;
|
||||||
static const int m_fpsMs[];
|
static const int m_fpsMs[];
|
||||||
|
SpectrumMarkersDialog *m_markersDialog;
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
void applySettings();
|
void applySettings();
|
||||||
@ -135,6 +137,7 @@ private slots:
|
|||||||
void updateMarkersDisplay();
|
void updateMarkersDisplay();
|
||||||
void updateCalibrationPoints();
|
void updateCalibrationPoints();
|
||||||
void updateMeasurements();
|
void updateMeasurements();
|
||||||
|
void closeMarkersDialog();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
// Emitted when user selects an annotation marker
|
// Emitted when user selects an annotation marker
|
||||||
|
Loading…
x
Reference in New Issue
Block a user