Diff of /trunk/src/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 227 by harbaum, Tue Jul 14 19:07:25 2009 UTC revision 231 by harbaum, Thu Jul 16 19:56:39 2009 UTC
# Line 649  void menu_create(appdata_t *appdata) { Line 649  void menu_create(appdata_t *appdata) {
649    );    );
650  #endif  #endif
651    
652    #if !defined(ZOOM_BUTTONS) || !defined(USE_HILDON)
653    menu_append_new_item(    menu_append_new_item(
654      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_zoomin), _("Zoom _in"),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_zoomin), _("Zoom _in"),
655      GTK_STOCK_ZOOM_IN, "<OSM2Go-Main>/View/ZoomIn",      GTK_STOCK_ZOOM_IN, "<OSM2Go-Main>/View/ZoomIn",
# Line 660  void menu_create(appdata_t *appdata) { Line 661  void menu_create(appdata_t *appdata) {
661      GTK_STOCK_ZOOM_OUT, "<OSM2Go-Main>/View/ZoomOut",      GTK_STOCK_ZOOM_OUT, "<OSM2Go-Main>/View/ZoomOut",
662      GDK_period, GDK_CONTROL_MASK, TRUE, FALSE, FALSE      GDK_period, GDK_CONTROL_MASK, TRUE, FALSE, FALSE
663    );    );
664    #endif
665    
666    gtk_menu_shell_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());    gtk_menu_shell_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());
667    
# Line 951  static GtkWidget *app_menu_create(appdat Line 953  static GtkWidget *app_menu_create(appdat
953    return GTK_WIDGET(menu);    return GTK_WIDGET(menu);
954  }  }
955    
956    static void submenu_popup(GtkWidget *menu) {
957      GtkWidget *top = hildon_window_stack_peek(hildon_window_stack_get_default());
958    
959    #if 1
960      int start, end;
961      GTimeVal tv;
962      g_get_current_time(&tv);
963      start = tv.tv_sec * 1000 + tv.tv_usec / 1000;
964      do {
965        if(gtk_events_pending())
966          while(gtk_events_pending()) {
967            putchar('.'); fflush(stdout);
968            gtk_main_iteration();
969          }
970        else
971          usleep(100);
972    
973        g_get_current_time(&tv);
974        end = tv.tv_sec * 1000 + tv.tv_usec / 1000;
975      } while(end-start < 500);
976    #endif
977    
978    
979    
980      hildon_app_menu_popup(HILDON_APP_MENU(menu), GTK_WINDOW(top));
981    }
982    
983  /* the view submenu */  /* the view submenu */
984  void on_submenu_view_clicked(GtkButton *button, appdata_t *appdata) {  void on_submenu_view_clicked(GtkButton *button, appdata_t *appdata) {
985    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_view),    submenu_popup(appdata->app_menu_view);
                         GTK_WINDOW(appdata->window));  
986  }  }
987    
988  void on_submenu_map_clicked(GtkButton *button, appdata_t *appdata) {  void on_submenu_map_clicked(GtkButton *button, appdata_t *appdata) {
989    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_map),    submenu_popup(appdata->app_menu_map);
                         GTK_WINDOW(appdata->window));  
990  }  }
991    
992  void on_submenu_wms_clicked(GtkButton *button, appdata_t *appdata) {  void on_submenu_wms_clicked(GtkButton *button, appdata_t *appdata) {
993    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_wms),    submenu_popup(appdata->app_menu_wms);
                         GTK_WINDOW(appdata->window));  
994  }  }
995    
996  void on_submenu_track_clicked(GtkButton *button, appdata_t *appdata) {  void on_submenu_track_clicked(GtkButton *button, appdata_t *appdata) {
997    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_track),    submenu_popup(appdata->app_menu_track);
                         GTK_WINDOW(appdata->window));  
998  }  }
999    
1000  #define APP_OFFSET(a)  offsetof(appdata_t, a)  #define APP_OFFSET(a)  offsetof(appdata_t, a)
# Line 985  void on_submenu_track_clicked(GtkButton Line 1010  void on_submenu_track_clicked(GtkButton
1010    
1011  /* -- the view submenu -- */  /* -- the view submenu -- */
1012  static const menu_entry_t submenu_view[] = {  static const menu_entry_t submenu_view[] = {
1013    #ifndef ZOOM_BUTTONS
1014    SIMPLE_ENTRY("Zoom in",         cb_menu_zoomin),    SIMPLE_ENTRY("Zoom in",         cb_menu_zoomin),
1015    SIMPLE_ENTRY("Zoom out",        cb_menu_zoomout),    SIMPLE_ENTRY("Zoom out",        cb_menu_zoomout),
1016    #endif
1017    /* --- */    /* --- */
1018    SIMPLE_ENTRY("Style",           cb_menu_style),    SIMPLE_ENTRY("Style",           cb_menu_style),
1019    /* --- */    /* --- */
# Line 1057  void menu_create(appdata_t *appdata) { Line 1084  void menu_create(appdata_t *appdata) {
1084    /* build menu/submenus */    /* build menu/submenus */
1085    menu = HILDON_APP_MENU(app_menu_create(appdata, main_menu));    menu = HILDON_APP_MENU(app_menu_create(appdata, main_menu));
1086    appdata->app_menu_wms   = app_menu_create(appdata, submenu_wms);    appdata->app_menu_wms   = app_menu_create(appdata, submenu_wms);
1087      g_object_ref(appdata->app_menu_wms);
1088    appdata->app_menu_map   = app_menu_create(appdata, submenu_map);    appdata->app_menu_map   = app_menu_create(appdata, submenu_map);
1089      g_object_ref(appdata->app_menu_map);
1090    appdata->app_menu_view  = app_menu_create(appdata, submenu_view);    appdata->app_menu_view  = app_menu_create(appdata, submenu_view);
1091      g_object_ref(appdata->app_menu_view);
1092    appdata->app_menu_track = app_menu_create(appdata, submenu_track);    appdata->app_menu_track = app_menu_create(appdata, submenu_track);
1093      g_object_ref(appdata->app_menu_track);
1094    
1095    /* enable/disable some entries according to settings */    /* enable/disable some entries according to settings */
1096    if(appdata && appdata->settings)    if(appdata && appdata->settings)
# Line 1238  int main(int argc, char *argv[]) { Line 1269  int main(int argc, char *argv[]) {
1269  #endif  #endif
1270    hildon_program_add_window(appdata.program, appdata.window);    hildon_program_add_window(appdata.program, appdata.window);
1271    
1272  #if MAEMO_VERSION_MAJOR == 6  #if MAEMO_VERSION_MAJOR == 5
1273    unsigned long val;    unsigned long val;
1274    XChangeProperty(GDK_DISPLAY(),    XChangeProperty(GDK_DISPLAY(),
1275                    GDK_WINDOW_XID(GTK_WIDGET(appdata.window)->window),                    GDK_WINDOW_XID(GTK_WIDGET(appdata.window)->window),

Legend:
Removed from v.227  
changed lines
  Added in v.231