1035 |
char *str = g_strdup_printf("%s\n\n(%s)", |
char *str = g_strdup_printf("%s\n\n(%s)", |
1036 |
_("GPXView (c) 2008-2009 by\n" |
_("GPXView (c) 2008-2009 by\n" |
1037 |
"Till Harbaum <till@harbaum.org>\n" |
"Till Harbaum <till@harbaum.org>\n" |
1038 |
"Mailing list: gpxview-users@garage.maemo.org" |
"Mailing list: gpxview-users@garage.maemo.org"), |
1039 |
_(uses) |
_(uses) |
1040 |
); |
); |
1041 |
|
|
1493 |
cb_menu_export_log(GtkWidget *widget, gpointer data) { |
cb_menu_export_log(GtkWidget *widget, gpointer data) { |
1494 |
appdata_t *appdata = (appdata_t*)data; |
appdata_t *appdata = (appdata_t*)data; |
1495 |
notes_log_export(appdata); |
notes_log_export(appdata); |
1496 |
|
#ifdef USE_STACKABLE_WINDOW |
1497 |
|
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1498 |
|
#endif |
1499 |
} |
} |
1500 |
|
|
1501 |
#ifdef USE_MAEMO |
#ifdef USE_MAEMO |
1503 |
cb_menu_export_mmpoi(GtkWidget *widget, gpointer data) { |
cb_menu_export_mmpoi(GtkWidget *widget, gpointer data) { |
1504 |
appdata_t *appdata = (appdata_t*)data; |
appdata_t *appdata = (appdata_t*)data; |
1505 |
mmpoi_export(appdata); |
mmpoi_export(appdata); |
1506 |
|
#ifdef USE_STACKABLE_WINDOW |
1507 |
|
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1508 |
|
#endif |
1509 |
} |
} |
1510 |
#endif |
#endif |
1511 |
|
|
1513 |
cb_menu_export_garmin(GtkWidget *widget, gpointer data) { |
cb_menu_export_garmin(GtkWidget *widget, gpointer data) { |
1514 |
appdata_t *appdata = (appdata_t*)data; |
appdata_t *appdata = (appdata_t*)data; |
1515 |
garmin_export(appdata); |
garmin_export(appdata); |
1516 |
|
#ifdef USE_STACKABLE_WINDOW |
1517 |
|
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1518 |
|
#endif |
1519 |
} |
} |
1520 |
|
|
1521 |
static void |
static void |
1522 |
cb_menu_geomath(GtkWidget *window, gpointer data) { |
cb_menu_geomath(GtkWidget *window, gpointer data) { |
1523 |
geomath_dialog((appdata_t *)data); |
geomath_dialog((appdata_t *)data); |
1524 |
|
#ifdef USE_STACKABLE_WINDOW |
1525 |
|
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1526 |
|
#endif |
1527 |
} |
} |
1528 |
|
|
1529 |
static void |
static void |
1530 |
cb_menu_geotext(GtkWidget *window, gpointer data) { |
cb_menu_geotext(GtkWidget *window, gpointer data) { |
1531 |
geotext_dialog((appdata_t *)data); |
geotext_dialog((appdata_t *)data); |
1532 |
|
#ifdef USE_STACKABLE_WINDOW |
1533 |
|
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1534 |
|
#endif |
1535 |
} |
} |
1536 |
|
|
1537 |
static void |
static void |
1538 |
cb_menu_precpos(GtkWidget *window, gpointer data) { |
cb_menu_precpos(GtkWidget *window, gpointer data) { |
1539 |
precise_position((appdata_t *)data); |
precise_position((appdata_t *)data); |
|
} |
|
|
|
|
1540 |
#ifdef USE_STACKABLE_WINDOW |
#ifdef USE_STACKABLE_WINDOW |
1541 |
static void on_export_destroy(GtkWidget *widget, appdata_t *appdata) { |
hildon_window_stack_pop_1 (hildon_window_stack_get_default()); |
1542 |
appdata->cur_view = g_object_get_data(G_OBJECT(widget), "cur_view"); |
#endif |
1543 |
} |
} |
1544 |
|
|
1545 |
void on_export_clicked(GtkButton *button, appdata_t *appdata) { |
#ifdef USE_STACKABLE_WINDOW |
1546 |
HildonStackableWindow *view_window; |
static GtkWidget *export_menu_create(appdata_t *appdata) { |
1547 |
GtkWidget *but; |
GtkWidget *button; |
1548 |
|
HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); |
|
view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ()); |
|
|
gtk_window_set_title (GTK_WINDOW (view_window), "GPXView - Export"); |
|
|
|
|
|
/* store last "cur_view" in window */ |
|
|
g_object_set_data(G_OBJECT(view_window), "cur_view", appdata->cur_view); |
|
|
appdata->cur_view = NULL; |
|
|
|
|
|
g_signal_connect(G_OBJECT(view_window), "destroy", |
|
|
G_CALLBACK(on_export_destroy), appdata); |
|
|
|
|
|
GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE)); |
|
1549 |
|
|
1550 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1551 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1552 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1553 |
_("Export to Maemo Mapper"), |
_("Export to Maemo Mapper"), |
1554 |
_("Save a Maemo Mapper POI file")); |
_("Save a Maemo Mapper POI file")); |
1555 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1556 |
G_CALLBACK(cb_menu_export_mmpoi), appdata); |
G_CALLBACK(cb_menu_export_mmpoi), appdata); |
1557 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
|
|
|
1558 |
|
|
1559 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1560 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1561 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1562 |
_("Export Field Notes"), |
_("Export Field Notes"), |
1563 |
_("Save a Garmin Field Notes file")); |
_("Save a Garmin Field Notes file")); |
1564 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1565 |
G_CALLBACK(cb_menu_export_log), appdata); |
G_CALLBACK(cb_menu_export_log), appdata); |
1566 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
|
|
|
1567 |
|
|
1568 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1569 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1570 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1571 |
_("Export Garmin GPX"), |
_("Export Garmin GPX"), |
1572 |
_("Save a GPX file containing modified waypoints")); |
_("Save modified waypoints in GPX file")); |
1573 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1574 |
G_CALLBACK(cb_menu_export_garmin), appdata); |
G_CALLBACK(cb_menu_export_garmin), appdata); |
1575 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1576 |
|
|
1577 |
gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents)); |
gtk_widget_show_all(GTK_WIDGET(menu)); |
|
gtk_widget_show_all (GTK_WIDGET (view_window)); |
|
|
} |
|
1578 |
|
|
1579 |
static void on_tools_destroy(GtkWidget *widget, appdata_t *appdata) { |
return GTK_WIDGET(menu); |
|
appdata->cur_view = g_object_get_data(G_OBJECT(widget), "cur_view"); |
|
1580 |
} |
} |
1581 |
|
|
1582 |
void on_tools_clicked(GtkButton *button, appdata_t *appdata) { |
/* the export submenu */ |
1583 |
HildonStackableWindow *view_window; |
void on_export_clicked(GtkButton *button, appdata_t *appdata) { |
1584 |
GtkWidget *but; |
if(!appdata->export_menu) |
1585 |
|
appdata->export_menu = export_menu_create(appdata); |
|
view_window = HILDON_STACKABLE_WINDOW (hildon_stackable_window_new ()); |
|
|
gtk_window_set_title (GTK_WINDOW (view_window), "GPXView - Tools"); |
|
|
|
|
|
/* store last "cur_view" in window */ |
|
|
g_object_set_data(G_OBJECT(view_window), "cur_view", appdata->cur_view); |
|
|
appdata->cur_view = NULL; |
|
1586 |
|
|
1587 |
g_signal_connect(G_OBJECT(view_window), "destroy", |
/* draw a popup menu */ |
1588 |
G_CALLBACK(on_tools_destroy), appdata); |
hildon_app_menu_popup(HILDON_APP_MENU(appdata->export_menu), |
1589 |
|
GTK_WINDOW(hildon_window_stack_peek( |
1590 |
|
hildon_window_stack_get_default()))); |
1591 |
|
} |
1592 |
|
|
1593 |
GtkVBox *contents = GTK_VBOX(gtk_vbox_new (12, FALSE)); |
static GtkWidget *tools_menu_create(appdata_t *appdata) { |
1594 |
|
GtkWidget *button; |
1595 |
|
HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); |
1596 |
|
|
1597 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1598 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1599 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1600 |
_("Geomath"), |
_("Geomath"), |
1601 |
_("Geocoordinate calculation")); |
_("Geocoordinate calculation")); |
1602 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1603 |
G_CALLBACK(cb_menu_geomath), appdata); |
G_CALLBACK(cb_menu_geomath), appdata); |
1604 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1605 |
|
|
1606 |
|
|
1607 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1608 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1609 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1610 |
_("Geotext"), |
_("Geotext"), |
1611 |
_("Text analysis, letter counting etc")); |
_("Text analysis")); |
1612 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1613 |
G_CALLBACK(cb_menu_geotext), appdata); |
G_CALLBACK(cb_menu_geotext), appdata); |
1614 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1615 |
|
|
1616 |
|
|
1617 |
but = hildon_button_new_with_text( |
button = hildon_button_new_with_text( |
1618 |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, |
1619 |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
HILDON_BUTTON_ARRANGEMENT_VERTICAL, |
1620 |
_("Precise Position"), |
_("Precise Position"), |
1621 |
_("Calculate a very precise GPS position")); |
_("Calculate a precise GPS position")); |
1622 |
g_signal_connect(but, "clicked", |
g_signal_connect(button, "clicked", |
1623 |
G_CALLBACK(cb_menu_precpos), appdata); |
G_CALLBACK(cb_menu_precpos), appdata); |
1624 |
gtk_box_pack_start(GTK_BOX(contents), but, FALSE, FALSE, 0); |
hildon_app_menu_append(menu, GTK_BUTTON(button)); |
1625 |
|
|
1626 |
|
gtk_widget_show_all(GTK_WIDGET(menu)); |
1627 |
|
|
1628 |
|
return GTK_WIDGET(menu); |
1629 |
|
} |
1630 |
|
|
1631 |
|
/* the tools submenu */ |
1632 |
|
void on_tools_clicked(GtkButton *button, appdata_t *appdata) { |
1633 |
|
if(!appdata->tools_menu) |
1634 |
|
appdata->tools_menu = tools_menu_create(appdata); |
1635 |
|
|
1636 |
gtk_container_add (GTK_CONTAINER (view_window), GTK_WIDGET (contents)); |
/* draw a popup menu */ |
1637 |
gtk_widget_show_all (GTK_WIDGET (view_window)); |
hildon_app_menu_popup(HILDON_APP_MENU(appdata->tools_menu), |
1638 |
|
GTK_WINDOW(hildon_window_stack_peek( |
1639 |
|
hildon_window_stack_get_default()))); |
1640 |
} |
} |
1641 |
|
|
1642 |
|
|
1643 |
HildonAppMenu *menu_create(appdata_t *appdata, int mode) { |
HildonAppMenu *menu_create(appdata_t *appdata, int mode) { |
1644 |
GtkWidget *button; |
GtkWidget *button; |
1645 |
HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); |
HildonAppMenu *menu = HILDON_APP_MENU(hildon_app_menu_new()); |