[dconf-editor] Make get_min() and get_max() static.



commit 0d028abcf5605175175235fa3ef1278f37363334
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Sun Sep 27 22:33:31 2015 +0200

    Make get_min() and get_max() static.

 editor/dconf-model.vala |   64 +++++++++++++++++++++++-----------------------
 editor/dconf-view.vala  |   14 ++++++----
 2 files changed, 40 insertions(+), 38 deletions(-)
---
diff --git a/editor/dconf-model.vala b/editor/dconf-model.vala
index 2f743b0..e5a5a8f 100644
--- a/editor/dconf-model.vala
+++ b/editor/dconf-model.vala
@@ -76,38 +76,6 @@ public class Key : GLib.Object
         }
     }
 
-    public Variant? get_min()
-    {
-        switch (value.classify ())
-        {
-            case Variant.Class.BYTE:    return new Variant.byte (0);
-            case Variant.Class.INT16:   return new Variant.int16 (int16.MIN);
-            case Variant.Class.UINT16:  return new Variant.uint16 (uint16.MIN);
-            case Variant.Class.INT32:   return new Variant.int32 (int32.MIN);
-            case Variant.Class.UINT32:  return new Variant.uint32 (uint32.MIN);
-            case Variant.Class.INT64:   return new Variant.int64 (int64.MIN);
-            case Variant.Class.UINT64:  return new Variant.uint64 (uint64.MIN);
-            case Variant.Class.DOUBLE:  return new Variant.double (double.MIN);
-            default:                    return null;
-        }
-    }
-
-    public Variant? get_max()
-    {
-        switch (value.classify ())
-        {
-            case Variant.Class.BYTE:    return new Variant.byte (255);
-            case Variant.Class.INT16:   return new Variant.int16 (int16.MAX);
-            case Variant.Class.UINT16:  return new Variant.uint16 (uint16.MAX);
-            case Variant.Class.INT32:   return new Variant.int32 (int32.MAX);
-            case Variant.Class.UINT32:  return new Variant.uint32 (uint32.MAX);
-            case Variant.Class.INT64:   return new Variant.int64 (int64.MAX);
-            case Variant.Class.UINT64:  return new Variant.uint64 (uint64.MAX);
-            case Variant.Class.DOUBLE:  return new Variant.double (double.MAX);
-            default:                    return null;
-        }
-    }
-
     public bool is_default
     {
         get { update_value(); return _value == null; }
@@ -142,6 +110,38 @@ public class Key : GLib.Object
     {
         _value = model.client.read(full_name);
     }
+
+    public static Variant? get_min (string variant_type)
+    {
+        switch (variant_type)
+        {
+            case "y": return new Variant.byte (0);
+            case "n": return new Variant.int16 (int16.MIN);
+            case "q": return new Variant.uint16 (uint16.MIN);
+            case "i": return new Variant.int32 (int32.MIN);
+            case "u": return new Variant.uint32 (uint32.MIN);
+            case "x": return new Variant.int64 (int64.MIN);
+            case "t": return new Variant.uint64 (uint64.MIN);
+            case "d": return new Variant.double (double.MIN);
+            default:  return null;
+        }
+    }
+
+    public static Variant? get_max (string variant_type)
+    {
+        switch (variant_type)
+        {
+            case "y": return new Variant.byte (255);
+            case "n": return new Variant.int16 (int16.MAX);
+            case "q": return new Variant.uint16 (uint16.MAX);
+            case "i": return new Variant.int32 (int32.MAX);
+            case "u": return new Variant.uint32 (uint32.MAX);
+            case "x": return new Variant.int64 (int64.MAX);
+            case "t": return new Variant.uint64 (uint64.MAX);
+            case "d": return new Variant.double (double.MAX);
+            default:  return null;
+        }
+    }
 }
 
 public class Directory : GLib.Object
diff --git a/editor/dconf-view.vala b/editor/dconf-view.vala
index c03d376..55f56f6 100644
--- a/editor/dconf-view.vala
+++ b/editor/dconf-view.vala
@@ -119,8 +119,9 @@ private class KeyEditor : Dialog
                 }
                 else
                 {
-                    min = key.get_min ();
-                    max = key.get_max ();
+                    string variant_type = key.value.get_type_string ();
+                    min = Key.get_min (variant_type);
+                    max = Key.get_max (variant_type);
                 }
                 return _("Integer [%s..%s]").printf (min.print (false), max.print (false));
             case "d":
@@ -132,8 +133,9 @@ private class KeyEditor : Dialog
                 }
                 else
                 {
-                    min = key.get_min ();
-                    max = key.get_max ();
+                    string variant_type = key.value.get_type_string ();
+                    min = Key.get_min (variant_type);
+                    max = Key.get_max (variant_type);
                 }
                 return _("Double [%s..%s]").printf (min.print (false), max.print (false));
             case "b":
@@ -275,8 +277,8 @@ private class KeyEditorChildNumber : Grid, KeyEditorChild
         this.attach (label, 0, 0, 1, 1);
 
         bool has_range = /* key.has_schema && */ key.schema.range != null;
-        double min = get_variant_as_double ((has_range && key.schema.range.min != null) ? 
key.schema.range.min : key.get_min ());
-        double max = get_variant_as_double ((has_range && key.schema.range.max != null) ? 
key.schema.range.max : key.get_max ());
+        double min = get_variant_as_double ((has_range && key.schema.range.min != null) ? 
key.schema.range.min : Key.get_min (key.value.get_type_string ()));
+        double max = get_variant_as_double ((has_range && key.schema.range.max != null) ? 
key.schema.range.max : Key.get_max (key.value.get_type_string ()));
 
         if (key.type_string == "d")
         {


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