Diff of /trunk/src/main.c

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

revision 21 by harbaum, Tue Dec 16 17:00:20 2008 UTC revision 22 by harbaum, Wed Dec 17 16:43:46 2008 UTC
# Line 19  Line 19 
19  #include <string.h>  #include <string.h>
20    
21  #include <curl/curl.h>  #include <curl/curl.h>
22    #include <gdk/gdkkeysyms.h>
23    
24  #include "appdata.h"  #include "appdata.h"
25    
# Line 75  static struct { Line 76  static struct {
76    char *title;    char *title;
77    GCallback c_handler;    GCallback c_handler;
78  } menu[] = {  } menu[] = {
79    { MENU_SUB, "OSM", NULL },    { MENU_SUB, "_OSM", NULL },
80    
81    { MENU_END,  NULL, NULL },    { MENU_END,  NULL, NULL },
82  };  };
83  #endif  #endif
# Line 265  cb_menu_undo_changes(GtkWidget *widget, Line 266  cb_menu_undo_changes(GtkWidget *widget,
266                             "so far have been reset"), FALSE);                             "so far have been reset"), FALSE);
267  }  }
268    
   
 #ifdef USE_HILDON  
269  static void  static void
270  cb_menu_fullscreen(GtkWidget *widget, gpointer data) {  cb_menu_fullscreen(GtkWidget *widget, gpointer data) {
271    appdata_t *appdata = (appdata_t *)data;    appdata_t *appdata = (appdata_t *)data;
# Line 276  cb_menu_fullscreen(GtkWidget *widget, gp Line 275  cb_menu_fullscreen(GtkWidget *widget, gp
275    else    else
276      gtk_window_unfullscreen(GTK_WINDOW(appdata->window));      gtk_window_unfullscreen(GTK_WINDOW(appdata->window));
277  }  }
 #endif  
278    
279  static void  static void
280  cb_menu_zoomin(GtkWidget *widget, appdata_t *appdata) {  cb_menu_zoomin(GtkWidget *widget, appdata_t *appdata) {
# Line 401  void menu_create(appdata_t *appdata) { Line 399  void menu_create(appdata_t *appdata) {
399    submenu = gtk_menu_new();    submenu = gtk_menu_new();
400    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);    gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
401    
402  #ifdef USE_HILDON    appdata->menu_item_view_fullscreen =
   appdata->fullscreen_menu_item =  
403      item = gtk_check_menu_item_new_with_label( _("Fullscreen") );      item = gtk_check_menu_item_new_with_label( _("Fullscreen") );
404    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
405    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_fullscreen),    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_fullscreen),
406                     appdata);                     appdata);
 #endif  
407    
408    item = gtk_menu_item_new_with_label( _("Zoom +" ));    item = gtk_menu_item_new_with_label( _("Zoom +" ));
409    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
# Line 508  void menu_create(appdata_t *appdata) { Line 504  void menu_create(appdata_t *appdata) {
504    gtk_menu_append(GTK_MENU_SHELL(submenu), item);    gtk_menu_append(GTK_MENU_SHELL(submenu), item);
505    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_style), appdata);    g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_style), appdata);
506    
   gtk_menu_append(GTK_MENU_SHELL(submenu), gtk_separator_menu_item_new());  
   
507    appdata->menu_item_map_no_icons =    appdata->menu_item_map_no_icons =
508      item = gtk_check_menu_item_new_with_label( _("No Icons") );      item = gtk_check_menu_item_new_with_label( _("No Icons") );
509    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),
# Line 642  gboolean on_window_key_press(GtkWidget * Line 636  gboolean on_window_key_press(GtkWidget *
636    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
637    int handled = FALSE;    int handled = FALSE;
638    
   //  printf("key event %d\n", event->keyval);  
   
639    // the map handles some keys on its own ...    // the map handles some keys on its own ...
640    switch(event->keyval) {    switch(event->keyval) {
 #ifdef USE_HILDON  
641    
642  #if 0  #ifdef USE_HILDON
643    case HILDON_HARDKEY_SELECT:      /* this is in fact a mapping to GDK_F6 */
     handled = TRUE;  
     break;  
 #endif  
   
644    case HILDON_HARDKEY_FULLSCREEN:    case HILDON_HARDKEY_FULLSCREEN:
645      {  #else
646        gboolean fullscreen = !gtk_check_menu_item_get_active(    case GDK_F11:
647                 GTK_CHECK_MENU_ITEM(appdata->fullscreen_menu_item));  #endif
648        if(!gtk_check_menu_item_get_active(
649                 GTK_CHECK_MENU_ITEM(appdata->menu_item_view_fullscreen))) {
650          gtk_window_fullscreen(GTK_WINDOW(appdata->window));
651        gtk_check_menu_item_set_active(        gtk_check_menu_item_set_active(
652                 GTK_CHECK_MENU_ITEM(appdata->fullscreen_menu_item), fullscreen);               GTK_CHECK_MENU_ITEM(appdata->menu_item_view_fullscreen), TRUE);
653          } else {
       if(fullscreen)  
         gtk_window_fullscreen(GTK_WINDOW(appdata->window));  
       else  
654          gtk_window_unfullscreen(GTK_WINDOW(appdata->window));          gtk_window_unfullscreen(GTK_WINDOW(appdata->window));
655            gtk_check_menu_item_set_active(
656        handled = TRUE;               GTK_CHECK_MENU_ITEM(appdata->menu_item_view_fullscreen), FALSE);
657      }        }
658    
659        handled = TRUE;
660      break;      break;
 #endif  
661    }    }
662    
663    /* forward unprocessed key presses to map */    /* forward unprocessed key presses to map */
# Line 750  int main(int argc, char *argv[]) { Line 738  int main(int argc, char *argv[]) {
738  #ifdef PORTRAIT  #ifdef PORTRAIT
739    gtk_box_pack_start(GTK_BOX(vbox), iconbar_new(&appdata), FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(vbox), iconbar_new(&appdata), FALSE, FALSE, 0);
740  #endif  #endif
741    gtk_box_pack_start(GTK_BOX(vbox), map_new(&appdata), TRUE, TRUE, 0);  
742      /* generate main map view */
743      GtkWidget *map = map_new(&appdata);
744      if(!map) {
745        cleanup(&appdata);
746        return -1;
747      }
748    
749      gtk_box_pack_start(GTK_BOX(vbox), map, TRUE, TRUE, 0);
750    gtk_box_pack_start(GTK_BOX(vbox), statusbar_new(&appdata), FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(vbox), statusbar_new(&appdata), FALSE, FALSE, 0);
751    
752  #ifndef PORTRAIT  #ifndef PORTRAIT

Legend:
Removed from v.21  
changed lines
  Added in v.22