[mythtv] [PATCH] Mythmusic - Persistent settings

mian mythtv at mian.net.au
Tue Mar 2 02:36:09 EST 2004


This is just a quick patch to make the shuffle and repeat modes persistent
so you don't have to keep re-setting them whenever you go into Music.

--
Damian
-------------- next part --------------
--- work-orig/mythmusic/mythmusic/playbackbox.cpp	2004-03-02 16:58:12.000000000 +1030
+++ work/mythmusic/mythmusic/playbackbox.cpp	2004-03-02 17:57:59.858013136 +1030
@@ -82,13 +82,21 @@
     
     // Figure out the shuffle mode
 
-    QString playmode = gContext->GetSetting("PlayMode");
+    QString playmode = gContext->GetSetting("PlayMode", "none");
     if (playmode.lower() == "random")
         setShuffleMode(SHUFFLE_RANDOM);
     else if (playmode.lower() == "intelligent")
         setShuffleMode(SHUFFLE_INTELLIGENT);
     else
         setShuffleMode(SHUFFLE_OFF);
+ 
+    QString repeatmode = gContext->GetSetting("RepeatMode", "all");
+    if (repeatmode.lower() == "track")
+        setRepeatMode(REPEAT_TRACK);
+    else if (repeatmode.lower() == "all")
+        setRepeatMode(REPEAT_ALL);
+    else
+        setRepeatMode(REPEAT_OFF);
 
     // Set some button values
     
@@ -132,8 +140,6 @@
             SLOT(checkForPlaylists()));
     waiting_for_playlists_timer->start(100);
 
-    setRepeatMode(REPEAT_ALL);
-    
     // Warm up the visualizer
     
     mainvisual = new MainVisual(this);
@@ -858,6 +864,7 @@
     switch (shufflemode)
     {
         case SHUFFLE_INTELLIGENT:
+            gContext->SaveSetting("PlayMode", "intelligent");
             if(shuffle_button)
             {
                 if (keyboard_accelerators)
@@ -868,6 +875,7 @@
             music_tree_list->scrambleParents(true);
             break;
         case SHUFFLE_RANDOM:
+            gContext->SaveSetting("PlayMode", "random");
             if(shuffle_button)
             {
                 if (keyboard_accelerators)
@@ -878,6 +886,7 @@
             music_tree_list->scrambleParents(true);
             break;
         default:
+            gContext->SaveSetting("PlayMode", "none");
             if(shuffle_button)
             {
                 if (keyboard_accelerators)
@@ -934,6 +943,13 @@
 {
     repeatmode = mode;
 
+    if (repeatmode == REPEAT_TRACK)
+        gContext->SaveSetting("RepeatMode", "track");
+    else if (repeatmode == REPEAT_ALL)
+        gContext->SaveSetting("RepeatMode", "all");
+    else
+        gContext->SaveSetting("RepeatMode", "none");
+
     if (!repeat_button)
         return;
 


More information about the mythtv-dev mailing list