[banshee] Improve seek slider behavior with seekable streams
- From: Bertrand Lorentz <blorentz src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] Improve seek slider behavior with seekable streams
- Date: Fri, 7 Aug 2009 14:50:26 +0000 (UTC)
commit e14ad5c734f27c63033e36685ca25ae908b52452
Author: Neil Loknath <neil loknath gmail com>
Date: Thu Aug 6 17:07:06 2009 -0600
Improve seek slider behavior with seekable streams
Prevent the slider from jumping around after moving it while playing a
seekable stream (BGO#591016).
Signed-off-by: Bertrand Lorentz <bertrand lorentz gmail com>
.../Banshee.Gui.Widgets/ConnectedSeekSlider.cs | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs
index c3ae93e..19366d2 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/ConnectedSeekSlider.cs
@@ -140,7 +140,7 @@ namespace Banshee.Gui.Widgets
stream_position_label.StreamState = StreamLabelState.Buffering;
stream_position_label.BufferingProgress = buffering.Progress;
- seek_slider.SetIdle ();
+ seek_slider.Sensitive = false;
break;
case PlayerEvent.StateChange:
switch (((PlayerEventStateChangeArgs)args).Current) {
@@ -179,12 +179,15 @@ namespace Banshee.Gui.Widgets
return;
}
- stream_position_label.StreamState = StreamLabelState.Playing;
Banshee.Collection.TrackInfo track = ServiceManager.PlayerEngine.CurrentTrack;
stream_position_label.IsLive = track == null ? false : track.IsLive;
- stream_position_label.StreamState = StreamLabelState.Playing;
seek_slider.Duration = ServiceManager.PlayerEngine.Length;
- seek_slider.SeekValue = ServiceManager.PlayerEngine.Position;
+
+ if (stream_position_label.StreamState != StreamLabelState.Buffering) {
+ stream_position_label.StreamState = StreamLabelState.Playing;
+ seek_slider.SeekValue = ServiceManager.PlayerEngine.Position;
+ }
+
seek_slider.CanSeek = ServiceManager.PlayerEngine.CanSeek;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]