[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeplayground-edu/kdissert/src/kdissert/canvasview
From:       Thomas Nagy <tnagyemail-mail () yahoo ! fr>
Date:       2005-05-01 12:41:48
Message-ID: 20050501124148.6D5E2669 () office ! kde ! org
[Download RAW message or body]

CVS commit by tnagy: 

The mouse middle button can be used to connect objects. Looks good.


  M +19 -1     DCanvasView.cpp   1.4
  M +5 -2      DCanvasView.h   1.2


--- kdeplayground-edu/kdissert/src/kdissert/canvasview/DCanvasView.cpp  #1.3:1.4
@@ -49,4 +49,5 @@ DCanvasView::DCanvasView(QWidget* parent
         m_multiSelect   = false;
         m_ctrlIsPressed = false;
+        m_wheelpressed  = false;
 
         m_menu          = NULL;
@@ -163,5 +164,15 @@ void DCanvasView::contentsMousePressEven
 
         if (me->button() == LeftButton)
+        {
+                m_pressed = true;
+        }
+        else if (me->button() == MidButton)
+        {
                 m_pressed = true;
+                m_wheelpressed = true;
+                m_wheelpressed_backup = m_currentAction;
+
+                setActionType(act_link);
+        }
 
         m_moveStart = p;
@@ -195,5 +206,5 @@ void DCanvasView::contentsMousePressEven
         if (newitem == DItem::NOITEM) m_canSelect = true;
 
-        if (me->button() == LeftButton)
+        if (me->button() == LeftButton || me->button() == MidButton)
         {
                 if (act_point == m_currentAction)
@@ -589,4 +600,11 @@ void DCanvasView::contentsMouseReleaseEv
         }
 
+        if (m_wheelpressed)
+        {
+                m_wheelpressed = false;
+                setActionType(m_wheelpressed_backup);
+        }
+
+        
         if (oneItemIsSelected()) dataTree()->setItemSelected( m_selectedList[0], this );
         else dataTree()->setItemSelected( DItem::NOITEM, this );

--- kdeplayground-edu/kdissert/src/kdissert/canvasview/DCanvasView.h  #1.1:1.2
@@ -152,5 +152,4 @@ class DCanvasView : public QCanvasView, 
 
                 ActionType m_currentAction;
-                ActionType m_previousAction;
 
                 void addItemToSelection( int );
@@ -170,7 +169,11 @@ class DCanvasView : public QCanvasView, 
                 void updateObjLinks( int obj );
 
-                // is the mouse left button currently pressed ?
+                /// is the mouse left button currently pressed ?
                 bool m_pressed;
 
+                /// mouse wheel is pressed
+                bool m_wheelpressed;
+                DCanvasView::ActionType m_wheelpressed_backup;
+
                 /// the user is trying to select multiple items with the shift key (multiselect)
                 bool m_multiSelect;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic