Style the buttons correctly.
[tweakr] / modules / maemo-tweaks-desktop.c
index 8019573..7a39a01 100644 (file)
@@ -31,20 +31,23 @@ enum
 {
     SNAP_NONE,
     SNAP_SMALL,
-    SNAP_LARGE
+    SNAP_LARGE,
+    SNAP_HUGE
 };
 
 enum
 {
     SNAP_NONE_VALUE,
     SNAP_SMALL_VALUE = 8,
-    SNAP_LARGE_VALUE = 16
+    SNAP_LARGE_VALUE = 16,
+    SNAP_HUGE_VALUE = 32
 };
 
 static gint snap_values [] = {
     SNAP_NONE_VALUE,
     SNAP_SMALL_VALUE,
-    SNAP_LARGE_VALUE
+    SNAP_LARGE_VALUE,
+    SNAP_HUGE_VALUE
 };
 
 typedef struct _MaemoTweaksDesktopSection MaemoTweaksDesktopSection;
@@ -72,7 +75,8 @@ static void maemo_tweaks_desktop_section_init
     (MaemoTweaksDesktopSection *section);
 static void maemo_tweaks_desktop_section_dispose (GObject *obj);
 
-static void _save (MaemoTweaksSection *section);
+static gboolean _save (MaemoTweaksSection *section,
+                       gboolean *requires_restart);
 
 static GType maemo_tweaks_desktop_section_type = 0;
 static MaemoTweaksSectionClass *
@@ -136,7 +140,7 @@ maemo_tweaks_desktop_section_class_init
 
 GtkWidget * _build_snap_to_grid (void)
 {
-    const gchar *options[] = {"None", "Small grid", "Large grid", NULL};
+    const gchar *options[] = {"No", "Small", "Large", "Huge", NULL};
     gint i = 0;
     GtkWidget *button, *selector;
 
@@ -149,9 +153,10 @@ GtkWidget * _build_snap_to_grid (void)
 
     button = hildon_picker_button_new (HILDON_SIZE_AUTO,
                                        HILDON_BUTTON_ARRANGEMENT_VERTICAL);
+    hildon_gtk_widget_set_theme_size (button, HILDON_SIZE_FINGER_HEIGHT);
 
     hildon_button_set_title (HILDON_BUTTON (button),
-                             "Snap desktop icons to grid");
+                             "Snap icons to grid");
     gtk_button_set_alignment (GTK_BUTTON (button), 0.0f, 0.5f);
     hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
                                        HILDON_TOUCH_SELECTOR (selector));
@@ -191,17 +196,24 @@ maemo_tweaks_desktop_section_init (MaemoTweaksDesktopSection *section)
         hildon_picker_button_set_active
             (HILDON_PICKER_BUTTON (section->snap_button), SNAP_SMALL);
     }
-    else
+    else if (snap_value < SNAP_HUGE_VALUE)
     {
         hildon_picker_button_set_active
             (HILDON_PICKER_BUTTON (section->snap_button), SNAP_LARGE);
     }
+    else
+    {
+        hildon_picker_button_set_active
+            (HILDON_PICKER_BUTTON (section->snap_button), SNAP_HUGE);
+    }
+
 
 
     iface = MAEMO_TWEAKS_SECTION (section);
+    iface->name = "Desktop";
     iface->widget = gtk_vbox_new (FALSE, 0);
     gtk_box_pack_start (GTK_BOX (iface->widget), section->snap_button,
-                        TRUE, TRUE, 0);
+                        FALSE, FALSE, 0);
 }
 
 static void
@@ -219,9 +231,10 @@ maemo_tweaks_desktop_section_dispose (GObject *obj)
 }
 
 
-static void _save (MaemoTweaksSection *section)
+static gboolean  _save (MaemoTweaksSection *section,
+                        gboolean *requires_restart)
 {
-    gchar *argv[2];
+    gchar *argv[3];
     gint active;
 
     active = hildon_picker_button_get_active
@@ -230,6 +243,7 @@ static void _save (MaemoTweaksSection *section)
 
     argv[0] = g_strdup ("/usr/bin/maemo-tweaks-desktop-save");
     argv[1] = g_strdup_printf ("%d", snap_values[active]);
+    argv[2] = NULL;
 
     g_spawn_sync ("/home/user", argv, NULL,
                   G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
@@ -237,5 +251,7 @@ static void _save (MaemoTweaksSection *section)
 
     g_free (argv[0]);
     g_free (argv[1]);
+
+    return TRUE;
 }