From: Thomas Thurman Date: Mon, 31 Aug 2009 23:00:51 +0000 (-0400) Subject: basic settings system; currently does nothing X-Git-Url: https://vcs.maemo.org/git/?p=belltower;a=commitdiff_plain;h=171e1ff96df08f46acfbbd7486a6c385cf010ab8 basic settings system; currently does nothing --- diff --git a/belltower.c b/belltower.c index 802d5d3..dfcc66d 100644 --- a/belltower.c +++ b/belltower.c @@ -19,6 +19,8 @@ #define MAX_FIELDS 50 #define MAX_RECENT 5 #define CONFIG_GENERAL_GROUP "General" +#define CONFIG_DISTANCES_KEY "Distances" +#define CONFIG_TOWERSORT_KEY "Towersort" #define CONFIG_BOOKMARK_GROUP "Bookmarks" #define CONFIG_RECENT_GROUP "Recent" #define CONFIG_SEEN_CREDITS_KEY "seen_credits" @@ -32,6 +34,43 @@ */ #define MANY_BELLTOWERS 10 +char *distances_settings[] = { + CONFIG_DISTANCES_KEY, + "Distances are measured in...", + "Miles", + "Kilometres", + NULL +}; + +char *towersort_settings[] = { + CONFIG_TOWERSORT_KEY, + "Towers are sorted by...", + "Name of town", + "Distance from you", + "Days until practice night", + "Weight of tenor", + NULL +}; + +char **settings[] = { + distances_settings, + towersort_settings +}; + +gint settings_value[G_N_ELEMENTS (settings)] = { 0, }; + +typedef enum { + DISTANCES_MILES, + DISTANCES_KILOMETRES +} DistancesSetting; + +typedef enum { + TOWERSORT_TOWN, + TOWERSORT_DISTANCE, + TOWERSORT_PRACTICE, + TOWERSORT_WEIGHT +} TowersortSetting; + GtkWidget *window; LocationGPSDevice *device; GKeyFile *static_content; @@ -121,6 +160,8 @@ show_message (char *message) static void load_config (void) { + gint i; + static_content = g_key_file_new (); if (!g_key_file_load_from_file (static_content, @@ -137,6 +178,33 @@ load_config (void) CONFIG_FILENAME, G_KEY_FILE_KEEP_COMMENTS, NULL); + + for (i=0; ivbox), + button, + TRUE, TRUE, 0); + } + + gtk_widget_show_all (GTK_WIDGET (dialog)); + gtk_dialog_run (GTK_DIALOG (dialog)); + + for (i=0; idata; + gint *indices = gtk_tree_path_get_indices (path); + + g_key_file_set_string (config, + CONFIG_GENERAL_GROUP, + settings[i][0], + hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector[i]))); + + settings_value[i] = *indices; + } + save_config (); + + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + int main(int argc, char **argv) { @@ -1317,6 +1443,7 @@ main(int argc, char **argv) add_button ("Bookmarks", show_bookmarks); add_button ("By area", towers_by_area); add_button ("Search", tower_search); + add_button ("(temp) settings", settings_dialogue); /* extra buttons for the app menu */ button = gtk_button_new_with_label ("Credits");