{
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;
(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 *
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;
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));
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
}
-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
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,
g_free (argv[0]);
g_free (argv[1]);
+
+ return TRUE;
}