Diff of /trunk/src/main.c

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

revision 156 by harbaum, Wed Apr 1 12:47:35 2009 UTC revision 185 by harbaum, Mon Jun 29 14:07:46 2009 UTC
# Line 36  static void main_ui_enable(appdata_t *ap Line 36  static void main_ui_enable(appdata_t *ap
36      map_action_cancel(appdata);      map_action_cancel(appdata);
37    
38    /* ---- set project name as window title ----- */    /* ---- set project name as window title ----- */
39  #ifndef USE_HILDON  #if defined(USE_HILDON) && MAEMO_VERSION_MAJOR < 5
40      if(project_valid)
41        gtk_window_set_title(GTK_WINDOW(appdata->window), appdata->project->name);
42      else
43        gtk_window_set_title(GTK_WINDOW(appdata->window), "");
44    #else
45    char *str = NULL;    char *str = NULL;
46    if(project_valid)    if(project_valid)
47      str = g_strdup_printf("OSM2Go - %s", appdata->project->name);      str = g_strdup_printf("OSM2Go - %s", appdata->project->name);
# Line 45  static void main_ui_enable(appdata_t *ap Line 50  static void main_ui_enable(appdata_t *ap
50    
51    gtk_window_set_title(GTK_WINDOW(appdata->window), str);    gtk_window_set_title(GTK_WINDOW(appdata->window), str);
52    g_free(str);    g_free(str);
 #else  
   if(project_valid)  
     gtk_window_set_title(GTK_WINDOW(appdata->window), appdata->project->name);  
   else  
     gtk_window_set_title(GTK_WINDOW(appdata->window), "");  
53  #endif  #endif
54    
55    if(appdata->iconbar && appdata->iconbar->toolbar)    if(appdata->iconbar && appdata->iconbar->toolbar)
# Line 62  static void main_ui_enable(appdata_t *ap Line 62  static void main_ui_enable(appdata_t *ap
62      gtk_widget_set_sensitive(appdata->menu_item_osm_undo, osm_valid);      gtk_widget_set_sensitive(appdata->menu_item_osm_undo, osm_valid);
63    gtk_widget_set_sensitive(appdata->menu_item_osm_save_changes, osm_valid);    gtk_widget_set_sensitive(appdata->menu_item_osm_save_changes, osm_valid);
64    gtk_widget_set_sensitive(appdata->menu_item_osm_undo_changes, osm_valid);    gtk_widget_set_sensitive(appdata->menu_item_osm_undo_changes, osm_valid);
65      gtk_widget_set_sensitive(appdata->menu_item_osm_relations, osm_valid);
66    gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid);    gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid);
67    gtk_widget_set_sensitive(appdata->menu_view, osm_valid);    gtk_widget_set_sensitive(appdata->menu_view, osm_valid);
68    gtk_widget_set_sensitive(appdata->menu_wms, osm_valid);    gtk_widget_set_sensitive(appdata->menu_wms, osm_valid);
69    gtk_widget_set_sensitive(appdata->menu_map, osm_valid);    gtk_widget_set_sensitive(appdata->menu_map, osm_valid);
   gtk_widget_set_sensitive(appdata->menu_item_project_close, project_valid);  
70    
71    if(!project_valid)    if(!project_valid)
72      statusbar_set(appdata, _("Please load or create a project"), FALSE);      statusbar_set(appdata, _("Please load or create a project"), FALSE);
# Line 82  cb_menu_project_open(GtkMenuItem *item, Line 82  cb_menu_project_open(GtkMenuItem *item,
82  }  }
83    
84  static void  static void
85  cb_menu_project_close(GtkMenuItem *item, gpointer data) {  cb_menu_project_wizard(GtkMenuItem *item, gpointer data) {
86    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
87    project_close(appdata);    project_wizard(appdata);
   main_ui_enable(appdata);  
88  }  }
89    
90  static void  static void
# Line 125  cb_menu_upload(GtkMenuItem *item, gpoint Line 124  cb_menu_upload(GtkMenuItem *item, gpoint
124    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
125    if(!appdata->osm || !appdata->project) return;    if(!appdata->osm || !appdata->project) return;
126    
127      if(project_check_demo(GTK_WIDGET(appdata->window), appdata->project))
128        return;
129    
130    osm_upload(appdata, appdata->osm, appdata->project);    osm_upload(appdata, appdata->osm, appdata->project);
131  }  }
132    
# Line 133  cb_menu_download(GtkMenuItem *item, gpoi Line 135  cb_menu_download(GtkMenuItem *item, gpoi
135    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
136    if(!appdata->project) return;    if(!appdata->project) return;
137    
138      if(project_check_demo(GTK_WIDGET(appdata->window), appdata->project))
139        return;
140    
141    /* if we have valid osm data loaded: save state first */    /* if we have valid osm data loaded: save state first */
142    if(appdata->osm) {    if(appdata->osm) {
143      /* redraw the entire map by destroying all map items and redrawing them */      /* redraw the entire map by destroying all map items and redrawing them */
# Line 144  cb_menu_download(GtkMenuItem *item, gpoi Line 149  cb_menu_download(GtkMenuItem *item, gpoi
149    }    }
150    
151    // download    // download
152    if(osm_download(GTK_WIDGET(appdata->window), appdata->project)) {    if(osm_download(GTK_WIDGET(appdata->window), appdata->settings,
153      banner_busy_start(appdata, 1, "Redrawing...");                    appdata->project)) {
154      appdata->osm = osm_parse(appdata->project->osm);      banner_busy_start(appdata, 1, "Redrawing");
155        appdata->osm = osm_parse(appdata->project->path, appdata->project->osm);
156      diff_restore(appdata, appdata->project, appdata->osm);      diff_restore(appdata, appdata->project, appdata->osm);
157      map_paint(appdata);      map_paint(appdata);
158      banner_busy_stop(appdata); //"Redrawing..."      banner_busy_stop(appdata); //"Redrawing"
159    }    }
160    
161    main_ui_enable(appdata);    main_ui_enable(appdata);
# Line 195  cb_menu_redraw(GtkMenuItem *item, gpoint Line 201  cb_menu_redraw(GtkMenuItem *item, gpoint
201    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
202    
203    /* redraw the entire map by destroying all map items and redrawing them */    /* redraw the entire map by destroying all map items and redrawing them */
204    banner_busy_start(appdata, 1, "Redrawing...");    banner_busy_start(appdata, 1, "Redrawing");
205    track_save(appdata->project, appdata->track.track);    track_save(appdata->project, appdata->track.track);
206    diff_save(appdata->project, appdata->osm);    diff_save(appdata->project, appdata->osm);
207    map_clear(appdata, MAP_LAYER_ALL);    map_clear(appdata, MAP_LAYER_ALL);
208    osm_free(&appdata->icon, appdata->osm);    osm_free(&appdata->icon, appdata->osm);
209    
210    appdata->osm = osm_parse(appdata->project->osm);    appdata->osm = osm_parse(appdata->project->path, appdata->project->osm);
211    diff_restore(appdata, appdata->project, appdata->osm);    diff_restore(appdata, appdata->project, appdata->osm);
212    map_paint(appdata);    map_paint(appdata);
213    
# Line 210  cb_menu_redraw(GtkMenuItem *item, gpoint Line 216  cb_menu_redraw(GtkMenuItem *item, gpoint
216      map_track_draw(appdata->map, appdata->track.track);      map_track_draw(appdata->map, appdata->track.track);
217    
218    wms_load(appdata);    wms_load(appdata);
219    banner_busy_stop(appdata); //"Redrawing..."    banner_busy_stop(appdata); //"Redrawing"
220  }  }
221  #endif  #endif
222    
223  static void  static void
 cb_menu_style(GtkMenuItem *item, gpointer data) {  
   appdata_t *appdata = (appdata_t*)data;  
   
   style_select(GTK_WIDGET(appdata->window), appdata);  
 }  
   
 static void  
224  cb_menu_map_no_icons(GtkCheckMenuItem *item, gpointer data) {  cb_menu_map_no_icons(GtkCheckMenuItem *item, gpointer data) {
225    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
226    
227    banner_busy_start(appdata, 1, "Redrawing...");    banner_busy_start(appdata, 1, "Redrawing");
228    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
229    appdata->settings->no_icons = gtk_check_menu_item_get_active(item);    appdata->settings->no_icons = gtk_check_menu_item_get_active(item);
230    map_paint(appdata);    map_paint(appdata);
231    banner_busy_stop(appdata); //"Redrawing..."    banner_busy_stop(appdata); //"Redrawing"
232  }  }
233    
234  static void  static void
235  cb_menu_map_no_antialias(GtkCheckMenuItem *item, gpointer data) {  cb_menu_map_no_antialias(GtkCheckMenuItem *item, gpointer data) {
236    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
237    
238    banner_busy_start(appdata, 1, "Redrawing...");    banner_busy_start(appdata, 1, "Redrawing");
239    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
240    appdata->settings->no_antialias = gtk_check_menu_item_get_active(item);    appdata->settings->no_antialias = gtk_check_menu_item_get_active(item);
241    map_paint(appdata);    map_paint(appdata);
242    banner_busy_stop(appdata); //"Redrawing..."    banner_busy_stop(appdata); //"Redrawing"
243    }
244    
245    static void
246    cb_menu_style(GtkMenuItem *item, gpointer data) {
247      appdata_t *appdata = (appdata_t*)data;
248    
249      style_select(GTK_WIDGET(appdata->window), appdata);
250  }  }
251    
252  static void  static void
# Line 270  cb_menu_undo_changes(GtkMenuItem *item, Line 276  cb_menu_undo_changes(GtkMenuItem *item,
276                   "uploaded yet? This can't be undone.")))                   "uploaded yet? This can't be undone.")))
277      return;      return;
278    
279    banner_busy_start(appdata, 1, _("Redrawing..."));    banner_busy_start(appdata, 1, _("Redrawing"));
280    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
281    osm_free(&appdata->icon, appdata->osm);    osm_free(&appdata->icon, appdata->osm);
282    diff_remove(appdata->project);    diff_remove(appdata->project);
283    appdata->osm = osm_parse(appdata->project->osm);    appdata->osm = osm_parse(appdata->project->path, appdata->project->osm);
284    map_paint(appdata);    map_paint(appdata);
285    banner_busy_stop(appdata);  //"Redrawing..."    banner_busy_stop(appdata);  //"Redrawing"
286    
287    banner_show_info(appdata, _("Discarded local changes"));    banner_show_info(appdata, _("Discarded local changes"));
288  }  }
# Line 286  cb_menu_osm_relations(GtkMenuItem *item, Line 292  cb_menu_osm_relations(GtkMenuItem *item,
292    relation_list((appdata_t*)data);    relation_list((appdata_t*)data);
293  }  }
294    
295    #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)
296  static void  static void
297  cb_menu_fullscreen(GtkCheckMenuItem *item, gpointer data) {  cb_menu_fullscreen(GtkCheckMenuItem *item, gpointer data) {
298    appdata_t *appdata = (appdata_t *)data;    appdata_t *appdata = (appdata_t *)data;
# Line 295  cb_menu_fullscreen(GtkCheckMenuItem *ite Line 302  cb_menu_fullscreen(GtkCheckMenuItem *ite
302    else    else
303      gtk_window_unfullscreen(GTK_WINDOW(appdata->window));      gtk_window_unfullscreen(GTK_WINDOW(appdata->window));
304  }  }
305    #endif
306    
307  static void  static void
308  cb_menu_zoomin(GtkMenuItem *item, appdata_t *appdata) {  cb_menu_zoomin(GtkMenuItem *item, appdata_t *appdata) {
# Line 313  cb_menu_zoomout(GtkMenuItem *item, appda Line 321  cb_menu_zoomout(GtkMenuItem *item, appda
321  }  }
322    
323  static void  static void
324    cb_menu_view_detail_inc(GtkMenuItem *item, gpointer data) {
325      appdata_t *appdata = (appdata_t*)data;
326    
327      printf("detail level increase\n");
328      map_detail_increase(appdata->map);
329    }
330    
331    static void
332    cb_menu_view_detail_normal(GtkMenuItem *item, gpointer data) {
333      appdata_t *appdata = (appdata_t*)data;
334    
335      printf("detail level normal\n");
336      map_detail_normal(appdata->map);
337    }
338    
339    static void
340    cb_menu_view_detail_dec(GtkMenuItem *item, gpointer data) {
341      appdata_t *appdata = (appdata_t*)data;
342    
343      printf("detail level decrease\n");
344      map_detail_decrease(appdata->map);
345    }
346    
347    static void
348  cb_menu_track_import(GtkMenuItem *item, appdata_t *appdata) {  cb_menu_track_import(GtkMenuItem *item, appdata_t *appdata) {
349    g_assert(appdata->settings);    g_assert(appdata->settings);
350    
# Line 598  void menu_create(appdata_t *appdata) { Line 630  void menu_create(appdata_t *appdata) {
630  #endif  #endif
631    
632    menu_append_new_item(    menu_append_new_item(
633      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_project_open), _("_Open..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_project_open), _("_Open"),
634      GTK_STOCK_OPEN, "<OSM2Go-Main>/Project/Open",      GTK_STOCK_OPEN, "<OSM2Go-Main>/Project/Open",
635      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
636    );    );
637    
638    appdata->menu_item_project_close = menu_append_new_item(    menu_append_new_item(
639      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_project_close), _("_Close"),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_project_wizard), _("_Wizard"),
640      GTK_STOCK_CLOSE, "<OSM2Go-Main>/Project/Close",      GTK_STOCK_NEW, "<OSM2Go-Main>/Project/Wizard",
641      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
642    );    );
643    
# Line 621  void menu_create(appdata_t *appdata) { Line 653  void menu_create(appdata_t *appdata) {
653    gtk_menu_set_accel_group(GTK_MENU(submenu), accel_grp);    gtk_menu_set_accel_group(GTK_MENU(submenu), accel_grp);
654    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
655    
656    #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)
657    appdata->menu_item_view_fullscreen = menu_append_new_item(    appdata->menu_item_view_fullscreen = menu_append_new_item(
658      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_fullscreen), _("_Fullscreen"),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_fullscreen), _("_Fullscreen"),
659      GTK_STOCK_FULLSCREEN, "<OSM2Go-Main>/View/Fullscreen",      GTK_STOCK_FULLSCREEN, "<OSM2Go-Main>/View/Fullscreen",
660      0, 0, TRUE, TRUE, FALSE      0, 0, TRUE, TRUE, FALSE
661    );    );
662    #endif
663    
664    menu_append_new_item(    menu_append_new_item(
665      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_zoomin), _("Zoom _in"),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_zoomin), _("Zoom _in"),
# Line 639  void menu_create(appdata_t *appdata) { Line 673  void menu_create(appdata_t *appdata) {
673      GDK_period, GDK_CONTROL_MASK, TRUE, FALSE, FALSE      GDK_period, GDK_CONTROL_MASK, TRUE, FALSE, FALSE
674    );    );
675    
676      gtk_menu_shell_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());
677    
678      menu_append_new_item(
679        appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_view_detail_inc), _("More details"),
680        NULL, "<OSM2Go-Main>/View/DetailInc",
681        GDK_period, GDK_MOD1_MASK, TRUE, FALSE, FALSE
682      );
683    
684      menu_append_new_item(
685        appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_view_detail_normal), _("Normal details"),
686        NULL, "<OSM2Go-Main>/View/DetailNormal",
687        0, 0, TRUE, FALSE, FALSE
688      );
689    
690      menu_append_new_item(
691        appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_view_detail_dec), _("Less details"),
692        NULL, "<OSM2Go-Main>/View/DetailDec",
693        GDK_comma, GDK_MOD1_MASK, TRUE, FALSE, FALSE
694      );
695    
696    /* -------------------- OSM submenu -------------------- */    /* -------------------- OSM submenu -------------------- */
697    
698    appdata->menu_osm = item = gtk_menu_item_new_with_mnemonic( _("_OSM") );    appdata->menu_osm = item = gtk_menu_item_new_with_mnemonic( _("_OSM") );
# Line 648  void menu_create(appdata_t *appdata) { Line 702  void menu_create(appdata_t *appdata) {
702    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
703    
704    appdata->menu_item_osm_upload = menu_append_new_item(    appdata->menu_item_osm_upload = menu_append_new_item(
705      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload"),
706      "upload.16", "<OSM2Go-Main>/OSM/Upload",      "upload.16", "<OSM2Go-Main>/OSM/Upload",
707      GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE      GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE
708    );    );
709    
710    menu_append_new_item(    menu_append_new_item(
711      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download"),
712      "download.16", "<OSM2Go-Main>/OSM/Download",      "download.16", "<OSM2Go-Main>/OSM/Download",
713      GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE      GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE
714    );    );
# Line 677  void menu_create(appdata_t *appdata) { Line 731  void menu_create(appdata_t *appdata) {
731    );    );
732    
733    appdata->menu_item_osm_undo_changes = menu_append_new_item(    appdata->menu_item_osm_undo_changes = menu_append_new_item(
734      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_undo_changes), _("Disca_rd local changes..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_undo_changes), _("Disca_rd local changes"),
735      GTK_STOCK_DELETE, "<OSM2Go-Main>/OSM/DiscardChanges",      GTK_STOCK_DELETE, "<OSM2Go-Main>/OSM/DiscardChanges",
736      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
737    );    );
738    
739    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());
740    appdata->menu_item_osm_relations = menu_append_new_item(    appdata->menu_item_osm_relations = menu_append_new_item(
741      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_osm_relations), _("_Relations..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_osm_relations), _("_Relations"),
742      NULL, "<OSM2Go-Main>/OSM/Relations",      NULL, "<OSM2Go-Main>/OSM/Relations",
743      GDK_r, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE      GDK_r, GDK_SHIFT_MASK|GDK_CONTROL_MASK, TRUE, FALSE, FALSE
744    );    );
# Line 698  void menu_create(appdata_t *appdata) { Line 752  void menu_create(appdata_t *appdata) {
752    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
753    
754    menu_append_new_item(    menu_append_new_item(
755      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_wms_import), _("_Import..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_wms_import), _("_Import"),
756      GTK_STOCK_INDEX, "<OSM2Go-Main>/WMS/Import",      GTK_STOCK_INDEX, "<OSM2Go-Main>/WMS/Import",
757      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
758    );    );
# Line 742  void menu_create(appdata_t *appdata) { Line 796  void menu_create(appdata_t *appdata) {
796    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());
797    
798    menu_append_new_item(    menu_append_new_item(
799      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_style), _("St_yle..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_style), _("St_yle"),
800      GTK_STOCK_SELECT_COLOR, "<OSM2Go-Main>/Map/Style",      GTK_STOCK_SELECT_COLOR, "<OSM2Go-Main>/Map/Style",
801      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
802    );    );
# Line 778  void menu_create(appdata_t *appdata) { Line 832  void menu_create(appdata_t *appdata) {
832    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
833    
834    appdata->track.menu_item_import = menu_append_new_item(    appdata->track.menu_item_import = menu_append_new_item(
835      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_track_import), _("_Import..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_track_import), _("_Import"),
836      NULL, "<OSM2Go-Main>/Track/Import",      NULL, "<OSM2Go-Main>/Track/Import",
837      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
838    );    );
839    
840    appdata->track.menu_item_export = menu_append_new_item(    appdata->track.menu_item_export = menu_append_new_item(
841      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_track_export), _("_Export..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_track_export), _("_Export"),
842      NULL, "<OSM2Go-Main>/Track/Export",      NULL, "<OSM2Go-Main>/Track/Export",
843      0, 0, FALSE, FALSE, FALSE      0, 0, FALSE, FALSE, FALSE
844    );    );
# Line 816  void menu_create(appdata_t *appdata) { Line 870  void menu_create(appdata_t *appdata) {
870                          gtk_separator_menu_item_new());                          gtk_separator_menu_item_new());
871    
872    menu_append_new_item(    menu_append_new_item(
873      appdata, about_quit_items_menu, GTK_SIGNAL_FUNC(cb_menu_about), _("_About..."),      appdata, about_quit_items_menu, GTK_SIGNAL_FUNC(cb_menu_about), _("_About"),
874      GTK_STOCK_ABOUT, "<OSM2Go-Main>/About",      GTK_STOCK_ABOUT, "<OSM2Go-Main>/About",
875      0, 0, TRUE, FALSE, FALSE      0, 0, TRUE, FALSE, FALSE
876    );    );
# Line 1059  int main(int argc, char *argv[]) { Line 1113  int main(int argc, char *argv[]) {
1113  #ifndef PORTRAIT  #ifndef PORTRAIT
1114    gtk_box_pack_start(GTK_BOX(hbox), iconbar_new(&appdata), FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(hbox), iconbar_new(&appdata), FALSE, FALSE, 0);
1115  #endif  #endif
1116    gtk_box_pack_start(GTK_BOX(hbox), gtk_vseparator_new(), FALSE, FALSE, 0);    //  gtk_box_pack_start(GTK_BOX(hbox), gtk_vseparator_new(), FALSE, FALSE, 0);
1117    gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);    gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
1118    
1119    gtk_box_pack_start(GTK_BOX(appdata.vbox), hbox, TRUE, TRUE, 0);    gtk_box_pack_start(GTK_BOX(appdata.vbox), hbox, TRUE, TRUE, 0);
# Line 1072  int main(int argc, char *argv[]) { Line 1126  int main(int argc, char *argv[]) {
1126    
1127    /* let gtk do its thing before loading the data, */    /* let gtk do its thing before loading the data, */
1128    /* so the user sees something */    /* so the user sees something */
1129    while(gtk_events_pending()) {    while(gtk_events_pending())
     putchar('.');  
1130      gtk_main_iteration();      gtk_main_iteration();
   }  
1131    
1132    /* load project if one is specified in the settings */    /* load project if one is specified in the settings */
1133    if(appdata.settings->project)    if(appdata.settings->project)
# Line 1087  int main(int argc, char *argv[]) { Line 1139  int main(int argc, char *argv[]) {
1139    if(appdata.settings && appdata.settings->enable_gps)    if(appdata.settings && appdata.settings->enable_gps)
1140      track_enable_gps(&appdata, TRUE);      track_enable_gps(&appdata, TRUE);
1141    
1142    /* ------------ jump into main loop ---------------- */    /* again let the ui do its thing */
1143      while(gtk_events_pending())
1144        gtk_main_iteration();
1145    
1146      /* start to interact with the user now that the gui is running */
1147      if(appdata.settings->first_run_demo) {
1148        messagef(GTK_WIDGET(appdata.window), _("Welcome to OSM2Go"),
1149                 _("This is the first time you run OSM2Go. "
1150                   "A demo project has been loaded to get you "
1151                   "started. You can play around with this demo as much "
1152                   "as you like. However, you cannot upload or download "
1153                   "the demo project.\n\n"
1154                   "In order to start working on real data you'll have "
1155                   "to setup a new project and enter your OSM user name "
1156                   "and password. You'll then be able to download the "
1157                   "latest data from OSM and upload your changes into "
1158                   "the OSM main database."
1159                   ));
1160      }
1161    
1162      /* ------------ jump into main loop ---------------- */
1163    gtk_main();    gtk_main();
1164    
1165    puts("gtk_main() left");    puts("gtk_main() left");

Legend:
Removed from v.156  
changed lines
  Added in v.185