]> err.no Git - mapper/commitdiff
Keep zoom level if already close when going to Home location.
authorKaj-Michael Lang <milang@tal.org>
Sat, 15 Mar 2008 12:42:58 +0000 (14:42 +0200)
committerKaj-Michael Lang <milang@tal.org>
Sat, 15 Mar 2008 12:42:58 +0000 (14:42 +0200)
src/cb.c
src/map.c
src/map.h

index c5989b6000c8916a741f7e258e09d14c7a68256f..7e561e4f291eae905bd027c093dc4d22ae354dda 100644 (file)
--- a/src/cb.c
+++ b/src/cb.c
@@ -302,7 +302,8 @@ menu_cb_goto_home(GtkAction *action)
 if (map_goto_position(&_home)==FALSE) {
        MACRO_BANNER_SHOW_INFO(_window, _("Home not set."));
 } else {
-       map_set_zoom(3);
+       if (map_get_zoom()>3)
+               map_set_zoom(3);
        MACRO_BANNER_SHOW_INFO(_window, _("At home location"));
 }
 return TRUE;
index b390fe3239f5f9ec0316c053d5cb1267e85394cb..a4bfd83483e2ca573421b8de4526080bb67db81f 100644 (file)
--- a/src/map.c
+++ b/src/map.c
@@ -521,6 +521,12 @@ map_render_data();
 MACRO_QUEUE_DRAW_AREA();
 }
 
+guint
+map_get_zoom(void)
+{
+return _zoom;
+}
+
 /**
  * Set the current zoom level.  If the given zoom level is the same as the
  * current zoom level, or if the new zoom is invalid
index c2cc8ad702375db1834962699c67f9e371df69d8..aa0e7ba1be94cbceed78800f448a7608d1c8bc79 100644 (file)
--- a/src/map.h
+++ b/src/map.h
@@ -190,6 +190,9 @@ GtkWidget *map_new(void);
 gboolean map_key_zoom_timeout();
 
 int map_zoom(gint zdir);
+guint map_get_zoom(void);
+void map_set_zoom(guint zoom);
+
 gboolean map_zoom_in(void);
 gboolean map_zoom_out(void);
 void map_set_autozoom(gboolean az, gfloat speed);