[banshee] Fixed the seek position when dragging the slider (bgo#577047)



commit 9c1dd0f41f6448fad0bc00998f8d337d71868116
Author: Alexander Kojevnikov <alexander kojevnikov com>
Date:   Tue May 12 10:09:14 2009 +1000

    Fixed the seek position when dragging the slider (bgo#577047)
---
 .../Banshee.Widgets/Banshee.Widgets/SeekSlider.cs  |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs b/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs
index cbbac99..f0aef6d 100644
--- a/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs
+++ b/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs
@@ -38,6 +38,7 @@ namespace Banshee.Widgets
         private bool can_seek;
         private bool raise_seek_requested;
         private bool can_set_value;
+        private double pressed_x;
         
         public event EventHandler SeekRequested;
         public event EventHandler DurationChanged;
@@ -59,6 +60,9 @@ namespace Banshee.Widgets
         protected override bool OnButtonPressEvent(Gdk.EventButton evnt)
         {
             can_set_value = false;
+            if (evnt.Button == 1) {
+                pressed_x = evnt.X;
+            }
             return base.OnButtonPressEvent(evnt);
         }
 
@@ -80,7 +84,7 @@ namespace Banshee.Widgets
             }
             
             if (can_seek) {
-                if (evnt.Button == 1) {
+                if (evnt.Button == 1 && Math.Abs (pressed_x - evnt.X) <= 3.0) {
                     SeekValue = (long) (evnt.X / Allocation.Width * Duration); // seek to clicked position
                 }
                 OnSeekRequested();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]