From 3d513449aa21759d1e310dbdd626dd97c213b924 Mon Sep 17 00:00:00 2001 From: martin-s Date: Fri, 12 Sep 2008 08:47:46 +0000 Subject: [PATCH] Add:gui_internal:Added feature to start browser to view an url git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1383 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/gui/internal/gui_internal.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/navit/navit/gui/internal/gui_internal.c b/navit/navit/gui/internal/gui_internal.c index b791b53..b0669ec 100644 --- a/navit/navit/gui/internal/gui_internal.c +++ b/navit/navit/gui/internal/gui_internal.c @@ -1379,6 +1379,32 @@ gui_internal_cmd_view_attributes(struct gui_priv *this, struct widget *wm) gui_internal_menu_render(this); } +static void +gui_internal_cmd_view_in_browser(struct gui_priv *this, struct widget *wm) +{ + struct widget *w,*wb; + struct map_rect *mr; + struct item *item; + struct attr attr; + char *cmd=NULL; + + dbg(0,"item=%p 0x%x 0x%x\n", wm->item.map,wm->item.id_hi, wm->item.id_lo); + mr=map_rect_new(wm->item.map, NULL); + item = map_rect_get_item_byid(mr, wm->item.id_hi, wm->item.id_lo); + dbg(0,"item=%p\n", item); + if (item) { + while(item_attr_get(item, attr_url_local, &attr)) { + if (! cmd) + cmd=g_strdup_printf("navit-browser.sh '%s' &",attr.u.str); + } + } + map_rect_destroy(mr); + if (cmd) { + system(cmd); + g_free(cmd); + } +} + static void @@ -1423,6 +1449,13 @@ gui_internal_cmd_position(struct gui_priv *this, struct widget *wm) if (item) { if (item_attr_get(item, attr_description, &attr)) gui_internal_widget_append(w, gui_internal_label_new(this, attr.u.str)); + if (item_attr_get(item, attr_url_local, &attr)) { + gui_internal_widget_append(w, + wb=gui_internal_button_new_with_callback(this, "View in Browser", + image_new_xs(this, "gui_active"), gravity_left_center|orientation_horizontal|flags_fill, + gui_internal_cmd_view_in_browser, NULL)); + wb->item=wm->item; + } gui_internal_widget_append(w, wb=gui_internal_button_new_with_callback(this, "View Attributes", image_new_xs(this, "gui_active"), gravity_left_center|orientation_horizontal|flags_fill, -- 2.7.4