Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / XGUI / XGUI_OperationMgr.cpp
index 80b540a2443e5272a339af7125e1712e5747d1bb..33a411c0b37e71c5543947846c338dbaa24be69e 100644 (file)
@@ -68,8 +68,7 @@ bool XGUI_OperationMgr::eventFilter(QObject *theObject, QEvent *theEvent)
 {
   if (theEvent->type() == QEvent::KeyRelease) {
     QKeyEvent* aKeyEvent = dynamic_cast<QKeyEvent*>(theEvent);
-    if(aKeyEvent) {
-      onKeyReleased(aKeyEvent);
+    if(aKeyEvent && onKeyReleased(aKeyEvent)) {
       return true;
     }
   }
@@ -84,10 +83,8 @@ bool XGUI_OperationMgr::startOperation(ModuleBase_Operation* theOperation)
   myOperations.append(theOperation);
 
   connect(theOperation, SIGNAL(stopped()), this, SLOT(onOperationStopped()));
-  connect(theOperation, SIGNAL(started()), this, SIGNAL(operationStarted()));
+  connect(theOperation, SIGNAL(started()), this, SLOT(onOperationStarted()));
   connect(theOperation, SIGNAL(resumed()), this, SIGNAL(operationResumed()));
-  connect(theOperation, SIGNAL(activateNextWidget(ModuleBase_ModelWidget*)), this,
-          SIGNAL(activateNextWidget(ModuleBase_ModelWidget*)));
 
   theOperation->start();
   onValidateOperation();
@@ -188,6 +185,12 @@ bool XGUI_OperationMgr::canAbortOperation()
   return true;
 }
 
+void XGUI_OperationMgr::onOperationStarted()
+{
+  ModuleBase_Operation* aSenderOperation = dynamic_cast<ModuleBase_Operation*>(sender());
+  emit operationStarted(aSenderOperation);
+}
+
 void XGUI_OperationMgr::onOperationStopped()
 {
   ModuleBase_Operation* aSenderOperation = dynamic_cast<ModuleBase_Operation*>(sender());
@@ -217,11 +220,11 @@ void XGUI_OperationMgr::onOperationStopped()
   }
 }
 
-void XGUI_OperationMgr::onKeyReleased(QKeyEvent* theEvent)
+bool XGUI_OperationMgr::onKeyReleased(QKeyEvent* theEvent)
 {
   // Let the manager decide what to do with the given key combination.
   ModuleBase_Operation* anOperation = currentOperation();
-  bool isRestart = false;
+  bool isAccepted = true;
   switch (theEvent->key()) {
     case Qt::Key_Escape: {
       onAbortOperation();
@@ -229,22 +232,16 @@ void XGUI_OperationMgr::onKeyReleased(QKeyEvent* theEvent)
       break;
     case Qt::Key_Return:
     case Qt::Key_Enter: {
-      if(anOperation) {
-         anOperation->activateNextToCurrentWidget();
-      }
       commitOperation();
     }
       break;
     default:
+      isAccepted = false;
       break;
   }
-  if(anOperation)
+  if(anOperation) {
     anOperation->keyReleased(theEvent->key());
+  }
+  return isAccepted;
 }
 
-void XGUI_OperationMgr::onWidgetActivated(ModuleBase_ModelWidget* theWidget)
-{
-  ModuleBase_Operation* anOperation = currentOperation();
-  if (anOperation)
-    anOperation->onWidgetActivated(theWidget);
-}