#include <modest-text-utils.h>
#include <modest-recpt-view.h>
+#define RECPT_VIEW_CLICK_AREA_THRESHOLD 32
+
static GObjectClass *parent_class = NULL;
/* signals */
if ((priv->button_pressed) &&
(event->type == GDK_BUTTON_RELEASE) &&
- (priv->pressed_x == event->x) &&
- (priv->pressed_y == event->y)) {
+ ((event->x >= priv->pressed_x - RECPT_VIEW_CLICK_AREA_THRESHOLD)&&
+ (event->x <= priv->pressed_x + RECPT_VIEW_CLICK_AREA_THRESHOLD)) &&
+ ((event->y >= priv->pressed_y - RECPT_VIEW_CLICK_AREA_THRESHOLD)&&
+ (event->y <= priv->pressed_y + RECPT_VIEW_CLICK_AREA_THRESHOLD))) {
priv->button_pressed = FALSE;
if (event->button == 1) {
gint buffer_x, buffer_y;
int index;
GtkTextIter iter;
+ gtk_widget_grab_focus (GTK_WIDGET (text_view));
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view), GTK_TEXT_WINDOW_WIDGET,
event->x, event->y, &buffer_x, &buffer_y);
gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (text_view), &iter, buffer_x, buffer_y);
text_view = GTK_TEXT_VIEW(modest_scroll_text_get_text_view (MODEST_SCROLL_TEXT (instance)));
g_signal_connect (G_OBJECT (text_view), "button-press-event", G_CALLBACK (button_press_event), instance);
- g_signal_connect (G_OBJECT (text_view), "button-release-event", G_CALLBACK (button_release_event), instance);
+ g_signal_connect_after (G_OBJECT (text_view), "button-release-event", G_CALLBACK (button_release_event), instance);
return;
}