Diff of /trunk/src/main.c

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

revision 190 by harbaum, Mon Jul 6 19:17:24 2009 UTC revision 191 by harbaum, Tue Jul 7 07:36:27 2009 UTC
# Line 270  cb_menu_undo_changes(GtkMenuItem *item, Line 270  cb_menu_undo_changes(GtkMenuItem *item,
270  }  }
271    
272  static void  static void
273  cb_menu_osm_relations(GtkMenuItem *item, gpointer data) {  cb_menu_osm_relations(GtkMenuItem *item, appdata_t *appdata) {
274    relation_list((appdata_t*)data);    /* list relations of all objects */
275      relation_list(GTK_WIDGET(appdata->window), appdata, NULL);
276  }  }
277    
278  #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)  #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)
# Line 935  void on_submenu_view_clicked(GtkButton * Line 936  void on_submenu_view_clicked(GtkButton *
936                          GTK_WINDOW(appdata->window));                          GTK_WINDOW(appdata->window));
937  }  }
938    
939    void on_submenu_map_clicked(GtkButton *button, appdata_t *appdata) {
940      hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_map),
941                            GTK_WINDOW(appdata->window));
942    }
943    
944  void on_submenu_wms_clicked(GtkButton *button, appdata_t *appdata) {  void on_submenu_wms_clicked(GtkButton *button, appdata_t *appdata) {
945    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_wms),    hildon_app_menu_popup(HILDON_APP_MENU(appdata->app_menu_wms),
946                          GTK_WINDOW(appdata->window));                          GTK_WINDOW(appdata->window));
# Line 945  void on_submenu_track_clicked(GtkButton Line 951  void on_submenu_track_clicked(GtkButton
951                          GTK_WINDOW(appdata->window));                          GTK_WINDOW(appdata->window));
952  }  }
953    
 /* -- the view submenu -- */  
954  #define APP_OFFSET(a)  offsetof(appdata_t, a)  #define APP_OFFSET(a)  offsetof(appdata_t, a)
955  #define SIMPLE_ENTRY(a,b)     { a, NULL, TRUE,   NULL, 0, G_CALLBACK(b) }  #define SIMPLE_ENTRY(a,b)     { a, NULL, TRUE,   NULL, 0, G_CALLBACK(b) }
956  #define ENABLED_ENTRY(a,b,c) { a, NULL, TRUE,  NULL, APP_OFFSET(c), G_CALLBACK(b) }  #define ENABLED_ENTRY(a,b,c)  { a, NULL, TRUE,  NULL, APP_OFFSET(c), G_CALLBACK(b) }
957  #define DISABLED_ENTRY(a,b,c) { a, NULL, FALSE,  NULL, APP_OFFSET(c), G_CALLBACK(b) }  #define DISABLED_ENTRY(a,b,c) { a, NULL, FALSE,  NULL, APP_OFFSET(c), G_CALLBACK(b) }
958  #define TOGGLE_ENTRY(a,b,c)  { a, NULL, TRUE, c, 0, G_CALLBACK(b) }  #define TOGGLE_ENTRY(a,b,c)   { a, NULL, TRUE, c, 0, G_CALLBACK(b) }
959  #define DISABLED_TOGGLE_ENTRY(a,b,c,d)  { a, NULL, FALSE, c, APP_OFFSET(d), G_CALLBACK(b) }  #define DISABLED_TOGGLE_ENTRY(a,b,c,d)  \
960  #define ENABLED_TOGGLE_ENTRY(a,b,c,d)  { a, NULL, TRUE, c, APP_OFFSET(d), G_CALLBACK(b) }                                { a, NULL, FALSE, c, APP_OFFSET(d), G_CALLBACK(b) }
961    #define ENABLED_TOGGLE_ENTRY(a,b,c,d) \
962                                  { a, NULL, TRUE, c, APP_OFFSET(d), G_CALLBACK(b) }
963  #define LAST_ENTRY            { NULL, NULL, FALSE, NULL, 0, NULL }  #define LAST_ENTRY            { NULL, NULL, FALSE, NULL, 0, NULL }
964    
965    /* -- the view submenu -- */
966  static const menu_entry_t submenu_view[] = {  static const menu_entry_t submenu_view[] = {
967    SIMPLE_ENTRY("Zoom in",         cb_menu_zoomin),    SIMPLE_ENTRY("Zoom in",         cb_menu_zoomin),
968    SIMPLE_ENTRY("Zoom out",        cb_menu_zoomout),    SIMPLE_ENTRY("Zoom out",        cb_menu_zoomout),
# Line 973  static const menu_entry_t submenu_view[] Line 981  static const menu_entry_t submenu_view[]
981    LAST_ENTRY    LAST_ENTRY
982  };  };
983    
984    /* -- the map submenu -- */
985    static const menu_entry_t submenu_map[] = {
986      SIMPLE_ENTRY("Upload",                cb_menu_upload),
987      SIMPLE_ENTRY("Download",              cb_menu_download),
988      SIMPLE_ENTRY("Save local changes",    cb_menu_save_changes),
989      SIMPLE_ENTRY("Discard local changes", cb_menu_undo_changes),
990      SIMPLE_ENTRY("Relations",             cb_menu_osm_relations),
991    
992      LAST_ENTRY
993    };
994    
995  /* -- the wms submenu -- */  /* -- the wms submenu -- */
996  static const menu_entry_t submenu_wms[] = {  static const menu_entry_t submenu_wms[] = {
997    SIMPLE_ENTRY("Import",   cb_menu_wms_import),    SIMPLE_ENTRY("Import",   cb_menu_wms_import),
# Line 998  static const menu_entry_t submenu_track[ Line 1017  static const menu_entry_t submenu_track[
1017    
1018  /* -- the applications main menu -- */  /* -- the applications main menu -- */
1019  static const menu_entry_t main_menu[] = {  static const menu_entry_t main_menu[] = {
1020    SIMPLE_ENTRY("About",  cb_menu_about),    SIMPLE_ENTRY("About",   cb_menu_about),
1021    ENABLED_ENTRY("View",  on_submenu_view_clicked,  submenu_view),    SIMPLE_ENTRY("Project", cb_menu_project_open),
1022    ENABLED_ENTRY("WMS",   on_submenu_wms_clicked,   submenu_wms),    ENABLED_ENTRY("View",   on_submenu_view_clicked,  submenu_view),
1023    ENABLED_ENTRY("Track", on_submenu_track_clicked, track.submenu_track),    ENABLED_ENTRY("Map",    on_submenu_map_clicked,   submenu_map),
1024      ENABLED_ENTRY("WMS",    on_submenu_wms_clicked,   submenu_wms),
1025      ENABLED_ENTRY("Track",  on_submenu_track_clicked, track.submenu_track),
1026    
1027    LAST_ENTRY    LAST_ENTRY
1028  };  };
1029    
1030  void menu_create(appdata_t *appdata) {  void menu_create(appdata_t *appdata) {
1031    HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new());    HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new());
1032    
1033    /* build menu/submenus */    /* build menu/submenus */
1034    menu = HILDON_APP_MENU(app_menu_create(appdata, main_menu));    menu = HILDON_APP_MENU(app_menu_create(appdata, main_menu));
1035    appdata->app_menu_wms = app_menu_create(appdata, submenu_wms);    appdata->app_menu_wms   = app_menu_create(appdata, submenu_wms);
1036    appdata->app_menu_view = app_menu_create(appdata, submenu_view);    appdata->app_menu_map   = app_menu_create(appdata, submenu_map);
1037      appdata->app_menu_view  = app_menu_create(appdata, submenu_view);
1038    appdata->app_menu_track = app_menu_create(appdata, submenu_track);    appdata->app_menu_track = app_menu_create(appdata, submenu_track);
1039    
1040      /* enable/disable some entries according to settings */
1041      hildon_check_button_set_active(HILDON_CHECK_BUTTON(
1042             appdata->track.menu_item_track_enable_gps), appdata->gps_enabled);
1043      gtk_widget_set_sensitive(appdata->track.menu_item_track_follow_gps,
1044                               appdata->gps_enabled);
1045      if(appdata->settings)
1046        hildon_check_button_set_active(HILDON_CHECK_BUTTON(
1047           appdata->track.menu_item_track_follow_gps),
1048                                     appdata->settings->follow_gps);
1049    
1050    
1051    hildon_window_set_app_menu(HILDON_WINDOW(appdata->window), menu);    hildon_window_set_app_menu(HILDON_WINDOW(appdata->window), menu);
1052  }  }
1053  #endif  #endif

Legend:
Removed from v.190  
changed lines
  Added in v.191