1672 |
} |
} |
1673 |
#endif |
#endif |
1674 |
|
|
1675 |
|
static void cb_clipboard_set(GtkWidget *item, gpointer data) { |
1676 |
|
appdata_t *appdata = (appdata_t*)data; |
1677 |
|
|
1678 |
|
pos_t pos = goto_pos_get(item); |
1679 |
|
if(!isnan(pos.lat) && !isnan(pos.lon)) { |
1680 |
|
char lat[32], lon[32]; |
1681 |
|
pos_lat_str(lat, sizeof(lat), pos.lat); |
1682 |
|
pos_lon_str(lon, sizeof(lon), pos.lon); |
1683 |
|
|
1684 |
|
char *str = g_strdup_printf("%s %s", lat, lon); |
1685 |
|
gtk_clipboard_set_text(appdata->clipboard, str, -1); |
1686 |
|
g_free(str); |
1687 |
|
} |
1688 |
|
} |
1689 |
|
|
1690 |
#ifndef PRESET_PICKER_DIALOG |
#ifndef PRESET_PICKER_DIALOG |
1691 |
static GtkWidget *goto_popup_menu_create(appdata_t *appdata, |
static GtkWidget *goto_popup_menu_create(appdata_t *appdata, |
1692 |
GtkWidget *lat_entry, GtkWidget *lon_entry) { |
GtkWidget *lat_entry, GtkWidget *lon_entry) { |
1701 |
menu_add(menu, appdata, icon_get_widget(ICON_POS, 24), |
menu_add(menu, appdata, icon_get_widget(ICON_POS, 24), |
1702 |
_("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry); |
_("Maemo Mapper"), cb_mm_set, 0, lon_entry, lat_entry); |
1703 |
#endif |
#endif |
1704 |
|
|
1705 |
|
menu_add(menu, appdata, icon_get_widget(ICON_POS, 25), |
1706 |
|
_("Clipboard"), cb_clipboard_set, 0, lon_entry, lat_entry); |
1707 |
|
|
1708 |
gtk_widget_show_all(menu); |
gtk_widget_show_all(menu); |
1709 |
|
|
1749 |
_("Maemo Mapper"), cb_mm_set, 0); |
_("Maemo Mapper"), cb_mm_set, 0); |
1750 |
#endif |
#endif |
1751 |
|
|
1752 |
|
preset_picker_add(store, appdata, icon_get(ICON_POS, 25), |
1753 |
|
_("Clipboard"), cb_clipboard_set, 0); |
1754 |
|
|
1755 |
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)); |
1756 |
g_object_unref(store); |
g_object_unref(store); |
1757 |
|
|
1781 |
|
|
1782 |
if(event->type == GDK_BUTTON_PRESS) { |
if(event->type == GDK_BUTTON_PRESS) { |
1783 |
|
|
|
#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 |
|
|
|
|
1784 |
gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry"); |
gpointer lat_entry = g_object_get_data(G_OBJECT(button), "lat_entry"); |
1785 |
g_assert(lat_entry); |
g_assert(lat_entry); |
1786 |
gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry"); |
gpointer lon_entry = g_object_get_data(G_OBJECT(button), "lon_entry"); |
1813 |
gtk_dialog_run(GTK_DIALOG(dialog)); |
gtk_dialog_run(GTK_DIALOG(dialog)); |
1814 |
gtk_widget_destroy(dialog); |
gtk_widget_destroy(dialog); |
1815 |
#endif |
#endif |
|
|
|
|
#endif |
|
1816 |
|
|
1817 |
return TRUE; |
return TRUE; |
1818 |
} |
} |