--- maemo-mapper-1.0.1-aw-0.2/maemo-mapper.c 2006-06-15 01:17:47.000000000 +0200 +++ maemo-mapper-1.0.1-aw-0.3/maemo-mapper.c 2006-06-15 01:36:54.000000000 +0200 @@ -538,6 +538,7 @@ static GtkWidget *_menu_fullscreen_item = NULL; static GtkWidget *_menu_enable_gps_item = NULL; static GtkWidget *_menu_settings_item = NULL; +static GtkWidget *_menu_toggle_settings_item = NULL; static GtkWidget *_menu_close_item = NULL; /** BANNERS. */ @@ -662,6 +663,8 @@ static gboolean menu_cb_settings(GtkAction *action); +static gboolean +menu_cb_toggle_settings(GtkAction *action); static gint map_download_cb_async(GnomeVFSAsyncHandle *handle, @@ -2361,6 +2364,9 @@ gtk_menu_append(main_menu, _menu_settings_item = gtk_menu_item_new_with_label("Settings...")); + gtk_menu_append(main_menu, _menu_toggle_settings_item + = gtk_menu_item_new_with_label("Toggle settings")); + gtk_menu_append(main_menu, gtk_separator_menu_item_new()); gtk_menu_append(main_menu, _menu_close_item @@ -2414,6 +2420,8 @@ G_CALLBACK(menu_cb_auto_download), NULL); g_signal_connect(G_OBJECT(_menu_settings_item), "activate", G_CALLBACK(menu_cb_settings), NULL); + g_signal_connect(G_OBJECT(_menu_toggle_settings_item), "activate", + G_CALLBACK(menu_cb_toggle_settings), NULL); g_signal_connect(G_OBJECT(_menu_close_item), "activate", G_CALLBACK(gtk_main_quit), NULL); @@ -5429,6 +5437,49 @@ } static gboolean +menu_cb_toggle_settings(GtkAction *action) +{ + printf("%s()\n", __PRETTY_FUNCTION__); + + + if (_map_setting == 2) { + printf("setting 1\n"); + _map_setting = 1; + if(strlen(_map_uri_format_1)) + _map_uri_format = g_strdup(_map_uri_format_1); + else + _map_uri_format = NULL; + if(strlen(_map_dir_name_1)) + _map_dir_name = g_strdup(_map_dir_name_1); + else + _map_dir_name = NULL; + } + else { + printf("setting 2\n"); + _map_setting = 2; + if(strlen(_map_uri_format_2)) + _map_uri_format = g_strdup(_map_uri_format_2); + else + _map_uri_format = NULL; + if(strlen(_map_dir_name_2)) + _map_dir_name = g_strdup(_map_dir_name_2); + else + _map_dir_name = NULL; + } + + if(!config_set_map_dir_name(gnome_vfs_expand_initial_tilde(_map_dir_name))) { + popup_error("Could not create Map Cache directory."); + } + + map_force_redraw(); + /* config_save(); */ + + vprintf("%s(): return\n", __PRETTY_FUNCTION__); + return TRUE; +} + + +static gboolean map_download_idle_refresh(ProgressUpdateInfo *pui) { vprintf("%s(%p)\n", __PRETTY_FUNCTION__, pui);