X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_DoubleSpinBox.cpp;h=851a74834d659b00d26f77acbe345396c217c0d6;hb=8cd56d486b6e96b8814002f9f0f4acadd6cea11b;hp=06c1afcd6a045dfd40970fc7fe35cfc11cf2ff64;hpb=cbde248859fb0072f6012907391ea90cfc254574;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp b/src/ModuleBase/ModuleBase_DoubleSpinBox.cpp index 06c1afcd6..851a74834 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,7 +198,7 @@ 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()) { @@ -220,7 +217,27 @@ void ModuleBase_DoubleSpinBox::keyPressEvent(QKeyEvent *theEvent) QDoubleSpinBox::keyPressEvent(theEvent); if (isEmitKeyRelease) - emit keyReleased(theEvent); + emit enterPressed(); +} + +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 +350,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;