AC_HEADER_STDC
AC_PROG_LIBTOOL
+PKG_CHECK_MODULES(GLIB, glib-2.0)
+AC_SUBST(GLIB_LIBS)
+AC_SUBST(GLIB_CFLAGS)
+
PKG_CHECK_MODULES(GTK, gtk+-2.0)
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
Source: maemo-tweaks
Priority: optional
Maintainer: Salvatore Iovene <salvatore@iovene.com>
-Build-Depends: debhelper (>= 4.1.0), cdbs, libgtk2.0-dev, libhildon1-dev, libosso-dev
+Build-Depends: debhelper (>= 4.1.0), cdbs, libgtk2.0-dev, libhildon1-dev, libosso-dev, libglib2.0-dev
Standards-Version: 3.6.0
Package: maemo-tweaks
usr/lib/maemo-tweaks/modules/*.so*
+usr/bin/*
$(GTK_LIBS) \
$(HILDON_LIBS)
+bin_PROGRAMS = maemo-tweaks-desktop-save
+maemo_tweaks_desktop_save_SOURCES = maemo-tweaks-desktop-save.c
+maemo_tweaks_desktop_save_LDADD = \
+ $(GLIB_LIBS)
+
* vim:ts=4:sw=4:et:cindent:cino=(0
*/
+#include <stdlib.h>
#include <glib.h>
static gchar *groups[] =
{
GKeyFile *kf;
gint i;
+ GError *error = NULL;
+ gchar *data;
+ gsize size;
if (argc < 2)
{
- return -1;
+ exit (EXIT_FAILURE);;
}
kf = g_key_file_new ();
- g_key_file_load_from_file (kf, TRANSITIONS, G_KEY_FILE_NONE, NULL);
+ if (!g_key_file_load_from_file (kf, TRANSITIONS,
+ G_KEY_FILE_KEEP_COMMENTS |
+ G_KEY_FILE_KEEP_TRANSLATIONS,
+ &error))
+ {
+ g_warning ("Error while reading %s: %s", TRANSITIONS, error->message);
+ g_error_free (error);
+ exit (EXIT_FAILURE);
+ }
+
+ for (i = 0; i < argc - 1; i++)
+ {
+ g_key_file_set_string (kf, groups[i], keys[i], argv[i+1]);
+ }
- for (i = 1; i < argc; i++)
+ data = g_key_file_to_data (kf, &size, &error);
+ if (data == NULL)
{
- g_key_file_set_string (kf, groups[i], keys[i], argv[i]);
+ g_warning ("Error while writing keyfile data.");
+ g_error_free (error);
+ exit (EXIT_FAILURE);
}
+ if (!g_file_set_contents (TRANSITIONS, data, size, &error))
+ {
+ g_warning ("Error writing %s", TRANSITIONS);
+ g_free (data);
+ g_error_free (error);
+ exit (EXIT_FAILURE);
+ }
+
+ g_free (data);
g_key_file_free (kf);
return 0;
static void _save (MaemoTweaksSection *section)
{
- gint active =
- hildon_picker_button_get_active
- (HILDON_PICKER_BUTTON
- (MAEMO_TWEAKS_DESKTOP_SECTION (section)->snap_button));
-
- g_key_file_set_integer (MAEMO_TWEAKS_DESKTOP_SECTION (section)->ini,
- "edit_mode", "snap_grid_size",
- snap_values [active]);
+ gchar *argv[2];
+ gint active;
+
+ active = hildon_picker_button_get_active
+ (HILDON_PICKER_BUTTON (MAEMO_TWEAKS_DESKTOP_SECTION
+ (section)->snap_button));
+
+ argv[0] = g_strdup ("/usr/bin/maemo-tweaks-desktop-save");
+ argv[1] = g_strdup_printf ("%d", snap_values[active]);
+
+ g_spawn_sync ("/home/user", argv, NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL);
+
+ g_free (argv[0]);
+ g_free (argv[1]);
}