56 |
/* disable all menu entries related to map */ |
/* disable all menu entries related to map */ |
57 |
gtk_widget_set_sensitive(appdata->menu_osm, project_valid); |
gtk_widget_set_sensitive(appdata->menu_osm, project_valid); |
58 |
gtk_widget_set_sensitive(appdata->menu_item_osm_upload, osm_valid); |
gtk_widget_set_sensitive(appdata->menu_item_osm_upload, osm_valid); |
59 |
gtk_widget_set_sensitive(appdata->menu_item_osm_undo, osm_valid); |
if(appdata->menu_item_osm_undo) |
60 |
|
gtk_widget_set_sensitive(appdata->menu_item_osm_undo, osm_valid); |
61 |
gtk_widget_set_sensitive(appdata->menu_item_osm_save_changes, osm_valid); |
gtk_widget_set_sensitive(appdata->menu_item_osm_save_changes, osm_valid); |
62 |
gtk_widget_set_sensitive(appdata->menu_item_osm_undo_changes, osm_valid); |
gtk_widget_set_sensitive(appdata->menu_item_osm_undo_changes, osm_valid); |
63 |
gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid); |
gtk_widget_set_sensitive(appdata->track.menu_track, osm_valid); |
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 |
_("Discard local changes?"), |
_("Discard local changes?"), |
271 |
_("Throw away all the changes you've not uploaded yet? This can't be undone."))) |
_("Throw away all the changes you've not " |
272 |
|
"uploaded yet? This can't be undone."))) |
273 |
return; |
return; |
274 |
|
|
275 |
banner_busy_start(appdata, 1, _("Redrawing...")); |
banner_busy_start(appdata, 1, _("Redrawing...")); |
284 |
} |
} |
285 |
|
|
286 |
static void |
static void |
287 |
|
cb_menu_osm_relations(GtkWidget *widget, gpointer data) { |
288 |
|
relation_list((appdata_t*)data); |
289 |
|
} |
290 |
|
|
291 |
|
static void |
292 |
cb_menu_fullscreen(GtkWidget *widget, gpointer data) { |
cb_menu_fullscreen(GtkWidget *widget, gpointer data) { |
293 |
appdata_t *appdata = (appdata_t *)data; |
appdata_t *appdata = (appdata_t *)data; |
294 |
|
|
428 |
GtkWidget *menu_shell, |
GtkWidget *menu_shell, |
429 |
GtkSignalFunc activate_cb, |
GtkSignalFunc activate_cb, |
430 |
char *label, |
char *label, |
431 |
const gchar *stock_id, // overridden by label, accels |
const gchar *icon_name, // stock id or name for icon_load |
432 |
|
// overridden by label, accels, icon_name |
433 |
const gchar *accel_path, |
const gchar *accel_path, |
434 |
guint accel_key, // from gdk/gdkkeysyms.h |
guint accel_key, // from gdk/gdkkeysyms.h |
435 |
GdkModifierType accel_mods, // e.g. GDK_CONTROL_MASK |
GdkModifierType accel_mods, // e.g. GDK_CONTROL_MASK |
436 |
gboolean is_check, gboolean check_status) |
gboolean is_check, gboolean check_status) |
437 |
{ |
{ |
438 |
GtkWidget *item = NULL; |
GtkWidget *item = NULL; |
439 |
GtkStockItem stock_item; |
GtkWidget *image = NULL; |
440 |
|
|
441 |
gboolean stock_item_known = FALSE; |
gboolean stock_item_known = FALSE; |
442 |
if (stock_id != NULL) { |
GtkStockItem stock_item; |
443 |
stock_item_known = gtk_stock_lookup(stock_id, &stock_item); |
if (icon_name != NULL) { |
444 |
|
stock_item_known = gtk_stock_lookup(icon_name, &stock_item); |
445 |
} |
} |
446 |
|
|
447 |
// Icons |
// Icons |
449 |
item = is_check ? gtk_check_menu_item_new_with_mnemonic (label) |
item = is_check ? gtk_check_menu_item_new_with_mnemonic (label) |
450 |
: gtk_menu_item_new_with_mnemonic (label); |
: gtk_menu_item_new_with_mnemonic (label); |
451 |
#else |
#else |
452 |
if (is_check || !stock_item_known) { |
if (is_check) { |
453 |
item = is_check ? gtk_check_menu_item_new_with_mnemonic (label) |
item = gtk_check_menu_item_new_with_mnemonic (label); |
454 |
: gtk_menu_item_new_with_mnemonic (label); |
} |
455 |
|
else if (!stock_item_known) { |
456 |
|
GdkPixbuf *pbuf = icon_load(&appdata->icon, icon_name); |
457 |
|
if (pbuf) { |
458 |
|
image = gtk_image_new_from_pixbuf(pbuf); |
459 |
|
} |
460 |
|
if (image) { |
461 |
|
item = gtk_image_menu_item_new_with_mnemonic(label); |
462 |
|
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); |
463 |
|
} |
464 |
|
else { |
465 |
|
item = gtk_menu_item_new_with_mnemonic(label); |
466 |
|
} |
467 |
} |
} |
468 |
else { |
else { |
469 |
item = gtk_image_menu_item_new_with_mnemonic(label); |
item = gtk_image_menu_item_new_with_mnemonic(label); |
470 |
GtkWidget *stock_image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_MENU); |
image = gtk_image_new_from_stock(icon_name, GTK_ICON_SIZE_MENU); |
471 |
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), stock_image); |
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); |
472 |
} |
} |
473 |
#endif |
#endif |
474 |
|
|
534 |
|
|
535 |
/* --------------- view menu ------------------- */ |
/* --------------- view menu ------------------- */ |
536 |
|
|
537 |
#ifndef UISPECIFIC_MENU_IS_MENU_BAR |
#ifndef UISPECIFIC_MAIN_MENU_IS_MENU_BAR |
538 |
gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); |
gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); |
539 |
#endif |
#endif |
540 |
|
|
572 |
|
|
573 |
appdata->menu_item_osm_upload = menu_append_new_item( |
appdata->menu_item_osm_upload = menu_append_new_item( |
574 |
appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload..."), |
appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload..."), |
575 |
NULL, "<OSM2Go-Main>/OSM/Upload", |
"upload.16", "<OSM2Go-Main>/OSM/Upload", |
576 |
GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE |
GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE |
577 |
); |
); |
578 |
|
|
579 |
menu_append_new_item( |
menu_append_new_item( |
580 |
appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download..."), |
appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download..."), |
581 |
NULL, "<OSM2Go-Main>/OSM/Download", |
"download.16", "<OSM2Go-Main>/OSM/Download", |
582 |
GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE |
GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE |
583 |
); |
); |
584 |
|
|
605 |
0, 0, FALSE, FALSE |
0, 0, FALSE, FALSE |
606 |
); |
); |
607 |
|
|
608 |
|
gtk_menu_shell_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new()); |
609 |
|
appdata->menu_item_osm_relations = menu_append_new_item( |
610 |
|
appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_osm_relations), _("_Relations..."), |
611 |
|
NULL, "<OSM2Go-Main>/OSM/Relations", |
612 |
|
GDK_r, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE |
613 |
|
); |
614 |
|
|
615 |
/* -------------------- wms submenu -------------------- */ |
/* -------------------- wms submenu -------------------- */ |
616 |
|
|
617 |
appdata->menu_wms = item = gtk_menu_item_new_with_mnemonic( _("_WMS") ); |
appdata->menu_wms = item = gtk_menu_item_new_with_mnemonic( _("_WMS") ); |
837 |
|
|
838 |
project_free(appdata->project); |
project_free(appdata->project); |
839 |
|
|
840 |
undo_free(appdata->undo_state); |
if(appdata->menu_item_osm_undo) |
841 |
|
undo_free(appdata->undo.state); |
842 |
|
|
843 |
puts("everything is gone"); |
puts("everything is gone"); |
844 |
} |
} |