X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.cpp;h=dba8c5d0f22aec40deef9ddff35ad64c8fd30f56;hb=f96e7958a6b68c45e722aea764ecc075d0797233;hp=06c1afcd6a045dfd40970fc7fe35cfc11cf2ff64;hpb=868158fe6d39b25e60ac528295b1c908821e4af5;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp b/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp index 06c1afcd6..dba8c5d0f 100644 --- a/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp +++ b/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp @@ -59,7 +59,6 @@ const double PSEUDO_ZERO = 1.e-20; ModuleBase_DoubleSpinBox::ModuleBase_DoubleSpinBox(QWidget* theParent, int thePrecision) : QDoubleSpinBox(theParent), myCleared(false), - //myIsModified(false), myIsEmitKeyPressEvent(false) { // VSR 01/07/2010: Disable thousands separator for spin box @@ -78,8 +77,6 @@ ModuleBase_DoubleSpinBox::ModuleBase_DoubleSpinBox(QWidget* theParent, int thePr connect(lineEdit(), SIGNAL(textChanged( const QString& )), this, SLOT(onTextChanged( const QString& ))); - - //connect(this, SIGNAL(valueChanged(const QString&)), this, SLOT(onValueChanged(const QString&))); } /*! @@ -201,26 +198,40 @@ QString ModuleBase_DoubleSpinBox::removeTrailingZeroes(const QString& src) const return res; } -void ModuleBase_DoubleSpinBox::keyPressEvent(QKeyEvent *theEvent) +void ModuleBase_DoubleSpinBox::keyPressEvent(QKeyEvent* theEvent) { - bool isEmitKeyRelease = false; switch (theEvent->key()) { case Qt::Key_Enter: case Qt::Key_Return: { // do not react to the Enter key, the property panel processes it if (!myIsEmitKeyPressEvent) return; - else - isEmitKeyRelease = true; } break; default: break; } QDoubleSpinBox::keyPressEvent(theEvent); +} - if (isEmitKeyRelease) - emit keyReleased(theEvent); +void ModuleBase_DoubleSpinBox::keyReleaseEvent(QKeyEvent* theEvent) +{ + switch (theEvent->key()) { + case Qt::Key_Enter: + case Qt::Key_Return: { + // the enter has already been processed when key is pressed, + // key release should not be processed in operation manager + if (myIsEmitKeyPressEvent) { + theEvent->accept(); + emit enterReleased(); + return; + } + } + break; + default: + break; + } + QDoubleSpinBox::keyReleaseEvent(theEvent); } /*! @@ -333,24 +344,8 @@ QValidator::State ModuleBase_DoubleSpinBox::validate(QString& str, int& pos) con void ModuleBase_DoubleSpinBox::onTextChanged(const QString& ) { myCleared = false; - //myIsModified = true; -} - -/*void ModuleBase_DoubleSpinBox::onValueChanged(const QString& theValue) -{ - myIsModified = true; } -bool ModuleBase_DoubleSpinBox::isModified() const -{ - return myIsModified; -} - -void ModuleBase_DoubleSpinBox::clearModified() -{ - myIsModified = false; -}*/ - bool ModuleBase_DoubleSpinBox::enableKeyPressEvent(const bool& theEnable) { bool aPreviousValue = myIsEmitKeyPressEvent;