Diff of /trunk/src/main.c

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

revision 76 by harbaum, Fri Feb 13 12:02:26 2009 UTC revision 101 by achadwick, Sat Feb 28 22:31:10 2009 UTC
# Line 1  Line 1 
1  /*  /*
2     * Copyright (C) 2008 Till Harbaum <till@harbaum.org>.
3     *
4   * This file is part of OSM2Go.   * This file is part of OSM2Go.
5   *   *
6   * OSM2Go is free software: you can redistribute it and/or modify   * OSM2Go is free software: you can redistribute it and/or modify
# Line 428  menu_append_new_item(appdata_t *appdata, Line 430  menu_append_new_item(appdata_t *appdata,
430                       GtkWidget *menu_shell,                       GtkWidget *menu_shell,
431                       GtkSignalFunc activate_cb,                       GtkSignalFunc activate_cb,
432                       char *label,                       char *label,
433                       const gchar *stock_id, // overridden by label, accels                       const gchar *icon_name, // stock id or name for icon_load
434                                        // overridden by label, accels, icon_name
435                       const gchar *accel_path,                       const gchar *accel_path,
436                       guint accel_key,      // from gdk/gdkkeysyms.h                       guint accel_key,      // from gdk/gdkkeysyms.h
437                       GdkModifierType accel_mods, // e.g. GDK_CONTROL_MASK                       GdkModifierType accel_mods, // e.g. GDK_CONTROL_MASK
438                       gboolean is_check, gboolean check_status)                       gboolean is_check, gboolean check_status)
439  {  {
440    GtkWidget *item = NULL;    GtkWidget *item = NULL;
441    GtkStockItem stock_item;    GtkWidget *image = NULL;
442    
443    gboolean stock_item_known = FALSE;    gboolean stock_item_known = FALSE;
444    if (stock_id != NULL) {    GtkStockItem stock_item;
445      stock_item_known = gtk_stock_lookup(stock_id, &stock_item);    if (icon_name != NULL) {
446        stock_item_known = gtk_stock_lookup(icon_name, &stock_item);
447    }    }
448    
449    // Icons    // Icons
# Line 446  menu_append_new_item(appdata_t *appdata, Line 451  menu_append_new_item(appdata_t *appdata,
451    item = is_check ? gtk_check_menu_item_new_with_mnemonic (label)    item = is_check ? gtk_check_menu_item_new_with_mnemonic (label)
452                    : gtk_menu_item_new_with_mnemonic       (label);                    : gtk_menu_item_new_with_mnemonic       (label);
453  #else  #else
454    if (is_check || !stock_item_known) {    if (is_check) {
455      item = is_check ? gtk_check_menu_item_new_with_mnemonic (label)      item = gtk_check_menu_item_new_with_mnemonic (label);
456                      : gtk_menu_item_new_with_mnemonic       (label);    }
457      else if (!stock_item_known) {
458        GdkPixbuf *pbuf = icon_load(&appdata->icon, icon_name);
459        if (pbuf) {
460          image = gtk_image_new_from_pixbuf(pbuf);
461        }
462        if (image) {
463          item = gtk_image_menu_item_new_with_mnemonic(label);
464          gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
465        }
466        else {
467          item = gtk_menu_item_new_with_mnemonic(label);
468        }
469    }    }
470    else {    else {
471      item = gtk_image_menu_item_new_with_mnemonic(label);      item = gtk_image_menu_item_new_with_mnemonic(label);
472      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);
473      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);
474    }    }
475  #endif  #endif
476    
# Line 519  void menu_create(appdata_t *appdata) { Line 536  void menu_create(appdata_t *appdata) {
536    
537    /* --------------- view menu ------------------- */    /* --------------- view menu ------------------- */
538    
539  #ifndef UISPECIFIC_MENU_IS_MENU_BAR  #ifndef UISPECIFIC_MAIN_MENU_IS_MENU_BAR
540    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());
541  #endif  #endif
542    
# Line 557  void menu_create(appdata_t *appdata) { Line 574  void menu_create(appdata_t *appdata) {
574    
575    appdata->menu_item_osm_upload = menu_append_new_item(    appdata->menu_item_osm_upload = menu_append_new_item(
576      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_upload), _("_Upload..."),
577      NULL, "<OSM2Go-Main>/OSM/Upload",      "upload.16", "<OSM2Go-Main>/OSM/Upload",
578      GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE      GDK_u, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE
579    );    );
580    
581    menu_append_new_item(    menu_append_new_item(
582      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download..."),      appdata, submenu, GTK_SIGNAL_FUNC(cb_menu_download), _("_Download..."),
583      NULL, "<OSM2Go-Main>/OSM/Download",      "download.16", "<OSM2Go-Main>/OSM/Download",
584      GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE      GDK_d, GDK_SHIFT_MASK|GDK_CONTROL_MASK, FALSE, FALSE
585    );    );
586    

Legend:
Removed from v.76  
changed lines
  Added in v.101