vna.cpp - cosmetic change
siunitedit.cpp - keep text onFocus tracewidget.cpp - invalid index or empty list
This commit is contained in:
parent
53e587b4b8
commit
0e2395cf55
@ -5,6 +5,7 @@
|
|||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
SIUnitEdit::SIUnitEdit(QString unit, QString prefixes, int precision, QWidget *parent)
|
SIUnitEdit::SIUnitEdit(QString unit, QString prefixes, int precision, QWidget *parent)
|
||||||
: QLineEdit(parent)
|
: QLineEdit(parent)
|
||||||
@ -83,6 +84,16 @@ bool SIUnitEdit::eventFilter(QObject *, QEvent *event)
|
|||||||
} else if(event->type() == QEvent::FocusOut) {
|
} else if(event->type() == QEvent::FocusOut) {
|
||||||
parseNewValue(1.0);
|
parseNewValue(1.0);
|
||||||
emit focusLost();
|
emit focusLost();
|
||||||
|
} else if(event->type() == QEvent::FocusIn) {
|
||||||
|
// online found clumsy way to select all text when clicked!?!
|
||||||
|
// just selectAll() alone does _not_ work!
|
||||||
|
QTimer::singleShot(0, this, &QLineEdit::selectAll);
|
||||||
|
/*
|
||||||
|
* However, this widget does not loose focus when clicking on a smith chart from here
|
||||||
|
* At the same time, clicking on x-y plot does loose focus as expected
|
||||||
|
* This behaviour existed before this mod, but it was not obvious due to properties of placeholdertext
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -91,7 +102,8 @@ void SIUnitEdit::setValueQuiet(double value)
|
|||||||
{
|
{
|
||||||
_value = value;
|
_value = value;
|
||||||
clear();
|
clear();
|
||||||
setPlaceholderText(Unit::ToString(value, unit, prefixes, precision));
|
setPlaceholderText(Unit::ToString(value, unit, prefixes, precision)); // didn't remove it because maybe needed elsewhere
|
||||||
|
setText(Unit::ToString(value, unit, prefixes, precision)); // because selectAll() only affects setText() (placeholder text is igonred)
|
||||||
}
|
}
|
||||||
|
|
||||||
void SIUnitEdit::parseNewValue(double factor)
|
void SIUnitEdit::parseNewValue(double factor)
|
||||||
@ -118,7 +130,7 @@ void SIUnitEdit::parseNewValue(double factor)
|
|||||||
} else {
|
} else {
|
||||||
qWarning() << "SIUnit conversion failure:" << input;
|
qWarning() << "SIUnit conversion failure:" << input;
|
||||||
}
|
}
|
||||||
clear();
|
// clear(); // removed due to funny behaviour when clicking repeatedly between start, center, span, stop, but without editing anything
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,11 @@ void TraceWidget::on_add_clicked()
|
|||||||
|
|
||||||
void TraceWidget::on_remove_clicked()
|
void TraceWidget::on_remove_clicked()
|
||||||
{
|
{
|
||||||
model.removeTrace(ui->view->currentIndex().row());
|
QModelIndex index = ui->view->currentIndex();
|
||||||
|
if (index.isValid()) { // if nothing clicked, index.row() = -1
|
||||||
|
model.removeTrace(index.row());
|
||||||
|
// otherwise, TraceModel casts index to unsigned int and compares with traces.size() which is int
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TraceWidget::eventFilter(QObject *, QEvent *event)
|
bool TraceWidget::eventFilter(QObject *, QEvent *event)
|
||||||
|
@ -171,9 +171,10 @@ VNA::VNA(AppWindow *window)
|
|||||||
|
|
||||||
|
|
||||||
// Sweep toolbar
|
// Sweep toolbar
|
||||||
|
int wid = 80; // propose slight reduction, to fit more widgets comfortably
|
||||||
auto tb_sweep = new QToolBar("Sweep");
|
auto tb_sweep = new QToolBar("Sweep");
|
||||||
auto eStart = new SIUnitEdit("Hz", " kMG", 6);
|
auto eStart = new SIUnitEdit("Hz", " kMG", 6);
|
||||||
eStart->setFixedWidth(100);
|
eStart->setFixedWidth(wid);
|
||||||
eStart->setToolTip("Start frequency");
|
eStart->setToolTip("Start frequency");
|
||||||
connect(eStart, &SIUnitEdit::valueChanged, this, &VNA::SetStartFreq);
|
connect(eStart, &SIUnitEdit::valueChanged, this, &VNA::SetStartFreq);
|
||||||
connect(this, &VNA::startFreqChanged, eStart, &SIUnitEdit::setValueQuiet);
|
connect(this, &VNA::startFreqChanged, eStart, &SIUnitEdit::setValueQuiet);
|
||||||
@ -181,7 +182,7 @@ VNA::VNA(AppWindow *window)
|
|||||||
tb_sweep->addWidget(eStart);
|
tb_sweep->addWidget(eStart);
|
||||||
|
|
||||||
auto eCenter = new SIUnitEdit("Hz", " kMG", 6);
|
auto eCenter = new SIUnitEdit("Hz", " kMG", 6);
|
||||||
eCenter->setFixedWidth(100);
|
eCenter->setFixedWidth(wid);
|
||||||
eCenter->setToolTip("Center frequency");
|
eCenter->setToolTip("Center frequency");
|
||||||
connect(eCenter, &SIUnitEdit::valueChanged, this, &VNA::SetCenterFreq);
|
connect(eCenter, &SIUnitEdit::valueChanged, this, &VNA::SetCenterFreq);
|
||||||
connect(this, &VNA::centerFreqChanged, eCenter, &SIUnitEdit::setValueQuiet);
|
connect(this, &VNA::centerFreqChanged, eCenter, &SIUnitEdit::setValueQuiet);
|
||||||
@ -189,7 +190,7 @@ VNA::VNA(AppWindow *window)
|
|||||||
tb_sweep->addWidget(eCenter);
|
tb_sweep->addWidget(eCenter);
|
||||||
|
|
||||||
auto eStop = new SIUnitEdit("Hz", " kMG", 6);
|
auto eStop = new SIUnitEdit("Hz", " kMG", 6);
|
||||||
eStop->setFixedWidth(100);
|
eStop->setFixedWidth(wid);
|
||||||
eStop->setToolTip("Stop frequency");
|
eStop->setToolTip("Stop frequency");
|
||||||
connect(eStop, &SIUnitEdit::valueChanged, this, &VNA::SetStopFreq);
|
connect(eStop, &SIUnitEdit::valueChanged, this, &VNA::SetStopFreq);
|
||||||
connect(this, &VNA::stopFreqChanged, eStop, &SIUnitEdit::setValueQuiet);
|
connect(this, &VNA::stopFreqChanged, eStop, &SIUnitEdit::setValueQuiet);
|
||||||
@ -197,7 +198,7 @@ VNA::VNA(AppWindow *window)
|
|||||||
tb_sweep->addWidget(eStop);
|
tb_sweep->addWidget(eStop);
|
||||||
|
|
||||||
auto eSpan = new SIUnitEdit("Hz", " kMG", 6);
|
auto eSpan = new SIUnitEdit("Hz", " kMG", 6);
|
||||||
eSpan->setFixedWidth(100);
|
eSpan->setFixedWidth(wid);
|
||||||
eSpan->setToolTip("Span");
|
eSpan->setToolTip("Span");
|
||||||
connect(eSpan, &SIUnitEdit::valueChanged, this, &VNA::SetSpan);
|
connect(eSpan, &SIUnitEdit::valueChanged, this, &VNA::SetSpan);
|
||||||
connect(this, &VNA::spanChanged, eSpan, &SIUnitEdit::setValueQuiet);
|
connect(this, &VNA::spanChanged, eSpan, &SIUnitEdit::setValueQuiet);
|
||||||
@ -225,7 +226,7 @@ VNA::VNA(AppWindow *window)
|
|||||||
// Acquisition toolbar
|
// Acquisition toolbar
|
||||||
auto tb_acq = new QToolBar("Acquisition");
|
auto tb_acq = new QToolBar("Acquisition");
|
||||||
auto dbm = new QDoubleSpinBox();
|
auto dbm = new QDoubleSpinBox();
|
||||||
dbm->setFixedWidth(95);
|
dbm->setFixedWidth(80); // propose slight reduction, to fit more widgets when App not maximized
|
||||||
dbm->setRange(-100.0, 100.0);
|
dbm->setRange(-100.0, 100.0);
|
||||||
dbm->setSingleStep(0.25);
|
dbm->setSingleStep(0.25);
|
||||||
dbm->setSuffix("dbm");
|
dbm->setSuffix("dbm");
|
||||||
|
Loading…
Reference in New Issue
Block a user