banshee r5002 - in trunk/banshee: . libbanshee src/Core/Banshee.Widgets/Banshee.Widgets
- From: gburt svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r5002 - in trunk/banshee: . libbanshee src/Core/Banshee.Widgets/Banshee.Widgets
- Date: Tue, 3 Feb 2009 17:41:52 +0000 (UTC)
Author: gburt
Date: Tue Feb 3 17:41:51 2009
New Revision: 5002
URL: http://svn.gnome.org/viewvc/banshee?rev=5002&view=rev
Log:
2009-02-03 Gabriel Burt <gabriel burt gmail com>
* libbanshee/banshee-player.c:
* src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs: Slightly
modified patch from Moritz SchallabÃck that makes CanSeek always false if
the duration is zero, and that imroves the seek slider by letting you
scroll-wheel over it or left-click to jump (BGO #565795)
Modified:
trunk/banshee/ChangeLog
trunk/banshee/libbanshee/banshee-player.c
trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs
Modified: trunk/banshee/libbanshee/banshee-player.c
==============================================================================
--- trunk/banshee/libbanshee/banshee-player.c (original)
+++ trunk/banshee/libbanshee/banshee-player.c Tue Feb 3 17:41:51 2009
@@ -267,7 +267,7 @@
gst_query_parse_seeking (query, NULL, &can_seek, NULL, NULL);
gst_query_unref (query);
- return can_seek;
+ return can_seek && bp_get_duration (player) > 0;
}
P_INVOKE void
Modified: trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs (original)
+++ trunk/banshee/src/Core/Banshee.Widgets/Banshee.Widgets/SeekSlider.cs Tue Feb 3 17:41:51 2009
@@ -61,7 +61,16 @@
can_set_value = false;
return base.OnButtonPressEvent(evnt);
}
-
+
+ protected override bool OnScrollEvent(Gdk.EventScroll evnt) {
+ if (can_seek) {
+ SeekValue += (evnt.Direction.Equals (Gdk.ScrollDirection.Down) ? -1 : 1) * 10000; // skip 10s
+ OnSeekRequested();
+ }
+
+ return base.OnScrollEvent (evnt);
+ }
+
protected override bool OnButtonReleaseEvent(Gdk.EventButton evnt)
{
can_set_value = true;
@@ -70,7 +79,12 @@
GLib.Source.Remove(timeout);
}
- OnSeekRequested();
+ if (can_seek) {
+ if (evnt.Button == 1) {
+ SeekValue = (long) (evnt.X / WidthRequest * Duration); // seek to clicked position
+ }
+ OnSeekRequested();
+ }
return base.OnButtonReleaseEvent(evnt);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]