Bug 93122

Summary: pressing arrow keys to move the cursor throught the text in documentation window produce side effects
Product: [Applications] umbrello Reporter: Marcos Mayorga <drmay_en>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Marcos Mayorga 2004-11-11 21:46:45 UTC
Version:           1.3.90 (using KDE 3.3.89 (CVS >= 20040820), compiled sources)
Compiler:          gcc version 3.3.4 (Debian 1:3.3.4-13)
OS:                Linux (i686) release 2.6.8.1

In any diagram, with an object selected, if you write text in the documentation window and then you move the cursor with the arrow keys, the object selected in the diagram changes its position in response to the key press, in addition to the expected behaviour.
Comment 1 Marcos Mayorga 2004-11-11 21:52:00 UTC
Only happens when documentation window is attached to the frame (docked).
Comment 2 Oliver Kellogg 2004-12-02 21:43:37 UTC
CVS commit by okellogg: 

handleCursorKeyReleaseEvent(): Require "Alt" + cursorkeys for widget move.
BUG:93122


  M +2 -2      ChangeLog   1.44
  M +29 -29    umbrello/uml.cpp   1.123


--- kdesdk/umbrello/ChangeLog  #1.43:1.44
@@ -7,5 +7,5 @@
 * Ability to directly type into Note
 
-* Move canvas items using the keyboard  
+* Move canvas items using the keyboard (Alt + arrow keys)
         
 * PHP 5 code generator
@@ -19,5 +19,5 @@
 89563 89579 89582 89699 89860 89903       90102 90106 90206
 90755       91298 91433 91494 91869 91922       92116 92123
-92222 92300 92301 92781 92995 93501 93595 93696 94173
+92222 92300 92301 92781 92995 93122 93501 93595 93696 94173
 
 

--- kdesdk/umbrello/umbrello/uml.cpp  #1.122:1.123
@@ -1480,5 +1480,8 @@ void UMLApp::handleCursorKeyReleaseEvent
         // in case we have selected something in the diagram, move it by one pixel
         // to the direction pointed by the cursor key
-        if (m_view && m_view->getSelectCount()) {
+        if (m_view == NULL || !m_view->getSelectCount() || e->state() != Qt::AltButton) {
+                e->ignore();
+                return;
+        }
                 int dx = 0;
                 int dy = 0;
@@ -1508,7 +1511,4 @@ void UMLApp::handleCursorKeyReleaseEvent
                 }
                 e->accept();
-        } else {
-                e->ignore();
-        }
 }