diff --git a/sdrbase/gui/glscopenggui.cpp b/sdrbase/gui/glscopenggui.cpp index 8299a8ab8..30f76c44e 100644 --- a/sdrbase/gui/glscopenggui.cpp +++ b/sdrbase/gui/glscopenggui.cpp @@ -36,6 +36,7 @@ GLScopeNGGUI::GLScopeNGGUI(QWidget* parent) : qDebug("GLScopeNGGUI::GLScopeNGGUI"); setEnabled(false); ui->setupUi(this); + ui->trigDelayFine->setMaximum(ScopeVisNG::m_traceChunkSize / 10.0); } GLScopeNGGUI::~GLScopeNGGUI() @@ -255,6 +256,8 @@ void GLScopeNGGUI::on_traceLen_valueChanged(int value) setTraceLenDisplay(); setTimeScaleDisplay(); setTimeOfsDisplay(); + setTrigDelayDisplay(); + setTrigPreDisplay(); } void GLScopeNGGUI::on_trig_valueChanged(int value) @@ -608,7 +611,7 @@ void GLScopeNGGUI::setTrigLevelDisplay() void GLScopeNGGUI::setTrigDelayDisplay() { - double delayMult = ui->trigDelayCoarse->value() + ui->trigDelayFine->value() / 100.0; + double delayMult = ui->trigDelayCoarse->value() + ui->trigDelayFine->value() / (ScopeVisNG::m_traceChunkSize / 10.0); unsigned int n_samples_delay = m_traceLenMult * ScopeVisNG::m_traceChunkSize * delayMult; if (n_samples_delay < 1000) { @@ -625,13 +628,13 @@ void GLScopeNGGUI::setTrigDelayDisplay() double t = (n_samples_delay * 1.0f / m_sampleRate); if(t < 0.000001) - ui->trigDelayText->setText(tr("%1\nns").arg(t * 1000000000.0)); + ui->trigDelayText->setText(tr("%1\nns").arg(t * 1000000000.0, 0, 'f', 1)); else if(t < 0.001) - ui->trigDelayText->setText(tr("%1\nµs").arg(t * 1000000.0)); + ui->trigDelayText->setText(tr("%1\nµs").arg(t * 1000000.0, 0, 'f', 1)); else if(t < 1.0) - ui->trigDelayText->setText(tr("%1\nms").arg(t * 1000.0)); + ui->trigDelayText->setText(tr("%1\nms").arg(t * 1000.0, 0, 'f', 1)); else - ui->trigDelayText->setText(tr("%1\ns").arg(t * 1.0)); + ui->trigDelayText->setText(tr("%1\ns").arg(t * 1.0, 0, 'f', 1)); } void GLScopeNGGUI::setTrigPreDisplay() @@ -698,7 +701,7 @@ void GLScopeNGGUI::fillTriggerData(ScopeVisNG::TriggerData& triggerData) triggerData.m_triggerPositiveEdge = ui->trigPos->isChecked(); triggerData.m_triggerBothEdges = ui->trigBoth->isChecked(); triggerData.m_triggerRepeat = ui->trigCount->value(); - triggerData.m_triggerDelayMult = ui->trigDelayCoarse->value() + ui->trigDelayFine->value() / 100.0; + triggerData.m_triggerDelayMult = ui->trigDelayCoarse->value() + ui->trigDelayFine->value() / (ScopeVisNG::m_traceChunkSize / 10.0); triggerData.m_triggerDelay = (int) (m_traceLenMult * ScopeVisNG::m_traceChunkSize * triggerData.m_triggerDelayMult); triggerData.m_triggerDelayCoarse = ui->trigDelayCoarse->value(); triggerData.m_triggerDelayFine = ui->trigDelayFine->value(); diff --git a/sdrbase/gui/glscopenggui.ui b/sdrbase/gui/glscopenggui.ui index 21168a026..4d3e96299 100644 --- a/sdrbase/gui/glscopenggui.ui +++ b/sdrbase/gui/glscopenggui.ui @@ -1424,7 +1424,7 @@ kS/s Trigger delay fine (trace length divider) - 100 + 480 1