#include "azimuth-gconf.h"
static GtkWidget* button_enabled = NULL;
+static GtkWidget* button_blur = NULL;
+static GtkWidget* button_start_gps = NULL;
static GConfClient *gconf_client;
static void
active = hildon_check_button_get_active (button);
if (active)
- /* TODO: unblur other widgets */
- g_debug ("Publishing position is enabled");
+ {
+ gtk_widget_set_sensitive (button_blur, TRUE);
+ gtk_widget_set_sensitive (button_start_gps, TRUE);
+ }
else
- /* TODO: blur other widgets */
- g_debug ("Publishing position is disabled");
+ {
+ gtk_widget_set_sensitive (button_blur, FALSE);
+ gtk_widget_set_sensitive (button_start_gps, FALSE);
+ }
+}
+
+static GtkWidget*
+azimuth_create_check_button (const gchar *text,
+ GCallback cb,
+ const gchar *gconf_key)
+{
+ GtkWidget *b;
+ gboolean checked;
+
+ b = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT |
+ HILDON_SIZE_AUTO_WIDTH);
+ gtk_button_set_label (GTK_BUTTON (b), text);
+ if (cb != NULL)
+ g_signal_connect (b, "toggled", cb, NULL);
+ checked = gconf_client_get_bool (gconf_client, gconf_key,
+ NULL);
+ hildon_check_button_set_active (HILDON_CHECK_BUTTON (b), checked);
+
+ return b;
}
static GtkWidget*
{
GtkWidget *dialog;
GtkWidget *bSave;
- gboolean enabled;
dialog = g_object_new (GTK_TYPE_DIALOG,
"transient-for", GTK_WINDOW (window),
dgettext ("hildon-libs", "wdgt_bd_save"),
GTK_RESPONSE_OK);
- button_enabled = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT |
- HILDON_SIZE_AUTO_WIDTH);
- gtk_button_set_label (GTK_BUTTON (button_enabled),
- "Publish position when GPS is running");
- g_signal_connect (button_enabled, "toggled", G_CALLBACK (enabled_toggled),
- NULL);
- enabled = gconf_client_get_bool (gconf_client, AZIMUTH_GCONF_KEY_ENABLED,
- NULL);
- hildon_check_button_set_active (HILDON_CHECK_BUTTON (button_enabled),
- enabled);
+ button_blur = azimuth_create_check_button (
+ "Truncate your position", NULL, AZIMUTH_GCONF_KEY_BLUR);
+ button_start_gps = azimuth_create_check_button (
+ "Start GPS (drain battery)", NULL, AZIMUTH_GCONF_KEY_START_GPS);
- gtk_box_pack_end (GTK_BOX (GTK_DIALOG(dialog)->vbox), button_enabled, FALSE,
- FALSE, 0);
+ button_enabled = azimuth_create_check_button (
+ "Publish position when GPS is running", G_CALLBACK (enabled_toggled),
+ AZIMUTH_GCONF_KEY_ENABLED);
+ enabled_toggled (HILDON_CHECK_BUTTON (button_enabled), NULL);
+
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), button_enabled,
+ FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), button_blur,
+ FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), button_start_gps,
+ FALSE, FALSE, 0);
gtk_widget_show_all (dialog);
save (void)
{
gboolean enabled;
+ gboolean blur;
+ gboolean start_gps;
enabled = hildon_check_button_get_active (HILDON_CHECK_BUTTON (
button_enabled));
+ blur = hildon_check_button_get_active (HILDON_CHECK_BUTTON (
+ button_blur));
+ start_gps = hildon_check_button_get_active (HILDON_CHECK_BUTTON (
+ button_start_gps));
+
gconf_client_set_bool (gconf_client, AZIMUTH_GCONF_KEY_ENABLED, enabled,
NULL);
+ gconf_client_set_bool (gconf_client, AZIMUTH_GCONF_KEY_BLUR, blur,
+ NULL);
+ gconf_client_set_bool (gconf_client, AZIMUTH_GCONF_KEY_START_GPS, start_gps,
+ NULL);
}
osso_return_t