Diff of /trunk/src/main.c

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

revision 248 by harbaum, Tue Jul 28 06:27:25 2009 UTC revision 249 by harbaum, Thu Jul 30 07:57:48 2009 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2008 Till Harbaum <till@harbaum.org>.   * Copyright (C) 2008-2009 Till Harbaum <till@harbaum.org>.
3   *   *
4   * This file is part of OSM2Go.   * This file is part of OSM2Go.
5   *   *
# Line 320  cb_menu_zoomout(GtkMenuItem *item, appda Line 320  cb_menu_zoomout(GtkMenuItem *item, appda
320    printf("zoom is now %f\n", appdata->map->state->zoom);    printf("zoom is now %f\n", appdata->map->state->zoom);
321  }  }
322    
323    #if (MAEMO_VERSION_MAJOR != 5) || !defined(DETAIL_POPUP)
324  static void  static void
325  cb_menu_view_detail_inc(GtkMenuItem *item, gpointer data) {  cb_menu_view_detail_inc(GtkMenuItem *item, gpointer data) {
326    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
# Line 343  cb_menu_view_detail_dec(GtkMenuItem *ite Line 344  cb_menu_view_detail_dec(GtkMenuItem *ite
344    printf("detail level decrease\n");    printf("detail level decrease\n");
345    map_detail_decrease(appdata->map);    map_detail_decrease(appdata->map);
346  }  }
347    #endif
348    
349  static void  static void
350  cb_menu_track_import(GtkMenuItem *item, appdata_t *appdata) {  cb_menu_track_import(GtkMenuItem *item, appdata_t *appdata) {
# Line 1140  static const menu_entry_t submenu_view_e Line 1142  static const menu_entry_t submenu_view_e
1142    /* --- */    /* --- */
1143    SIMPLE_ENTRY("Style",           cb_menu_style),    SIMPLE_ENTRY("Style",           cb_menu_style),
1144    /* --- */    /* --- */
1145    #ifndef DETAIL_POPUP
1146    SIMPLE_ENTRY("Normal details",  cb_menu_view_detail_normal),    SIMPLE_ENTRY("Normal details",  cb_menu_view_detail_normal),
1147    SIMPLE_ENTRY("More details",    cb_menu_view_detail_inc),    SIMPLE_ENTRY("More details",    cb_menu_view_detail_inc),
1148    SIMPLE_ENTRY("Less details",    cb_menu_view_detail_dec),    SIMPLE_ENTRY("Less details",    cb_menu_view_detail_dec),
1149    #endif
1150    /* --- */    /* --- */
1151    DISABLED_ENTRY("Hide selected", cb_menu_map_hide_sel, menu_item_map_hide_sel),    DISABLED_ENTRY("Hide selected", cb_menu_map_hide_sel, menu_item_map_hide_sel),
1152    DISABLED_ENTRY("Show all",      cb_menu_map_show_all, menu_item_map_show_all),    DISABLED_ENTRY("Show all",      cb_menu_map_show_all, menu_item_map_show_all),
# Line 1376  gboolean on_window_key_press(GtkWidget * Line 1380  gboolean on_window_key_press(GtkWidget *
1380    return handled;    return handled;
1381  }  }
1382    
 #ifdef DETAIL_POPUP  
 #define HEIGHT 100  
   
 static void detail_level_popup(GtkWidget *button, appdata_t *appdata) {  
   GtkWidget *overlay = gtk_window_new(GTK_WINDOW_POPUP);  
   gtk_window_set_default_size(GTK_WINDOW(overlay), button->allocation.width, HEIGHT);  
   gtk_widget_realize(overlay);  
   
   //  gtk_window_set_resizable(GTK_WINDOW(overlay), FALSE);  
   
   gtk_window_set_transient_for(GTK_WINDOW(overlay), GTK_WINDOW(appdata->window));  
   gtk_window_set_keep_above(GTK_WINDOW(overlay), TRUE);  
   gtk_window_set_destroy_with_parent(GTK_WINDOW(overlay), TRUE);  
   gtk_window_set_gravity(GTK_WINDOW(overlay), GDK_GRAVITY_STATIC);  
   gtk_window_set_modal(GTK_WINDOW(overlay), TRUE);  
   
   gdk_pointer_grab(overlay->window, TRUE,  
                    GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_MOTION_MASK,  
                    NULL, NULL, GDK_CURRENT_TIME);  
   gtk_grab_add(overlay->window);  
   
 #if 0  
   gtk_window_set_position(GTK_WINDOW(overlay), GTK_WIN_POS_MOUSE);  
 #else  
   gint x, y;  
   GdkWindow *wpar = gtk_widget_get_parent_window(button);  
   gdk_window_get_root_origin(wpar, &x, &y);  
   gtk_window_move(GTK_WINDOW(overlay),  
                   x + button->allocation.x,  
                   y + button->allocation.y - HEIGHT);  
 #endif  
   
   /* a frame with a vscale inside */  
   GtkWidget *frame = gtk_frame_new(NULL);  
   gtk_widget_show (frame);  
   gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT);  
   GtkObject *adjustment = gtk_adjustment_new(1.0, 0.1, 10.0, +1, -1, 1);  
   GtkWidget *scale = gtk_vscale_new(GTK_ADJUSTMENT(adjustment));  
   gtk_container_add(GTK_CONTAINER(frame), scale);  
   gtk_container_add(GTK_CONTAINER(overlay), frame);  
   
   gtk_widget_show_all(overlay);  
   
   /* handle this popup until it's gone */  
   
   
   
   
 }  
 #endif  
   
1383  int main(int argc, char *argv[]) {  int main(int argc, char *argv[]) {
1384    appdata_t appdata;    appdata_t appdata;
1385    
# Line 1472  int main(int argc, char *argv[]) { Line 1425  int main(int argc, char *argv[]) {
1425  #endif  #endif
1426    hildon_program_add_window(appdata.program, appdata.window);    hildon_program_add_window(appdata.program, appdata.window);
1427    
1428  #if MAEMO_VERSION_MAJOR == 5    /* try to enable the zoom buttons. don't do this on x86 as it breaks */
1429      /* at runtime with cygwin x */
1430    #if (MAEMO_VERSION_MAJOR == 5) && !defined(__i386__)
1431    unsigned long val = True;    unsigned long val = True;
1432    XChangeProperty(GDK_DISPLAY(),    XChangeProperty(GDK_DISPLAY(),
1433                    GDK_WINDOW_XID(GTK_WIDGET(appdata.window)->window),                    GDK_WINDOW_XID(GTK_WIDGET(appdata.window)->window),
# Line 1537  int main(int argc, char *argv[]) { Line 1492  int main(int argc, char *argv[]) {
1492    gtk_button_set_image(GTK_BUTTON(appdata.btn_detail_popup),    gtk_button_set_image(GTK_BUTTON(appdata.btn_detail_popup),
1493          gtk_image_new_from_stock(GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU));          gtk_image_new_from_stock(GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU));
1494    g_signal_connect(appdata.btn_detail_popup, "clicked",    g_signal_connect(appdata.btn_detail_popup, "clicked",
1495                     G_CALLBACK(detail_level_popup), &appdata);                     G_CALLBACK(scale_popup), &appdata);
1496    gtk_box_pack_start(GTK_BOX(zhbox), appdata.btn_detail_popup, FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(zhbox), appdata.btn_detail_popup, FALSE, FALSE, 0);
1497  #endif  #endif
1498    

Legend:
Removed from v.248  
changed lines
  Added in v.249