From c1bfb37a44eff29f4ffb0c0219f8d74abd3b6bc1 Mon Sep 17 00:00:00 2001 From: horwitz Date: Wed, 2 Jan 2008 19:31:17 +0000 Subject: [PATCH] Fix:Gtk:Set ToggleActions acording to attributes. git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@690 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/src/gui/gtk/gui_gtk_action.c | 22 ++++++++++++++++++++++ navit/src/navit.c | 3 +++ 2 files changed, 25 insertions(+) diff --git a/navit/src/gui/gtk/gui_gtk_action.c b/navit/src/gui/gtk/gui_gtk_action.c index 3b14067..bd49aef 100644 --- a/navit/src/gui/gtk/gui_gtk_action.c +++ b/navit/src/gui/gtk/gui_gtk_action.c @@ -4,6 +4,8 @@ #include "gui_gtk.h" #include "menu.h" #include "coord.h" +#include "item.h" +#include "attr.h" #include "callback.h" #include "debug.h" #include "destination.h" @@ -493,6 +495,8 @@ gui_gtk_ui_new (struct gui_priv *this, struct menu_methods *meth, char *path, in struct menu_priv *ret; GError *error; GtkWidget *widget; + struct attr attr; + GtkToggleAction *toggle_action; *meth=menu_methods; ret=g_new0(struct menu_priv, 1); @@ -519,6 +523,24 @@ gui_gtk_ui_new (struct gui_priv *this, struct menu_methods *meth, char *path, in g_message ("building menus failed: %s", error->message); g_error_free (error); } + if (navit_get_attr(this->nav, attr_cursor, &attr)) { + toggle_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(this->base_group, "CursorAction")); + gtk_toggle_action_set_active(toggle_action, attr.u.num); + } else { + dbg(0, "Unable to locate CursorAction\n"); + } + if (navit_get_attr(this->nav, attr_orientation, &attr)) { + toggle_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(this->base_group, "OrientationAction")); + gtk_toggle_action_set_active(toggle_action, attr.u.num); + } else { + dbg(0, "Unable to locate OrientationAction\n"); + } + if (navit_get_attr(this->nav, attr_tracking, &attr)) { + toggle_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(this->base_group, "TrackingAction")); + gtk_toggle_action_set_active(toggle_action, attr.u.num); + } else { + dbg(0, "Unable to locate TrackingAction\n"); + } } widget=gtk_ui_manager_get_widget(this->menu_manager, path); GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS); diff --git a/navit/src/navit.c b/navit/src/navit.c index c28f211..58026be 100644 --- a/navit/src/navit.c +++ b/navit/src/navit.c @@ -1182,7 +1182,10 @@ navit_toggle_orient_north(struct navit *this_) } } transform_set_angle(this_->trans, dir); +#if 0 + /* FIXME check if we are ready for this. */ navit_draw(this_); +#endif } int -- 2.7.4