Fix:gui_internal:Deactivate current vehicle if position is set manually
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 6 May 2012 16:21:07 +0000 (16:21 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 6 May 2012 16:21:07 +0000 (16:21 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@5084 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/gui/internal/gui_internal.c

index b15bf7c..16ac2b6 100644 (file)
@@ -2210,6 +2210,10 @@ gui_internal_cmd_set_destination(struct gui_priv *this, struct widget *wm, void
 static void
 gui_internal_cmd_set_position(struct gui_priv *this, struct widget *wm, void *data)
 {
+       struct attr v;
+       v.type=attr_vehicle;
+       v.u.vehicle=NULL;
+       navit_set_attr(this->nav, &v);
        navit_set_position(this->nav, &wm->c);
        gui_internal_prune_menu(this, NULL);
 }
@@ -3743,9 +3747,14 @@ gui_internal_cmd_position_do(struct gui_priv *this, struct pcoord *pc_in, struct
                wbc->c=pc;
        }
        if (flags & 16) {
+               const char *text=_("Set as position");
+               struct attr vehicle;
+               if (navit_get_attr(this->nav, attr_vehicle, &vehicle, NULL) && vehicle.u.vehicle) 
+                       text=_("Set as position (and deactivate vehicle)");
+
                gui_internal_widget_append(wtable,row=gui_internal_widget_table_row_new(this,gravity_left|orientation_horizontal|flags_fill));
                gui_internal_widget_append(row,
-                       wbc=gui_internal_button_new_with_callback(this, _("Set as position"),
+                       wbc=gui_internal_button_new_with_callback(this, text,
                        image_new_xs(this, "gui_active"), gravity_left_center|orientation_horizontal|flags_fill,
                        gui_internal_cmd_set_position, wm));
                wbc->c=pc;