1635 |
return button; |
return button; |
1636 |
} |
} |
1637 |
|
|
|
#if defined(ENABLE_MAEMO_MAPPER) || defined(ENABLE_OSM_GPS_MAP) |
|
1638 |
static pos_t goto_pos_get(GtkWidget *item) { |
static pos_t goto_pos_get(GtkWidget *item) { |
1639 |
pos_t pos; |
pos_t pos; |
1640 |
|
|
1647 |
return pos; |
return pos; |
1648 |
} |
} |
1649 |
|
|
|
#if defined(ENABLE_MAEMO_MAPPER) && defined(ENABLE_OSM_GPS_MAP) |
|
1650 |
#ifdef ENABLE_MAEMO_MAPPER |
#ifdef ENABLE_MAEMO_MAPPER |
1651 |
static void cb_mm_set(GtkWidget *item, gpointer data) { |
static void cb_mm_set(GtkWidget *item, gpointer data) { |
1652 |
appdata_t *appdata = (appdata_t*)data; |
appdata_t *appdata = (appdata_t*)data; |
1670 |
} |
} |
1671 |
#endif |
#endif |
1672 |
|
|
1673 |
|
static void cb_clipboard_set(GtkWidget *item, gpointer data) { |
1674 |
|
appdata_t *appdata = (appdata_t*)data; |
1675 |
|
|
1676 |
|
pos_t pos = goto_pos_get(item); |
1677 |
|
if(!isnan(pos.lat) && !isnan(pos.lon)) { |
1678 |
|
char lat[32], lon[32]; |
1679 |
|
pos_lat_str(lat, sizeof(lat), pos.lat); |
1680 |
|
pos_lon_str(lon, sizeof(lon), pos.lon); |
1681 |
|
|
1682 |
|
char *str = g_strdup_printf("%s %s", lat, lon); |
1683 |
|
gtk_clipboard_set_text(appdata->clipboard, str, -1); |
1684 |
|
g_free(str); |
1685 |
|
} |
1686 |
|
} |
1687 |
|
|
1688 |
#ifndef PRESET_PICKER_DIALOG |
#ifndef PRESET_PICKER_DIALOG |
1689 |
static GtkWidget *goto_popup_menu_create(appdata_t *appdata, |
static GtkWidget *goto_popup_menu_create(appdata_t *appdata, |
1690 |
GtkWidget *lat_entry, GtkWidget *lon_entry) { |
GtkWidget *lat_entry, GtkWidget *lon_entry) { |
1699 |
menu_add(menu, appdata, icon_get_widget(ICON_POS, 24), |
menu_add(menu, appdata, icon_get_widget(ICON_POS, 24), |
1700 |
_("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry); |
_("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry); |
1701 |
#endif |
#endif |
1702 |
|
|
1703 |
|
menu_add(menu, appdata, icon_get_widget(ICON_POS, 25), |
1704 |
|
_("Clipboard"), cb_clipboard_set, 0, lon_entry, lat_entry); |
1705 |
|
|
1706 |
gtk_widget_show_all(menu); |
gtk_widget_show_all(menu); |
1707 |
|
|
1747 |
_("Maemo Mapper"), cb_mm_set, 0); |
_("Maemo Mapper"), cb_mm_set, 0); |
1748 |
#endif |
#endif |
1749 |
|
|
1750 |
|
preset_picker_add(store, appdata, icon_get(ICON_POS, 25), |
1751 |
|
_("Clipboard"), cb_clipboard_set, 0); |
1752 |
|
|
1753 |
gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store)); |
gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store)); |
1754 |
g_object_unref(store); |
g_object_unref(store); |
1755 |
|
|
1771 |
#endif |
#endif |
1772 |
} |
} |
1773 |
#endif |
#endif |
|
#endif |
|
1774 |
|
|
1775 |
static gint on_goto_button_press(GtkWidget *button, |
static gint on_goto_button_press(GtkWidget *button, |
1776 |
GdkEventButton *event, gpointer data) { |
GdkEventButton *event, gpointer data) { |
1778 |
|
|
1779 |
if(event->type == GDK_BUTTON_PRESS) { |
if(event->type == GDK_BUTTON_PRESS) { |
1780 |
|
|
|
#if defined(ENABLE_MAEMO_MAPPER) && !defined(ENABLE_OSM_GPS_MAP) |
|
|
/* only maemo mapper is being used */ |
|
|
pos_t pos = goto_pos_get(button); |
|
|
if(!isnan(pos.lat) && !isnan(pos.lon)) |
|
|
dbus_mm_set_position(appdata, &pos); |
|
|
#elif !defined(ENABLE_MAEMO_MAPPER) && defined(ENABLE_OSM_GPS_MAP) |
|
|
/* only internal map is being used */ |
|
|
pos_t pos = goto_pos_get(button); |
|
|
if(!isnan(pos.lat) && !isnan(pos.lon)) { |
|
|
map(appdata); |
|
|
osm_gps_map_set_center(OSM_GPS_MAP(appdata->map.context->widget), |
|
|
pos.lat, pos.lon); |
|
|
} |
|
|
#else |
|
|
|
|
1781 |
gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry"); |
gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry"); |
1782 |
g_assert(lat_entry); |
g_assert(lat_entry); |
1783 |
gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry"); |
gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry"); |
1810 |
gtk_dialog_run(GTK_DIALOG(dialog)); |
gtk_dialog_run(GTK_DIALOG(dialog)); |
1811 |
gtk_widget_destroy(dialog); |
gtk_widget_destroy(dialog); |
1812 |
#endif |
#endif |
|
|
|
|
#endif |
|
1813 |
|
|
1814 |
return TRUE; |
return TRUE; |
1815 |
} |
} |
1847 |
|
|
1848 |
return button; |
return button; |
1849 |
} |
} |
|
#else |
|
|
/* no map installed */ |
|
|
GtkWidget *goto_coordinate(appdata_t *appdata, |
|
|
GtkWidget *lat_entry, GtkWidget *lon_entry) { |
|
|
return gtk_label_new(""); |
|
|
} |
|
|
#endif |
|
1850 |
|
|
1851 |
GtkWidget *entry_new(void) { |
GtkWidget *entry_new(void) { |
1852 |
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |
#if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5) |