Salome HOME
Issue #18096(Tuleap): Make property panel controls on a scroll panel based
[modules/shaper.git] / src / XGUI / XGUI_OperationMgr.cpp
index 1110d1b8d9bfefdf774a7a27d713328e3be88db5..f159dd4b5f4bc086dd509b611c3911148626e51b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #include "XGUI_OperationMgr.h"
@@ -95,13 +94,7 @@ public:
       else if (theEvent->type() == QEvent::KeyPress) {
         QKeyEvent* aKeyEvent = dynamic_cast<QKeyEvent*>(theEvent);
         myOperationMgr->setSHIFTPressed(aKeyEvent->modifiers() & Qt::ShiftModifier);
-        switch (aKeyEvent->key()) {
-          case Qt::Key_Escape:
-            isAccepted = myOperationMgr->onKeyPressed(theObject, aKeyEvent);
-          break;
-          default:
-            break;
-        }
+        isAccepted = myOperationMgr->onKeyPressed(theObject, aKeyEvent);
       }
     }
     if (!isAccepted)
@@ -644,9 +637,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:
@@ -684,12 +678,17 @@ 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;
         }
       }
-    }
-    break;
-    break;
-    default:
+      }
+      break;
+   case Qt::Key_H:
+     if ((theEvent->modifiers() == Qt::NoModifier))
+      myWorkshop->viewer()->hideSelectionHighlight();
+     break;
+   default:
       isAccepted = false;
       break;
   }
@@ -742,6 +741,10 @@ bool XGUI_OperationMgr::onKeyPressed(QObject *theObject, QKeyEvent* theEvent)
       }
     }
     break;
+    case Qt::Key_H:
+      if ((theEvent->modifiers() == Qt::NoModifier))
+        myWorkshop->viewer()->showSelectionHighlight();
+      break;
   }
   return isAccepted;
 }