Diff of /trunk/src/main.c

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

revision 6 by achadwick, Thu Dec 11 13:26:13 2008 UTC revision 15 by harbaum, Tue Dec 16 17:00:20 2008 UTC
# Line 55  static void main_ui_enable(appdata_t *ap Line 55  static void main_ui_enable(appdata_t *ap
55    gtk_widget_set_sensitive(appdata->menu_osm, project_valid);    gtk_widget_set_sensitive(appdata->menu_osm, project_valid);
56    gtk_widget_set_sensitive(appdata->menu_item_osm_upload, osm_valid);    gtk_widget_set_sensitive(appdata->menu_item_osm_upload, osm_valid);
57    gtk_widget_set_sensitive(appdata->menu_item_osm_diff, osm_valid);    gtk_widget_set_sensitive(appdata->menu_item_osm_diff, osm_valid);
58      gtk_widget_set_sensitive(appdata->menu_item_osm_undo_changes, osm_valid);
59    gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid);    gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid);
60    gtk_widget_set_sensitive(appdata->menu_view, osm_valid);    gtk_widget_set_sensitive(appdata->menu_view, osm_valid);
61    gtk_widget_set_sensitive(appdata->menu_wms, osm_valid);    gtk_widget_set_sensitive(appdata->menu_wms, osm_valid);
# Line 193  cb_menu_map_show_all(GtkWidget *window, Line 194  cb_menu_map_show_all(GtkWidget *window,
194    map_show_all(appdata);    map_show_all(appdata);
195  }  }
196    
197  /* ----------------------------------------------- ----------- */  /* ---------------------------------------------------------- */
198    
199  #if 1  // mainly for testing  #if 1  // mainly for testing
200  static void  static void
# Line 219  cb_menu_redraw(GtkWidget *window, gpoint Line 220  cb_menu_redraw(GtkWidget *window, gpoint
220  #endif  #endif
221    
222  static void  static void
223  cb_menu_style(GtkWidget *window, gpointer data) {  cb_menu_style(GtkWidget *widget, gpointer data) {
224    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
225    
226    style_select(GTK_WIDGET(appdata->window), appdata);    style_select(GTK_WIDGET(appdata->window), appdata);
227  }  }
228    
229  static void  static void
230  cb_menu_save_changes(GtkWidget *window, gpointer data) {  cb_menu_map_no_icons(GtkWidget *widget, gpointer data) {
231      appdata_t *appdata = (appdata_t*)data;
232    
233      map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
234      appdata->settings->no_icons =
235        gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
236      map_paint(appdata);
237    }
238    
239    static void
240    cb_menu_save_changes(GtkWidget *widget, gpointer data) {
241    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
242    
243    diff_save(appdata->project, appdata->osm);    diff_save(appdata->project, appdata->osm);
244    statusbar_set(appdata, _("Saved all changes made to this project so far"), FALSE);    statusbar_set(appdata, _("Saved all changes made "
245                               "to this project so far"), FALSE);
246    }
247    
248    static void
249    cb_menu_undo_changes(GtkWidget *widget, gpointer data) {
250      appdata_t *appdata = (appdata_t*)data;
251    
252      if(!yes_no_f(GTK_WIDGET(appdata->window), NULL, 0, 0,
253                   _("Undo all changes?"),
254                   _("Do you really want to undo all your changes "
255                     "not uploaded so far? This cannot be undone!")))
256        return;
257    
258      map_clear(appdata, MAP_LAYER_OBJECTS_ONLY);
259      osm_free(&appdata->icon, appdata->osm);
260      diff_remove(appdata->project);
261      appdata->osm = osm_parse(appdata->project->osm);
262      map_paint(appdata);
263    
264      statusbar_set(appdata, _("All changes made "
265                               "so far have been reset"), FALSE);
266  }  }
267    
268    
# Line 411  void menu_create(appdata_t *appdata) { Line 443  void menu_create(appdata_t *appdata) {
443    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_save_changes),    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_save_changes),
444                     appdata);                     appdata);
445    
446      appdata->menu_item_osm_undo_changes = item =
447        gtk_menu_item_new_with_label( _("Undo all changes...") );
448      gtk_menu_append(GTK_MENU_SHELL(submenu), item);
449      g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_undo_changes),
450                       appdata);
451    
452    /* -------------------- wms submenu -------------------- */    /* -------------------- wms submenu -------------------- */
453    
454    appdata->menu_wms = item = gtk_menu_item_new_with_label( _("WMS") );    appdata->menu_wms = item = gtk_menu_item_new_with_label( _("WMS") );
# Line 470  void menu_create(appdata_t *appdata) { Line 508  void menu_create(appdata_t *appdata) {
508    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
509    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_style), appdata);    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_style), appdata);
510    
511      gtk_menu_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());
512    
513      appdata->menu_item_map_no_icons =
514        item = gtk_check_menu_item_new_with_label( _("No Icons") );
515      gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),
516                                     appdata->settings->no_icons);
517      gtk_menu_append(GTK_MENU_SHELL(submenu), item);
518      g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_map_no_icons),
519                       appdata);
520    
521    /* -------------------- track submenu -------------------- */    /* -------------------- track submenu -------------------- */
522    
523    appdata->track.menu_track = item = gtk_menu_item_new_with_label(_("Track"));    appdata->track.menu_track = item = gtk_menu_item_new_with_label(_("Track"));
# Line 688  int main(int argc, char *argv[]) { Line 736  int main(int argc, char *argv[]) {
736    g_signal_connect(G_OBJECT(appdata.window), "key_press_event",    g_signal_connect(G_OBJECT(appdata.window), "key_press_event",
737                     G_CALLBACK(on_window_key_press), &appdata);                     G_CALLBACK(on_window_key_press), &appdata);
738    
   appdata.vbox = gtk_vbox_new(FALSE,0);  
   menu_create(&appdata);  
   
739    /* user specific init */    /* user specific init */
740    appdata.settings = settings_load();    appdata.settings = settings_load();
741    
742      appdata.vbox = gtk_vbox_new(FALSE,0);
743      menu_create(&appdata);
744    
745    /* ----------------------- setup main window ---------------- */    /* ----------------------- setup main window ---------------- */
746    
747    GtkWidget *hbox = gtk_hbox_new(FALSE,0);    GtkWidget *hbox = gtk_hbox_new(FALSE,0);

Legend:
Removed from v.6  
changed lines
  Added in v.15