]> git.sesse.net Git - vlc/commitdiff
* Fixed support of wheel for playlist with GTK2
authorEmmanuel Puig <karibu@videolan.org>
Sun, 20 Apr 2003 15:00:19 +0000 (15:00 +0000)
committerEmmanuel Puig <karibu@videolan.org>
Sun, 20 Apr 2003 15:00:19 +0000 (15:00 +0000)
* Added support of whell for slider with GTK2

modules/gui/skins/controls/playlist.cpp
modules/gui/skins/controls/slider.cpp
modules/gui/skins/controls/slider.h
modules/gui/skins/gtk2/gtk2_window.cpp
modules/gui/skins/src/window.cpp

index 114f006c583162e8807481f4cad6e565ebcc0aef..fe38445131721c151ee07cf5784a7fbcaf842ff4 100644 (file)
@@ -2,7 +2,7 @@
  * playlist.cpp: Playlist control
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: playlist.cpp,v 1.4 2003/04/20 13:14:14 asmax Exp $
+ * $Id: playlist.cpp,v 1.5 2003/04/20 15:00:19 karibu Exp $
  *
  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
  *          Emmanuel Puig    <karibu@via.ecp.fr>
@@ -456,6 +456,9 @@ bool ControlPlayList::MouseScroll( int x, int y, int direction )
     if( !Enabled )
         return false;
 
+    if( !TextClipRgn->Hit( x - Left, y - Top ) && !Slider->MouseOver( x, y ) )
+        return false;
+
     //long pos = Slider->GetCursorPosition();
     long pos = StartIndex;
 fprintf(stderr," scroll %d %d\n", pos, StartIndex);
index 803a62f8a2e9dd05af1bdd4acf381221ca1152eb..03393772402681be081fdcfbd56c62be80cad08e 100644 (file)
@@ -2,7 +2,7 @@
  * slider.cpp: Slider control
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: slider.cpp,v 1.5 2003/04/17 10:53:00 karibu Exp $
+ * $Id: slider.cpp,v 1.6 2003/04/20 15:00:19 karibu Exp $
  *
  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
  *          Emmanuel Puig    <karibu@via.ecp.fr>
@@ -315,6 +315,28 @@ bool ControlSlider::MouseOver( int x, int y )
         return false;
 }
 //---------------------------------------------------------------------------
+bool ControlSlider::MouseScroll( int x, int y, int direction )
+{
+    if( !Enabled || !MouseOver( x, y ) )
+        return false;
+
+    int val = Value;
+
+    switch( direction )
+    {
+        case MOUSE_SCROLL_DOWN:
+            if( val > 0 ) val--;
+            break;
+
+        case MOUSE_SCROLL_UP:
+            if( val < MaxValue ) val++;
+            break;
+    }
+
+    MoveCursor( val );
+    return true;
+}
+//---------------------------------------------------------------------------
 bool ControlSlider::ToolTipTest( int x, int y )
 {
     if( MouseOver( x, y ) )
index f206f0878d8dfa76718aae7b4ae2f306e2635e26..7177c99d77d3f8813692483c1355c786df902dd8 100644 (file)
@@ -2,7 +2,7 @@
  * slider.h: Slider control
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: slider.h,v 1.2 2003/04/20 13:14:14 asmax Exp $
+ * $Id: slider.h,v 1.3 2003/04/20 15:00:19 karibu Exp $
  *
  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
  *          Emmanuel Puig    <karibu@via.ecp.fr>
@@ -95,6 +95,7 @@ class ControlSlider : public GenericControl
         virtual bool MouseMove( int x, int y, int button );
         virtual bool MouseOver( int x, int y );
         virtual bool ToolTipTest( int x, int y );
+        virtual bool MouseScroll( int x, int y, int direction );
 
         // Slider calls
         void SetCursorPosition( long Pos );
index e204408bb1ad88d973f90b13b93da949d19d3a0d..3836a0afe562bb4967408854ef1b1e112ae9fda8 100644 (file)
@@ -2,7 +2,7 @@
  * gtk2_window.cpp: GTK2 implementation of the Window class
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: gtk2_window.cpp,v 1.23 2003/04/20 13:14:14 asmax Exp $
+ * $Id: gtk2_window.cpp,v 1.24 2003/04/20 15:00:19 karibu Exp $
  *
  * Authors: Cyril Deguet     <asmax@videolan.org>
  *
@@ -240,7 +240,7 @@ bool GTK2Window::ProcessOSEvent( Event *evt )
         case GDK_DROP_START:
             DropObject->HandleDropStart( ( (GdkEventDND *)p2 )->context );
             return true;
-            
+
         case GDK_SCROLL:
             switch( ( (GdkEventScroll *)p2 )->direction )
             {
@@ -256,7 +256,7 @@ bool GTK2Window::ProcessOSEvent( Event *evt )
                     break;
             }
             return true;
-            
+
         default:
             return false;
     }
index 6b5a5012fb3c3457af3b3eaa5f518270a18d29e8..63487c604f4909e54307ebcffd49f49062bb71d0 100644 (file)
@@ -2,7 +2,7 @@
  * window.cpp: Window class
  *****************************************************************************
  * Copyright (C) 2003 VideoLAN
- * $Id: window.cpp,v 1.17 2003/04/20 13:14:14 asmax Exp $
+ * $Id: window.cpp,v 1.18 2003/04/20 15:00:19 karibu Exp $
  *
  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
  *          Emmanuel Puig    <karibu@via.ecp.fr>
@@ -405,7 +405,7 @@ void Window::MouseDblClick( int x, int y, int button )
 }
 //---------------------------------------------------------------------------
 void Window::MouseScroll( int x, int y, int direction )
-{    
+{
     // Checking event in controls
     for( int i = ControlList.size() - 1; i >= 0 ; i-- )
     {