Diff of /trunk/src/main.c

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

revision 274 by harbaum, Thu Aug 27 19:35:55 2009 UTC revision 281 by harbaum, Fri Sep 4 07:51:58 2009 UTC
# Line 24  Line 24 
24  #include <gdk/gdkkeysyms.h>  #include <gdk/gdkkeysyms.h>
25    
26  #if defined(USE_HILDON) && (MAEMO_VERSION_MAJOR == 5)  #if defined(USE_HILDON) && (MAEMO_VERSION_MAJOR == 5)
27    #define FREMANTLE
28  #include <hildon/hildon-button.h>  #include <hildon/hildon-button.h>
29  #include <hildon/hildon-check-button.h>  #include <hildon/hildon-check-button.h>
30  #include <hildon/hildon-window-stack.h>  #include <hildon/hildon-window-stack.h>
# Line 372  cb_menu_zoomout(GtkMenuItem *item, appda Line 373  cb_menu_zoomout(GtkMenuItem *item, appda
373    printf("zoom is now %f\n", appdata->map->state->zoom);    printf("zoom is now %f\n", appdata->map->state->zoom);
374  }  }
375    
376  #if (MAEMO_VERSION_MAJOR != 5) || !defined(DETAIL_POPUP)  #if defined(FREMANTLE) || (MAEMO_VERSION_MAJOR != 5) || !defined(DETAIL_POPUP)
377  static void  static void
378  cb_menu_view_detail_inc(GtkMenuItem *item, gpointer data) {  cb_menu_view_detail_inc(GtkMenuItem *item, gpointer data) {
379    appdata_t *appdata = (appdata_t*)data;    appdata_t *appdata = (appdata_t*)data;
# Line 1200  static const submenu_t submenu_view = { Line 1201  static const submenu_t submenu_view = {
1201  static const menu_entry_t submenu_map_entries[] = {  static const menu_entry_t submenu_map_entries[] = {
1202    ENABLED_ENTRY("Upload",                cb_menu_upload, menu_item_map_upload),    ENABLED_ENTRY("Upload",                cb_menu_upload, menu_item_map_upload),
1203    SIMPLE_ENTRY("Download",               cb_menu_download),    SIMPLE_ENTRY("Download",               cb_menu_download),
   //  ENABLED_ENTRY("Save changes",          cb_menu_save_changes,  
   //            menu_item_map_save_changes),  
1204    ENABLED_ENTRY("Undo all",              cb_menu_undo_changes,    ENABLED_ENTRY("Undo all",              cb_menu_undo_changes,
1205                  menu_item_map_undo_changes),                  menu_item_map_undo_changes),
1206    ENABLED_ENTRY("Relations",             cb_menu_osm_relations,    ENABLED_ENTRY("Relations",             cb_menu_osm_relations,
# Line 1435  on_window_realize(GtkWidget *widget, app Line 1434  on_window_realize(GtkWidget *widget, app
1434  }  }
1435  #endif  #endif
1436    
1437    #ifdef FREMANTLE
1438    static GtkWidget *icon_button(appdata_t *appdata, char *icon, GCallback cb,
1439                                  GtkWidget *box) {
1440      /* add zoom-in button */
1441      GtkWidget *but = gtk_button_new();
1442      gtk_button_set_image(GTK_BUTTON(but),
1443                           icon_widget_load(&appdata->icon, icon));
1444      hildon_gtk_widget_set_theme_size(but,
1445                       (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH));
1446    
1447      if(cb)
1448        g_signal_connect(but, "clicked", G_CALLBACK(cb), appdata);
1449    
1450      gtk_box_pack_start(GTK_BOX(box), but, FALSE, FALSE, 0);
1451      return but;
1452    }
1453    #endif
1454    
1455  int main(int argc, char *argv[]) {  int main(int argc, char *argv[]) {
1456    appdata_t appdata;    appdata_t appdata;
1457    
# Line 1531  int main(int argc, char *argv[]) { Line 1548  int main(int argc, char *argv[]) {
1548    
1549    gtk_box_pack_start(GTK_BOX(vbox), map, TRUE, TRUE, 0);    gtk_box_pack_start(GTK_BOX(vbox), map, TRUE, TRUE, 0);
1550    
1551  #if defined(ZOOM_BUTTONS) || defined(DETAIL_POPUP)    /* fremantle has seperate zoom/details buttons on the right screen side */
1552    #if !defined(FREMANTLE) && (defined(ZOOM_BUTTONS) || defined(DETAIL_POPUP))
1553    GtkWidget *zhbox = gtk_hbox_new(FALSE, 0);    GtkWidget *zhbox = gtk_hbox_new(FALSE, 0);
1554    gtk_box_pack_start_defaults(GTK_BOX(zhbox), statusbar_new(&appdata));    gtk_box_pack_start_defaults(GTK_BOX(zhbox), statusbar_new(&appdata));
1555  #endif  #endif
1556    
1557  #ifdef DETAIL_POPUP  #if !defined(FREMANTLE) && defined(DETAIL_POPUP)
1558    /* ---- detail popup ---- */    /* ---- detail popup ---- */
1559    appdata.btn_detail_popup = gtk_button_new();    appdata.btn_detail_popup = gtk_button_new();
1560    gtk_button_set_image(GTK_BUTTON(appdata.btn_detail_popup),    gtk_button_set_image(GTK_BUTTON(appdata.btn_detail_popup),
# Line 1546  int main(int argc, char *argv[]) { Line 1564  int main(int argc, char *argv[]) {
1564    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);
1565  #endif  #endif
1566    
1567  #ifdef ZOOM_BUTTONS  #if !defined(FREMANTLE) && defined(ZOOM_BUTTONS)
1568    /* ---- add zoom out button right of statusbar ---- */    /* ---- add zoom out button right of statusbar ---- */
1569    appdata.btn_zoom_out = gtk_button_new();    appdata.btn_zoom_out = gtk_button_new();
1570    gtk_button_set_image(GTK_BUTTON(appdata.btn_zoom_out),    gtk_button_set_image(GTK_BUTTON(appdata.btn_zoom_out),
# Line 1564  int main(int argc, char *argv[]) { Line 1582  int main(int argc, char *argv[]) {
1582    gtk_box_pack_start(GTK_BOX(zhbox), appdata.btn_zoom_in, FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(zhbox), appdata.btn_zoom_in, FALSE, FALSE, 0);
1583  #endif  #endif
1584    
1585  #if defined(ZOOM_BUTTONS) || defined(DETAIL_POPUP)  #if !defined(FREMANTLE) && (defined(ZOOM_BUTTONS) || defined(DETAIL_POPUP))
1586    gtk_box_pack_start(GTK_BOX(vbox), zhbox, FALSE, FALSE, 0);    gtk_box_pack_start(GTK_BOX(vbox), zhbox, FALSE, FALSE, 0);
1587  #else  #else
1588    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);
# Line 1575  int main(int argc, char *argv[]) { Line 1593  int main(int argc, char *argv[]) {
1593  #endif  #endif
1594    gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);    gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
1595    
1596    #ifdef FREMANTLE
1597      /* fremantle has a set of buttons on the right screen side as well */
1598      vbox = gtk_vbox_new(FALSE, 0);
1599    
1600      GtkWidget *ivbox = gtk_vbox_new(FALSE, 0);
1601      appdata.btn_zoom_in =
1602        icon_button(&appdata, "zoomin_thumb",   G_CALLBACK(cb_menu_zoomin), ivbox);
1603      appdata.btn_zoom_out =
1604        icon_button(&appdata, "zoomout_thumb",  G_CALLBACK(cb_menu_zoomout), ivbox);
1605      gtk_box_pack_start(GTK_BOX(vbox), ivbox, FALSE, FALSE, 0);
1606    
1607      ivbox = gtk_vbox_new(FALSE, 0);
1608      icon_button(&appdata, "detailup_thumb",   G_CALLBACK(cb_menu_view_detail_inc), ivbox);
1609      icon_button(&appdata, "detaildown_thumb", G_CALLBACK(cb_menu_view_detail_dec), ivbox);
1610      gtk_box_pack_start(GTK_BOX(vbox), ivbox, TRUE, FALSE, 0);
1611    
1612      ivbox = gtk_vbox_new(FALSE, 0);
1613      GtkWidget *ok = icon_button(&appdata, "ok_thumb", NULL, ivbox);
1614      GtkWidget *cancel = icon_button(&appdata, "cancel_thumb", NULL, ivbox);
1615      iconbar_register_buttons(&appdata, ok, cancel);
1616      gtk_box_pack_start(GTK_BOX(vbox), ivbox, FALSE, FALSE, 0);
1617    
1618      gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
1619    #endif // FREMANTLE
1620    
1621    gtk_box_pack_start(GTK_BOX(appdata.vbox), hbox, TRUE, TRUE, 0);    gtk_box_pack_start(GTK_BOX(appdata.vbox), hbox, TRUE, TRUE, 0);
1622    
1623    gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox);    gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox);

Legend:
Removed from v.274  
changed lines
  Added in v.281