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> |
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; |
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, |
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 |
|
|
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), |
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), |
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); |
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); |