Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--shell/ev-view.c15
2 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index f05b54f..513a96e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2005-01-21 Marco Pesenti Gritti <marco@gnome.org>
+ * shell/ev-view.c: (ev_view_button_press_event),
+ (ev_view_motion_notify_event):
+
+ Make selection work in any direction
+
+2005-01-21 Marco Pesenti Gritti <marco@gnome.org>
+
* TODO:
* shell/ev-window.c: (set_short_labels), (ev_window_init):
diff --git a/shell/ev-view.c b/shell/ev-view.c
index f2f879b..6997c5d 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -77,6 +77,7 @@ struct _EvView {
gboolean pressed_button;
gboolean has_selection;
+ GdkPoint selection_start;
GdkRectangle selection;
EvViewCursor cursor;
@@ -529,10 +530,8 @@ ev_view_button_press_event (GtkWidget *widget,
gtk_widget_queue_draw (widget);
}
- view->selection.x = event->x;
- view->selection.y = event->y;
- view->selection.width = 0;
- view->selection.height = 0;
+ view->selection_start.x = event->x;
+ view->selection_start.y = event->y;
break;
}
@@ -630,10 +629,10 @@ ev_view_motion_notify_event (GtkWidget *widget,
if (view->pressed_button > 0) {
view->has_selection = TRUE;
- view->selection.x = MIN (view->selection.x, event->x);
- view->selection.y = MIN (view->selection.y, event->y);
- view->selection.width = ABS (view->selection.x - event->x) + 1;
- view->selection.height = ABS (view->selection.y - event->y) + 1;
+ view->selection.x = MIN (view->selection_start.x, event->x);
+ view->selection.y = MIN (view->selection_start.y, event->y);
+ view->selection.width = ABS (view->selection_start.x - event->x) + 1;
+ view->selection.height = ABS (view->selection_start.y - event->y) + 1;
} else if (view->document) {
EvLink *link;