[banshee] PlaybackController: Add TogggleRepeat/Shuffle funcs



commit 56b4c7507a7dd0617a8596ccbef80dc8866c7758
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Mon Feb 14 09:54:20 2011 -0600

    PlaybackController: Add TogggleRepeat/Shuffle funcs

 .../PlaybackControllerService.cs                   |   22 ++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
index 8dfb9fc..4fe49fb 100644
--- a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
+++ b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
@@ -515,6 +515,17 @@ namespace Banshee.PlaybackController
             }
         }
 
+        string prev_shuffle;
+        public void ToggleShuffle ()
+        {
+            if (ShuffleMode == "off") {
+                ShuffleMode = prev_shuffle ?? "song";
+            } else {
+                prev_shuffle = ShuffleMode;
+                ShuffleMode = "off";
+            }
+        }
+
         public PlaybackRepeatMode RepeatMode {
             get { return repeat_mode; }
             set {
@@ -526,6 +537,17 @@ namespace Banshee.PlaybackController
             }
         }
 
+        PlaybackRepeatMode? prev_repeat;
+        public void ToggleRepeat ()
+        {
+            if (RepeatMode == PlaybackRepeatMode.None) {
+                RepeatMode = prev_repeat != null ? prev_repeat.Value : PlaybackRepeatMode.RepeatAll;
+            } else {
+                prev_repeat = RepeatMode;
+                RepeatMode = PlaybackRepeatMode.None;
+            }
+        }
+
         public bool StopWhenFinished {
             get { return stop_when_finished; }
             set { stop_when_finished = value; }



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