TechDraw: Section task: Fix spinbox (#20413)
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
This commit is contained in:
@@ -68,17 +68,11 @@ bool CompassWidget::eventFilter(QObject* target, QEvent* event)
|
||||
if (target == dsbAngle) {
|
||||
if (event->type() == QEvent::KeyPress) {
|
||||
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
|
||||
if (keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter) {
|
||||
dsbAngle->interpretText();
|
||||
slotSpinBoxEnter(dsbAngle->rawValue());
|
||||
const auto isEnter = keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter;
|
||||
if (isEnter && dsbAngle->isNormalized()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (event->type() == QEvent::FocusOut) {
|
||||
dsbAngle->interpretText();
|
||||
slotSpinBoxEnter(dsbAngle->rawValue());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return QWidget::eventFilter(target, event);
|
||||
}
|
||||
@@ -133,15 +127,8 @@ void CompassWidget::buildWidget()
|
||||
dsbAngle = new Gui::QuantitySpinBox(this);
|
||||
dsbAngle->setObjectName(QStringLiteral("dsbAngle"));
|
||||
dsbAngle->setUnit(Base::Unit::Angle);
|
||||
sizePolicy2.setHeightForWidth(dsbAngle->sizePolicy().hasHeightForWidth());
|
||||
dsbAngle->setSizePolicy(sizePolicy2);
|
||||
dsbAngle->setMinimumSize(QSize(75, 26));
|
||||
dsbAngle->setMouseTracking(true);
|
||||
dsbAngle->setFocusPolicy(Qt::ClickFocus);
|
||||
dsbAngle->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
dsbAngle->setKeyboardTracking(false);
|
||||
dsbAngle->setMaximum(360.000000000000000);
|
||||
dsbAngle->setMinimum(-360.000000000000000);
|
||||
connect(dsbAngle, QOverload<double>::of(&Gui::QuantitySpinBox::valueChanged),
|
||||
this, &CompassWidget::slotSpinBoxEnter);
|
||||
|
||||
compassControlLayout->addWidget(dsbAngle);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user