[iagno] Use enum for play-as setting.



commit 8228c5b1366e3946e88ccc912305e2cb9aba085f
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Sun Jul 20 18:36:19 2014 +0200

    Use enum for play-as setting.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=733415

 data/org.gnome.iagno.gschema.xml |   10 +++++++---
 src/iagno.vala                   |   18 +++++++++---------
 src/player.vala                  |    4 ++--
 3 files changed, 18 insertions(+), 14 deletions(-)
---
diff --git a/data/org.gnome.iagno.gschema.xml b/data/org.gnome.iagno.gschema.xml
index d4b2bcb..9620006 100644
--- a/data/org.gnome.iagno.gschema.xml
+++ b/data/org.gnome.iagno.gschema.xml
@@ -1,12 +1,16 @@
 <schemalist>
+  <enum id="org.gnome.iagno.PlayAs">
+    <value value="1" nick="first"/>
+    <value value="2" nick="second"/>
+  </enum>
+
   <schema id="org.gnome.iagno" path="/org/gnome/iagno/" gettext-domain="iagno">
     <key name="computer-level" type="i">
       <default>1</default>
       <range min="0" max="3" />
     </key>
-    <key name="play-as" type="i">
-      <default>2</default>
-      <range min="1" max="2" />
+    <key name="play-as" enum="org.gnome.iagno.PlayAs">
+      <default>'first'</default>
     </key>
     <key name="tileset" type="s">
       <default>'black_and_white.svg'</default>
diff --git a/src/iagno.vala b/src/iagno.vala
index 7b217b1..fbd642a 100644
--- a/src/iagno.vala
+++ b/src/iagno.vala
@@ -258,7 +258,7 @@ public class Iagno : Gtk.Application
         else
             computer = null;
 
-        player_one = (settings.get_int ("play-as") == 2) ? Player.DARK : Player.LIGHT;
+        player_one = (settings.get_string ("play-as") == "first") ? Player.DARK : Player.LIGHT;
 
         update_ui ();
 
@@ -467,9 +467,9 @@ public class Iagno : Gtk.Application
     {
         Gtk.TreeIter iter;
         combo.get_active_iter (out iter);
-        int level;
-        combo.model.get (iter, 1, out level);
-        settings.set_int ("play-as", level);
+        string mode;
+        combo.model.get (iter, 1, out mode);
+        settings.set_string ("play-as", mode);
     }
 
     private void sound_select (Gtk.ToggleButton widget)
@@ -565,15 +565,15 @@ public class Iagno : Gtk.Application
         renderer = new Gtk.CellRendererText ();
         color_combo.pack_start (renderer, true);
         color_combo.add_attribute (renderer, "text", 0);
-        model = new Gtk.ListStore (2, typeof (string), typeof (int));
+        model = new Gtk.ListStore (2, typeof (string), typeof (string));
         color_combo.model = model;
         model.append (out iter);
-        model.set (iter, 0, _("Light"), 1, 1);
-        if (settings.get_int ("play-as") == 1)
+        model.set (iter, 0, _("Dark"), 1, "first");
+        if (settings.get_string ("play-as") == "first")
             color_combo.set_active_iter (iter);
         model.append (out iter);
-        model.set (iter, 0, _("Dark"), 1, 2);
-        if (settings.get_int ("play-as") == 2)
+        model.set (iter, 0, _("Light"), 1, "second");
+        if (settings.get_string ("play-as") == "second")
             color_combo.set_active_iter (iter);
         grid.attach (color_combo, 1, 1, 1, 1);
 
diff --git a/src/player.vala b/src/player.vala
index c8ee9e9..4a3bb83 100644
--- a/src/player.vala
+++ b/src/player.vala
@@ -21,8 +21,8 @@
 public enum Player
 {
     NONE,
-    LIGHT,
-    DARK;
+    DARK,
+    LIGHT;
 
     public string to_string ()
     {


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