Salome HOME
Fix for the issue #2753 : error when dump/load script
[modules/shaper.git] / src / XGUI / XGUI_OperationMgr.cpp
index 224e1c40e50945fbce1929b54ed377c0efd2cacd..a5f5b1bd6b26a758b39986debe0336583d23c17e 100644 (file)
@@ -343,15 +343,16 @@ bool XGUI_OperationMgr::canStopOperation(ModuleBase_Operation* theOperation,
   if (isGrantedOperation(theOperation->id()))
     return true;
   if (theOperation && theOperation->isModified()) {
+    QString aTitle = theOperation->getDescription()->description();
     if (theMessageKind == XGUI_AbortOperationMessage) {
-      QString aMessage = tr("%1 operation will be aborted.").arg(theOperation->id());
+      QString aMessage = tr("%1 operation will be aborted.").arg(aTitle);
       myActiveMessageBox = createMessageBox(aMessage);
       bool aResult = myActiveMessageBox->exec() == QMessageBox::Ok;
       myActiveMessageBox = 0;
       return aResult;
     }
     else if (theMessageKind == XGUI_InformationMessage) {
-      QString aMessage = tr("Please validate your %1 before saving.").arg(theOperation->id());
+      QString aMessage = tr("Please validate your %1 before saving.").arg(aTitle);
       myActiveMessageBox = createInformationBox(aMessage);
       myActiveMessageBox->exec();
       myActiveMessageBox = 0;
@@ -432,9 +433,10 @@ bool XGUI_OperationMgr::canStartOperation(const QString& theId, bool& isCommitte
 
 void XGUI_OperationMgr::stopOperation(ModuleBase_Operation* theOperation, bool& isCommitted)
 {
-  if (XGUI_Tools::workshop(myWorkshop)->errorMgr()->isApplyEnabled() && theOperation->isModified())
+  if (XGUI_Tools::workshop(myWorkshop)->errorMgr()->isApplyEnabled() &&
+      theOperation->isModified()) {
     isCommitted = theOperation->commit();
-  else {
+  else {
     isCommitted = false;
     abortOperation(theOperation);
   }
@@ -549,6 +551,8 @@ void XGUI_OperationMgr::onBeforeOperationAborted()
 void XGUI_OperationMgr::onOperationAborted()
 {
   ModuleBase_Operation* aSenderOperation = dynamic_cast<ModuleBase_Operation*>(sender());
+  XGUI_Workshop* aWorkshop = XGUI_Tools::workshop(myWorkshop);
+  aWorkshop->setStatusBarMessage("");
   emit operationAborted(aSenderOperation);
 }
 
@@ -640,9 +644,10 @@ void XGUI_OperationMgr::onOperationStopped()
 
 bool XGUI_OperationMgr::onKeyReleased(QObject *theObject, QKeyEvent* theEvent)
 {
+  bool isAccepted = false;
+
   // Let the manager decide what to do with the given key combination.
   ModuleBase_Operation* anOperation = currentOperation();
-  bool isAccepted = false;
   switch (theEvent->key()) {
     case Qt::Key_Tab:
     case Qt::Key_Backtab:
@@ -680,6 +685,8 @@ bool XGUI_OperationMgr::onKeyReleased(QObject *theObject, QKeyEvent* theEvent)
             aContext->HilightNextDetected(aView);
           else if ((theEvent->key() == Qt::Key_P))
             aContext->HilightPreviousDetected(aView);
+          aViewer->updateHighlight();
+          isAccepted = true;
         }
       }
     }