Added right click context menu to waterfall for easily setting filter parameters

This commit is contained in:
Jordan Sherer 2019-12-17 11:25:42 -05:00
parent 0bcfdfef04
commit c269d96bed
2 changed files with 39 additions and 0 deletions

View File

@ -93,6 +93,10 @@ public:
void setVHF(bool bVHF);
void setRedFile(QString fRed);
bool scaleOK () const {return m_bScaleOK;}
int frequencyAt(int x){ return int(FreqfromX(x)); }
signals:
void freezeDecode1(int n);
void setFreq1(int rxFreq, int txFreq);

View File

@ -55,6 +55,41 @@ WideGraph::WideGraph(QSettings * settings, QWidget *parent) :
ui->widePlot->setMaximumHeight(800);
ui->widePlot->setCurrent(false);
ui->widePlot->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui->widePlot, &CPlotter::customContextMenuRequested, this, [this](const QPoint &pos){
auto menu = new QMenu(this);
int f = ui->widePlot->frequencyAt(pos.x());
auto offsetAction = menu->addAction(QString("Set &Offset to %1").arg(f));
connect(offsetAction, &QAction::triggered, this, [this, f](){
ui->offsetSpinBox->setValue(f);
});
menu->addSeparator();
if(m_filterEnabled){
auto disableAction = menu->addAction(QString("&Disable Filter"));
connect(disableAction, &QAction::triggered, this, [this](){
ui->filterCheckBox->setChecked(false);
});
}
auto minAction = menu->addAction(QString("Set Filter &Minimum to %1").arg(f));
connect(minAction, &QAction::triggered, this, [this, f](){
ui->filterMinSpinBox->setValue(f);
ui->filterCheckBox->setChecked(true);
});
auto maxAction = menu->addAction(QString("Set Filter Ma&ximum to %1").arg(f));
connect(maxAction, &QAction::triggered, this, [this, f](){
ui->filterMaxSpinBox->setValue(f);
ui->filterCheckBox->setChecked(true);
});
menu->popup(ui->widePlot->mapToGlobal(pos));
});
connect(ui->widePlot, SIGNAL(freezeDecode1(int)),this,
SLOT(wideFreezeDecode(int)));