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); |
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 |
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 |
|
|
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") ); |
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")); |
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); |