]> err.no Git - mapper/blobdiff - src/ui-common.c
Map widget:
[mapper] / src / ui-common.c
index f065fc90bda057218fed5bea32bcf50e2a621742..d4ca92d827991638ed3f48f9a2a999e6dcc06241 100644 (file)
@@ -23,7 +23,9 @@
 
 #include "utils.h"
 #include "poi.h"
+#include "path.h"
 #include "route.h"
+#include "track.h"
 #include "settings.h"
 #include "gps.h"
 #include "map.h"
@@ -50,7 +52,6 @@
 #define WINDOW_SIZE_Y 480
 
 static GtkWidget *menu_bar;
-static GtkWidget *toolbar;
 GtkWidget *_fix_banner=NULL;
 
 static GtkActionGroup *actions;
@@ -160,6 +161,8 @@ static const gchar *mapper_ui =
 "      <separator/>"
 "      <menuitem action='view_fullscreen'/>"
 "      <separator/>"
+"      <menuitem action='view_toolbar'/>"
+"      <separator/>"
 "      <menu action='view_items'>"
 "       <menuitem action='view_scale'/>"
 "       <menuitem action='view_route'/>"
@@ -301,6 +304,7 @@ static GtkToggleActionEntry ui_toggle_entries[] = {
 #else
        {"view_fullscreen", NULL, N_("Fullscreen"), "F11", NULL, G_CALLBACK(cb_fullscreen), FALSE},
 #endif
+       {"view_toolbar", NULL, N_("Toolbar"), NULL, NULL, G_CALLBACK(menu_cb_view_toolbar), FALSE},
        {"view_scale", NULL, N_("Scale"), NULL, NULL, G_CALLBACK(menu_cb_show_scale), TRUE},
        {"view_route", NULL, N_("Route"), NULL, NULL, G_CALLBACK(menu_cb_show_routes), TRUE},
        {"view_track", NULL, N_("Track"), NULL, NULL, G_CALLBACK(menu_cb_show_tracks), TRUE},
@@ -629,8 +633,8 @@ if (!gtk_ui_manager_add_ui_from_string (ui, mapper_ui, -1, &error)) {
 menu_bar = gtk_ui_manager_get_widget (ui, "/MenuBar");
 g_assert(menu_bar);
 
-toolbar = gtk_ui_manager_get_widget (ui, "/ToolBar");
-g_assert(toolbar);
+_toolbar = gtk_ui_manager_get_widget (ui, "/ToolBar");
+g_assert(_toolbar);
 
 /* Toolbar progress item */
 item=gtk_tool_item_new();
@@ -639,7 +643,7 @@ gtk_tool_item_set_expand(item, TRUE);
 gtk_progress_bar_set_ellipsize(_progress_item, PANGO_ELLIPSIZE_END);
 gtk_progress_bar_set_pulse_step(_progress_item, 0.2);
 gtk_container_add(item, _progress_item);
-gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
+gtk_toolbar_insert(GTK_TOOLBAR(_toolbar), item, -1);
 
 /* Notebook with different views */
 notebook = gtk_notebook_new();
@@ -672,12 +676,12 @@ gtk_box_pack_start(GTK_BOX(vbox_main), GTK_WIDGET(info_banner.container), FALSE,
        gtk_container_foreach(GTK_CONTAINER(menu_bar), (GtkCallback)gtk_widget_reparent, hmenu);
        hildon_window_set_menu(HILDON_WINDOW(_window), hmenu);
 }
-hildon_window_add_toolbar(_window, GTK_TOOLBAR(toolbar));
-gtk_widget_show_all(GTK_WIDGET(toolbar));
+hildon_window_add_toolbar(_window, GTK_TOOLBAR(_toolbar));
+gtk_widget_show_all(GTK_WIDGET(_toolbar));
 #else
 _status_bar = gtk_statusbar_new();
 gtk_box_pack_start(GTK_BOX(vbox_main), menu_bar, FALSE, FALSE, 0);
-gtk_box_pack_start(GTK_BOX(vbox_main), toolbar, FALSE, FALSE, 0);
+gtk_box_pack_start(GTK_BOX(vbox_main), _toolbar, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(vbox_main), notebook, TRUE, TRUE, 0);
 gtk_box_pack_start(GTK_BOX(vbox_main), info_banner.container, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(vbox_main), _status_bar, FALSE, FALSE, 0);
@@ -699,6 +703,10 @@ ui_notebook.map=gtk_notebook_append_page(notebook, mapvbox, label);
 _map_widget = map_new();
 gtk_paned_add2(GTK_PANED(hbox), _map_widget);
 
+#ifndef WITH_DEVICE_770
+map_set_cache_size(256);
+#endif
+
 /* GPS Tab */
 vbox = gtk_vbox_new(FALSE, 0);
 label = gtk_label_new("Gps");
@@ -752,7 +760,6 @@ ui_notebook.audio=gtk_notebook_append_page(notebook, an_ui->vbox, label);
 menu_maps_add_repos();
 menu_init_cmenu();
 
-_last_spoken_phrase = g_strdup("");
 memset(&_autoroute_data, 0, sizeof(_autoroute_data));
 
 g_signal_connect(G_OBJECT(_window), "delete_event", G_CALLBACK(mapper_cb_quit), NULL);
@@ -774,6 +781,8 @@ set_action_sensitive("autocenter_lead", _enable_gps);
 
 set_action_activate("gps_information", _gps_info);
 
+set_action_activate("view_toolbar", TRUE);
+
 set_action_activate("view_scale", _show_scale);
 set_action_activate("view_vector", _show_velvec);
 set_action_activate("view_poi", _show_poi);
@@ -792,6 +801,8 @@ g_signal_connect(G_OBJECT(_window), "key_release_event", G_CALLBACK(window_cb_ke
 gtk_idle_add((GSourceFunc)window_present, NULL);
 }
 
+/******* XXX: Move these !! *******/
+
 gboolean
 gps_info_update(Gps *gps)
 {
@@ -819,9 +830,10 @@ gps_location_update(Gps *gps)
 {
 g_assert(gps);
 if (filter_check(&filter, &gps->data, &map_loc)==TRUE) {
-       if (track_add(&_gps->data)) {
-               route_check_waypoint_announce(&_gps->data);
-               route_autoroute_check();
+       if (track_add(_track, &_gps->data)) {
+               KEEP_DISPLAY_ON();
+               route_check_waypoint_announce(_route, &_gps->data);
+               route_autoroute_check(_route);
        }
        map_refresh_mark();
 }