forked from Ivasoft/DSView
fix a bug about textinput value range, and holdoff slider of dso trigger pannel
This commit is contained in:
@@ -466,6 +466,7 @@ void DsoTriggerDock::update_view()
|
||||
|
||||
auto v1 = holdoff * 10.0 / _holdoff_comboBox->currentData().toDouble();
|
||||
_holdoff_spinBox->setValue(v1);
|
||||
_holdoff_slider->setValue(v1);
|
||||
}
|
||||
|
||||
connect(_holdoff_slider, SIGNAL(valueChanged(int)), this, SLOT(hold_changed(int)));
|
||||
|
||||
@@ -98,10 +98,11 @@ void KeyLineEdit::keyPressEvent(QKeyEvent *event)
|
||||
v = _max;
|
||||
}
|
||||
}
|
||||
new_text = QString::number(v);
|
||||
|
||||
if (new_text != old_text){
|
||||
setText(new_text);
|
||||
new_text = QString::number(v);
|
||||
setText(new_text); //Maby need to restore the old value.
|
||||
|
||||
if (new_text != old_text){
|
||||
valueChanged(v);
|
||||
}
|
||||
}
|
||||
@@ -166,6 +167,14 @@ int KeyLineEdit::value()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void KeyLineEdit::setRange(int min, int max)
|
||||
{
|
||||
_max = max;
|
||||
_min = min;
|
||||
_is_spin_mode = true;
|
||||
set_number_mode(true);
|
||||
}
|
||||
|
||||
void KeyLineEdit::set_number_mode(bool isNumberMode)
|
||||
{
|
||||
_is_number_mode = isNumberMode;
|
||||
@@ -383,3 +392,12 @@ void PopupLineEdit::hide()
|
||||
|
||||
QLineEdit::hide();
|
||||
}
|
||||
|
||||
void PopupLineEdit::setRange(int min, int max)
|
||||
{
|
||||
KeyLineEdit::setRange(min, max);
|
||||
|
||||
if (_popup_input != NULL){
|
||||
_popup_input->GetInput()->setRange(min, max);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,18 +61,13 @@ class KeyLineEdit : public QLineEdit
|
||||
public:
|
||||
explicit KeyLineEdit(QWidget *parent = nullptr);
|
||||
explicit KeyLineEdit(const QString &text, QWidget *parent = nullptr);
|
||||
|
||||
inline void setRange(int min, int max){
|
||||
_max = max;
|
||||
_min = min;
|
||||
_is_spin_mode = true;
|
||||
set_number_mode(true);
|
||||
}
|
||||
|
||||
|
||||
inline bool is_number_mode(){
|
||||
return _is_number_mode;
|
||||
}
|
||||
|
||||
virtual void setRange(int min, int max);
|
||||
|
||||
void set_number_mode(bool isNumberMode);
|
||||
|
||||
inline void enable_spin_mode(bool enabled){
|
||||
@@ -147,6 +142,8 @@ public:
|
||||
void show();
|
||||
void hide();
|
||||
|
||||
void setRange(int min, int max) override;
|
||||
|
||||
private slots:
|
||||
void onPopupInputEditEnd(QString text);
|
||||
void onPopupInputValueChanged(int v);
|
||||
|
||||
Reference in New Issue
Block a user