551 |
gtk_container_add(GTK_CONTAINER(window), |
gtk_container_add(GTK_CONTAINER(window), |
552 |
cachelist_create(appdata, gpx, NULL)); |
cachelist_create(appdata, gpx, NULL)); |
553 |
|
|
554 |
|
hildon_window_set_app_menu(HILDON_WINDOW(window), |
555 |
|
menu_create(appdata, MENU_CACHELIST)); |
556 |
|
|
557 |
gtk_widget_show_all(window); |
gtk_widget_show_all(window); |
558 |
} |
} |
559 |
#endif |
#endif |
1010 |
if(new) gpxlist_add(appdata, new); |
if(new) gpxlist_add(appdata, new); |
1011 |
} |
} |
1012 |
|
|
|
static void |
|
|
cb_menu_geomath(GtkWidget *window, gpointer data) { |
|
|
geomath_dialog((appdata_t *)data); |
|
|
} |
|
|
|
|
|
static void |
|
|
cb_menu_geotext(GtkWidget *window, gpointer data) { |
|
|
geotext_dialog((appdata_t *)data); |
|
|
} |
|
|
|
|
|
static void |
|
|
cb_menu_precpos(GtkWidget *window, gpointer data) { |
|
|
precise_position((appdata_t *)data); |
|
|
} |
|
|
|
|
1013 |
#ifndef USE_PANNABLE_AREA |
#ifndef USE_PANNABLE_AREA |
1014 |
static void |
static void |
1015 |
cb_menu_close(GtkWidget *window, gpointer data) { |
cb_menu_close(GtkWidget *window, gpointer data) { |
1368 |
} |
} |
1369 |
#endif |
#endif |
1370 |
|
|
1371 |
|
#ifndef NO_COPY_N_PASTE |
1372 |
static void |
static void |
1373 |
cb_menu_cut(GtkWidget *widget, gpointer data) { |
cb_menu_cut(GtkWidget *widget, gpointer data) { |
1374 |
appdata_t *appdata = (appdata_t*)data; |
appdata_t *appdata = (appdata_t*)data; |
1413 |
} else |
} else |
1414 |
printf("paste: ERROR, no active buffer\n"); |
printf("paste: ERROR, no active buffer\n"); |
1415 |
} |
} |
1416 |
|
#endif |
1417 |
|
|
1418 |
static void |
static void |
1419 |
cb_menu_export_log(GtkWidget *widget, gpointer data) { |
cb_menu_export_log(GtkWidget *widget, gpointer data) { |
1435 |
garmin_export(appdata); |
garmin_export(appdata); |
1436 |
} |
} |
1437 |
|
|
1438 |
|
static void |
1439 |
|
cb_menu_geomath(GtkWidget *window, gpointer data) { |
1440 |
|
geomath_dialog((appdata_t *)data); |
1441 |
|
} |
1442 |
|
|
1443 |
|
static void |
1444 |
|
cb_menu_geotext(GtkWidget *window, gpointer data) { |
1445 |
|
geotext_dialog((appdata_t *)data); |
1446 |
|
} |
1447 |
|
|
1448 |
|
static void |
1449 |
|
cb_menu_precpos(GtkWidget *window, gpointer data) { |
1450 |
|
precise_position((appdata_t *)data); |
1451 |
|
} |
1452 |
|
|
1453 |
|
#ifdef USE_STACKABLE_WINDOW |
1454 |
|
|
1455 |
|
void on_export_clicked(GtkButton *button, appdata_t *appdata) { |
1456 |
|
HildonStackableWindow *view_window; |
1457 |
|
GtkWidget *but; |
1458 |
|
|
1459 |
|
view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ()); |
1460 |
|
gtk_window_set_title (GTK_WINDOW (view_window), "Export"); |
1461 |
|
|
1462 |
|
GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE)); |
1463 |
|
|
1464 |
|
but = hildon_button_new_with_text( |
1465 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1466 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1467 |
|
_("Export to Maemo Mapper"), |
1468 |
|
_("Save a Maemo Mapper POI file")); |
1469 |
|
g_signal_connect(but, "clicked", |
1470 |
|
G_CALLBACK(cb_menu_export_mmpoi), appdata); |
1471 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1472 |
|
|
1473 |
|
|
1474 |
|
but = hildon_button_new_with_text( |
1475 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1476 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1477 |
|
_("Export Field Notes"), |
1478 |
|
_("Save a Garmin Field Notes file")); |
1479 |
|
g_signal_connect(but, "clicked", |
1480 |
|
G_CALLBACK(cb_menu_export_log), appdata); |
1481 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1482 |
|
|
1483 |
|
|
1484 |
|
but = hildon_button_new_with_text( |
1485 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1486 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1487 |
|
_("Export Garmin GPX"), |
1488 |
|
_("Save a GPX file containing modified waypoints")); |
1489 |
|
g_signal_connect(but, "clicked", |
1490 |
|
G_CALLBACK(cb_menu_export_garmin), appdata); |
1491 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1492 |
|
|
1493 |
|
gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents)); |
1494 |
|
gtk_widget_show_all (GTK_WIDGET (view_window)); |
1495 |
|
} |
1496 |
|
|
1497 |
|
void on_tools_clicked(GtkButton *button, appdata_t *appdata) { |
1498 |
|
HildonStackableWindow *view_window; |
1499 |
|
GtkWidget *but; |
1500 |
|
|
1501 |
|
view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ()); |
1502 |
|
gtk_window_set_title (GTK_WINDOW (view_window), "Export"); |
1503 |
|
|
1504 |
|
GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE)); |
1505 |
|
|
1506 |
|
but = hildon_button_new_with_text( |
1507 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1508 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1509 |
|
_("Geomath"), |
1510 |
|
_("Geocoordinate calculation")); |
1511 |
|
g_signal_connect(but, "clicked", |
1512 |
|
G_CALLBACK(cb_menu_geomath), appdata); |
1513 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1514 |
|
|
1515 |
|
|
1516 |
|
but = hildon_button_new_with_text( |
1517 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1518 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1519 |
|
_("Geotext"), |
1520 |
|
_("Text analysis, letter counting etc")); |
1521 |
|
g_signal_connect(but, "clicked", |
1522 |
|
G_CALLBACK(cb_menu_geotext), appdata); |
1523 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1524 |
|
|
1525 |
|
|
1526 |
|
but = hildon_button_new_with_text( |
1527 |
|
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1528 |
|
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1529 |
|
_("Precise Position"), |
1530 |
|
_("Calculate a very precise GPS posotions")); |
1531 |
|
g_signal_connect(but, "clicked", |
1532 |
|
G_CALLBACK(cb_menu_precpos), appdata); |
1533 |
|
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
1534 |
|
|
1535 |
|
gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents)); |
1536 |
|
gtk_widget_show_all (GTK_WIDGET (view_window)); |
1537 |
|
} |
1538 |
|
|
1539 |
|
HildonAppMenu *menu_create(appdata_t *appdata, int mode) { |
1540 |
|
GtkWidget *button; |
1541 |
|
HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); |
1542 |
|
|
1543 |
|
/* ------- */ |
1544 |
|
button = gtk_button_new_with_label(_("Settings")); |
1545 |
|
g_signal_connect_after(button, "clicked", G_CALLBACK(cb_menu_settings), |
1546 |
|
appdata); |
1547 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1548 |
|
|
1549 |
|
if(mode == MENU_GPXLIST) { |
1550 |
|
button = gtk_button_new_with_label(_("Import file")); |
1551 |
|
g_signal_connect_after(button, "clicked", |
1552 |
|
G_CALLBACK(cb_menu_add), appdata); |
1553 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1554 |
|
|
1555 |
|
button = gtk_button_new_with_label(_("Import dir")); |
1556 |
|
g_signal_connect_after(button, "clicked", |
1557 |
|
G_CALLBACK(cb_menu_adddir), appdata); |
1558 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1559 |
|
} |
1560 |
|
|
1561 |
|
if(mode == MENU_GPXLIST) { |
1562 |
|
button = gtk_button_new_with_label(_("Export")); |
1563 |
|
g_signal_connect_after(button, "clicked", |
1564 |
|
G_CALLBACK(on_export_clicked), appdata); |
1565 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1566 |
|
|
1567 |
|
button = gtk_button_new_with_label(_("Search")); |
1568 |
|
g_signal_connect_after(button, "clicked", |
1569 |
|
G_CALLBACK(cb_menu_search), appdata); |
1570 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1571 |
|
} |
1572 |
|
|
1573 |
|
button = gtk_button_new_with_label(_("Tools")); |
1574 |
|
g_signal_connect_after(button, "clicked", |
1575 |
|
G_CALLBACK(on_tools_clicked), appdata); |
1576 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1577 |
|
|
1578 |
|
button = gtk_button_new_with_label(_("About")); |
1579 |
|
g_signal_connect_after(button, "clicked", |
1580 |
|
G_CALLBACK(cb_menu_about), appdata); |
1581 |
|
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1582 |
|
|
1583 |
|
gtk_widget_show(GTK_WIDGET(menu)); |
1584 |
|
|
1585 |
|
return menu; |
1586 |
|
} |
1587 |
|
#else |
1588 |
|
|
1589 |
void menu_create(appdata_t *appdata) { |
void menu_create(appdata_t *appdata) { |
1590 |
GtkWidget *menu, *item; |
GtkWidget *menu, *item; |
1591 |
menu = gtk_menu_new(); |
menu = gtk_menu_new(); |
1592 |
|
|
1593 |
#ifdef USE_MAEMO |
#ifdef USE_BREAD_CRUMB_TRAIL |
1594 |
appdata->menu_import = |
appdata->menu_import = |
1595 |
#endif |
#endif |
1596 |
item = gtk_menu_item_new_with_label(_("Import")); |
item = gtk_menu_item_new_with_label(_("Import")); |
1620 |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_remove), appdata); |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_remove), appdata); |
1621 |
#endif |
#endif |
1622 |
|
|
1623 |
#ifdef USE_MAEMO |
#ifdef USE_BREAD_CRUMB_TRAIL |
1624 |
appdata->menu_export = |
appdata->menu_export = |
1625 |
#endif |
#endif |
1626 |
item = gtk_menu_item_new_with_label(_("Export")); |
item = gtk_menu_item_new_with_label(_("Export")); |
1645 |
g_signal_connect(item, "activate", |
g_signal_connect(item, "activate", |
1646 |
GTK_SIGNAL_FUNC(cb_menu_export_garmin), appdata); |
GTK_SIGNAL_FUNC(cb_menu_export_garmin), appdata); |
1647 |
|
|
1648 |
#ifdef USE_MAEMO |
#ifdef USE_BREAD_CRUMB_TRAIL |
1649 |
appdata->menu_search = |
appdata->menu_search = |
1650 |
#endif |
#endif |
1651 |
item = gtk_menu_item_new_with_label( _("Search...") ); |
item = gtk_menu_item_new_with_label( _("Search...") ); |
1653 |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_search), appdata); |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_search), appdata); |
1654 |
|
|
1655 |
gtk_menu_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); |
gtk_menu_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); |
1656 |
|
|
1657 |
|
#ifndef NO_COPY_N_PASTE |
1658 |
/* ----------- copy'n paste submenu ----------------- */ |
/* ----------- copy'n paste submenu ----------------- */ |
1659 |
appdata->clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); |
appdata->clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); |
1660 |
gtk_clipboard_set_can_store(appdata->clipboard, NULL, 0); |
gtk_clipboard_set_can_store(appdata->clipboard, NULL, 0); |
1676 |
gtk_widget_set_sensitive(item, FALSE); |
gtk_widget_set_sensitive(item, FALSE); |
1677 |
gtk_menu_append(GTK_MENU_SHELL(submenu), item); |
gtk_menu_append(GTK_MENU_SHELL(submenu), item); |
1678 |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_paste), appdata); |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_paste), appdata); |
1679 |
|
#endif |
1680 |
|
|
1681 |
item = gtk_menu_item_new_with_label( _("Settings...") ); |
item = gtk_menu_item_new_with_label( _("Settings") ); |
1682 |
gtk_menu_append(GTK_MENU_SHELL(menu), item); |
gtk_menu_append(GTK_MENU_SHELL(menu), item); |
1683 |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_settings), |
g_signal_connect(item, "activate", GTK_SIGNAL_FUNC(cb_menu_settings), |
1684 |
appdata); |
appdata); |
1739 |
gtk_box_pack_start(GTK_BOX(appdata->vbox), menu_bar, 0, 0, 0); |
gtk_box_pack_start(GTK_BOX(appdata->vbox), menu_bar, 0, 0, 0); |
1740 |
#endif |
#endif |
1741 |
} |
} |
1742 |
|
#endif |
1743 |
|
|
1744 |
/********************* end of menu **********************/ |
/********************* end of menu **********************/ |
1745 |
|
|
2108 |
appdata.vbox = gtk_vbox_new(FALSE, 2); |
appdata.vbox = gtk_vbox_new(FALSE, 2); |
2109 |
gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox); |
gtk_container_add(GTK_CONTAINER(appdata.window), appdata.vbox); |
2110 |
|
|
2111 |
|
#ifndef USE_STACKABLE_WINDOW |
2112 |
menu_create(&appdata); |
menu_create(&appdata); |
2113 |
|
#else |
2114 |
|
hildon_window_set_app_menu(HILDON_WINDOW(appdata.window), |
2115 |
|
menu_create(&appdata, MENU_GPXLIST)); |
2116 |
|
#endif |
2117 |
|
|
2118 |
#ifdef USE_BREAD_CRUMB_TRAIL |
#ifdef USE_BREAD_CRUMB_TRAIL |
2119 |
appdata.bct = hildon_bread_crumb_trail_new(); |
appdata.bct = hildon_bread_crumb_trail_new(); |