Diff of /trunk/src/main.c

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

revision 24 by harbaum, Sun Dec 21 11:49:35 2008 UTC revision 28 by achadwick, Wed Dec 24 14:17:20 2008 UTC
# Line 22  Line 22 
22  #include <gdk/gdkkeysyms.h>  #include <gdk/gdkkeysyms.h>
23    
24  #include "appdata.h"  #include "appdata.h"
25    #include "banner.h"
26    
27  /* disable/enable main screen control dependant on presence of open project */  /* disable/enable main screen control dependant on presence of open project */
28  static void main_ui_enable(appdata_t *appdata) {  static void main_ui_enable(appdata_t *appdata) {
# Line 106  cb_menu_about(GtkWidget *window, gpointe Line 107  cb_menu_about(GtkWidget *window, gpointe
107    
108    const gchar *authors[] = {    const gchar *authors[] = {
109      "Till Harbaum <till@harbaum.org>",      "Till Harbaum <till@harbaum.org>",
110      "Andrew Chadwick",      "Andrew Chadwick <andrewc-osm2go@piffle.org>",
111      NULL };      NULL };
112    
113    gtk_about_dialog_set_authors(about, authors);    gtk_about_dialog_set_authors(about, authors);
# Line 203  cb_menu_redraw(GtkWidget *window, gpoint Line 204  cb_menu_redraw(GtkWidget *window, gpoint
204    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
205    
206    /* redraw the entire map by destroying all map items and redrawing them */    /* redraw the entire map by destroying all map items and redrawing them */
207      banner_busy_start(appdata, 1, "Redrawing...");
208    track_save(appdata->project, appdata->track.track);    track_save(appdata->project, appdata->track.track);
209    diff_save(appdata->project, appdata->osm);    diff_save(appdata->project, appdata->osm);
210    map_clear(appdata, MAP_LAYER_ALL);    map_clear(appdata, MAP_LAYER_ALL);
# Line 217  cb_menu_redraw(GtkWidget *window, gpoint Line 219  cb_menu_redraw(GtkWidget *window, gpoint
219      map_track_draw(appdata->map, appdata->track.track);      map_track_draw(appdata->map, appdata->track.track);
220    
221    wms_load(appdata);    wms_load(appdata);
222      banner_busy_stop(appdata); //"Redrawing..."
223  }  }
224  #endif  #endif
225    
# Line 231  static void Line 234  static void
234  cb_menu_map_no_icons(GtkWidget *widget, gpointer data) {  cb_menu_map_no_icons(GtkWidget *widget, gpointer data) {
235    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
236    
237      banner_busy_start(appdata, 1, "Redrawing...");
238    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
239    appdata->settings->no_icons =    appdata->settings->no_icons =
240      gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));      gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
241    map_paint(appdata);    map_paint(appdata);
242      banner_busy_stop(appdata); //"Redrawing..."
243  }  }
244    
245  static void  static void
246  cb_menu_map_no_antialias(GtkWidget *widget, gpointer data) {  cb_menu_map_no_antialias(GtkWidget *widget, gpointer data) {
247    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
248    
249      banner_busy_start(appdata, 1, "Redrawing...");
250    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
251    appdata->settings->no_antialias =    appdata->settings->no_antialias =
252      gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));      gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
253    map_paint(appdata);    map_paint(appdata);
254      banner_busy_stop(appdata); //"Redrawing..."
255  }  }
256    
257  static void  static void
# Line 252  cb_menu_save_changes(GtkWidget *widget, Line 259  cb_menu_save_changes(GtkWidget *widget,
259    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
260    
261    diff_save(appdata->project, appdata->osm);    diff_save(appdata->project, appdata->osm);
262    statusbar_set(appdata, _("Saved all changes made "    banner_show_info(appdata, _("Saved local changes"));
                            "to this project so far"), FALSE);  
263  }  }
264    
265  static void  static void
# Line 261  cb_menu_undo_changes(GtkWidget *widget, Line 267  cb_menu_undo_changes(GtkWidget *widget,
267    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
268    
269    if(!yes_no_f(GTK_WIDGET(appdata->window), NULL, 0, 0,    if(!yes_no_f(GTK_WIDGET(appdata->window), NULL, 0, 0,
270                 _("Undo all changes?"),                 _("Discard local changes?"),
271                 _("Do you really want to undo all your changes "                 _("Throw away all the changes you've not uploaded yet? This can't be undone.")))
                  "not uploaded so far? This cannot be undone!")))  
272      return;      return;
273    
274      banner_busy_start(appdata, 1, _("Redrawing..."));
275    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);    map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
276    osm_free(&appdata->icon, appdata->osm);    osm_free(&appdata->icon, appdata->osm);
277    diff_remove(appdata->project);    diff_remove(appdata->project);
278    appdata->osm = osm_parse(appdata->project->osm);    appdata->osm = osm_parse(appdata->project->osm);
279    map_paint(appdata);    map_paint(appdata);
280      banner_busy_stop(appdata);  //"Redrawing..."
281    
282    statusbar_set(appdata, _("All changes made "    banner_show_info(appdata, _("Discarded local changes"));
                            "so far have been reset"), FALSE);  
283  }  }
284    
285  static void  static void
# Line 444  void menu_create(appdata_t *appdata) { Line 450  void menu_create(appdata_t *appdata) {
450    gtk_menu_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());    gtk_menu_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());
451    
452    appdata->menu_item_osm_diff = item =    appdata->menu_item_osm_diff = item =
453      gtk_menu_item_new_with_label( _("Save diff file") );      gtk_menu_item_new_with_label( _("Save local changes") );
454    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
455    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_save_changes),    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_save_changes),
456                     appdata);                     appdata);
457    
458    appdata->menu_item_osm_undo_changes = item =    appdata->menu_item_osm_undo_changes = item =
459      gtk_menu_item_new_with_label( _("Undo all changes...") );      gtk_menu_item_new_with_label( _("Discard local changes...") );
460    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
461    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_undo_changes),    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_undo_changes),
462                     appdata);                     appdata);

Legend:
Removed from v.24  
changed lines
  Added in v.28