2
0
forked from Ivasoft/DSView

fix a bug about textinput value range, and holdoff slider of dso trigger pannel

This commit is contained in:
dreamsourcelabTAI
2024-04-24 15:17:48 +08:00
parent a946081cd5
commit 8d8559250c
3 changed files with 27 additions and 11 deletions

View File

@@ -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)));

View File

@@ -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);
}
}

View File

@@ -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);