[TD]fix KB lockout in dialogs

- valueChanged signal is emitted for every keystroke
  causing multiple recomputes for every change of
  parameter.
This commit is contained in:
wandererfan
2020-04-15 09:53:27 -04:00
committed by WandererFan
parent 94a704972d
commit b0b0b77d65
2 changed files with 29 additions and 21 deletions

View File

@@ -176,12 +176,13 @@ void TaskSectionView::setUiPrimary()
this->setToolTip(QObject::tr("Select at first an orientation"));
enableAll(false);
// now connect and not earlier to avoid premature apply() calls
connect(ui->leSymbol, SIGNAL(textChanged(QString)), this, SLOT(onIdentifierChanged()));
connect(ui->sbScale, SIGNAL(valueChanged(double)), this, SLOT(onScaleChanged()));
connect(ui->sbOrgX, SIGNAL(valueChanged(double)), this, SLOT(onXChanged()));
connect(ui->sbOrgY, SIGNAL(valueChanged(double)), this, SLOT(onYChanged()));
connect(ui->sbOrgZ, SIGNAL(valueChanged(double)), this, SLOT(onZChanged()));
//use editingFinished signal instead of valueChanged to prevent keyboard lock out
//valueChanged fires every keystroke causing a recompute.
connect(ui->leSymbol, SIGNAL(editingFinished()), this, SLOT(onIdentifierChanged()));
connect(ui->sbScale, SIGNAL(editingFinished()), this, SLOT(onScaleChanged()));
connect(ui->sbOrgX, SIGNAL(editingFinished()), this, SLOT(onXChanged()));
connect(ui->sbOrgY, SIGNAL(editingFinished()), this, SLOT(onYChanged()));
connect(ui->sbOrgZ, SIGNAL(editingFinished()), this, SLOT(onZChanged()));
}
void TaskSectionView::setUiEdit()
@@ -206,12 +207,13 @@ void TaskSectionView::setUiEdit()
ui->sbOrgZ->setUnit(Base::Unit::Length);
ui->sbOrgZ->setValue(origin.z);
// connect affter initializing the object values
connect(ui->leSymbol, SIGNAL(textChanged(QString)), this, SLOT(onIdentifierChanged()));
connect(ui->sbScale, SIGNAL(valueChanged(double)), this, SLOT(onScaleChanged()));
connect(ui->sbOrgX, SIGNAL(valueChanged(double)), this, SLOT(onXChanged()));
connect(ui->sbOrgY, SIGNAL(valueChanged(double)), this, SLOT(onYChanged()));
connect(ui->sbOrgZ, SIGNAL(valueChanged(double)), this, SLOT(onZChanged()));
//use editingFinished signal instead of valueChanged to prevent keyboard lock out
//valueChanged fires every keystroke causing a recompute.
connect(ui->leSymbol, SIGNAL(editingFinished()), this, SLOT(onIdentifierChanged()));
connect(ui->sbScale, SIGNAL(editingFinished()), this, SLOT(onScaleChanged()));
connect(ui->sbOrgX, SIGNAL(editingFinished()), this, SLOT(onXChanged()));
connect(ui->sbOrgY, SIGNAL(editingFinished()), this, SLOT(onYChanged()));
connect(ui->sbOrgZ, SIGNAL(editingFinished()), this, SLOT(onZChanged()));
}
//save the start conditions