--- trunk/src/html.c 2009/12/02 20:05:52 226 +++ trunk/src/html.c 2009/12/04 19:58:26 229 @@ -18,6 +18,7 @@ */ #include "gpxview.h" +#include typedef struct load_context { int active; @@ -348,10 +349,12 @@ #endif #ifdef PANNABLE_HTML -/* eat the button events */ -static gboolean on_button_press(GtkWidget *widget, GdkEventButton *event, - gpointer user_data) { - return TRUE; +static void +tap_and_hold_cb (GtkWidget *widget, gpointer user_data) { + appdata_t *appdata = (appdata_t*)user_data; + + printf("Tap n hold\n"); + hildon_banner_show_information(GTK_WIDGET(appdata->window), NULL, "Tap n hold"); } #endif @@ -399,12 +402,8 @@ (*h)->view = view; #ifdef PANNABLE_HTML - /* this causes finger scrolling to work nicely but also prevents */ - /* copy'n paste from working correctly */ - gtk_widget_set_sensitive(GTK_WIDGET(view), FALSE); - - g_signal_connect(G_OBJECT(view), "button-press-event", - G_CALLBACK(on_button_press), NULL); + gtk_widget_tap_and_hold_setup(GTK_WIDGET(view), NULL, NULL, 0); + g_signal_connect(G_OBJECT(view), "tap-and-hold", G_CALLBACK(tap_and_hold_cb), appdata); #endif g_signal_connect(G_OBJECT(view), "destroy", @@ -418,6 +417,9 @@ #else view = hildon_text_view_new(); hildon_text_view_set_buffer(HILDON_TEXT_VIEW(view), buffer); + + gtk_widget_tap_and_hold_setup(GTK_WIDGET(view), NULL, NULL, 0); + g_signal_connect(G_OBJECT(view), "tap-and-hold", G_CALLBACK(tap_and_hold_cb), appdata); #endif gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD);