--- 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);

