From 12ba6679acf39fabedc1748a57998a418e549df6 Mon Sep 17 00:00:00 2001
From: Christopher James Lahey <clahey@helixcode.com>
Date: Fri, 28 Jan 2000 06:03:48 +0000
Subject: Handle the grab and ungrab command instead of doing focus by hand.
 This

2000-01-28  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c (e_text_command): Handle the grab and ungrab
        command instead of doing focus by hand.  This fixes a problem
        related to the scroll wheel.
        (e_text_command): Reset the blink timer in many more command
        situations so that the cursor blinks less when you're interacting
        with it.

        * widgets/e-text-event-processor-emacs-like.c: Send the grab focus
        command when starting a selection and the ungrab focus command
        when ending it.

        * widgets/e-text-event-processor-types.h: Added grab command type
        so that the event processor can tell the widget to grab the focus.

        * widgets/e-reflow.c: Redefined all sizes using #defines so that
        they can be tweaked later.  Added scroll wheel handling and set up
        adjustment increments so that the scroll bars will work correctly.

        * widgets/e-minicard.h: Added minicard focus type enum.  This
        doesn't mean anything yet, but it will later be used to say which
        direction the focus is coming from (below for shift-tab, above for
        tab.)

svn path=/trunk/; revision=1650
---
 e-util/e-text-event-processor-emacs-like.c | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'e-util/e-text-event-processor-emacs-like.c')

diff --git a/e-util/e-text-event-processor-emacs-like.c b/e-util/e-text-event-processor-emacs-like.c
index d2bf524401..41bcd0c31d 100644
--- a/e-util/e-text-event-processor-emacs-like.c
+++ b/e-util/e-text-event-processor-emacs-like.c
@@ -146,6 +146,9 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro
 	switch (event->type) {
 	case GDK_BUTTON_PRESS:
 		if (event->button.button == 1) {
+			command.action = E_TEP_GRAB;
+			command.time = event->button.time;
+			gtk_signal_emit_by_name (GTK_OBJECT (tep), "command", &command);
 			if (event->button.state & GDK_SHIFT_MASK)
 				command.action = E_TEP_SELECT;
 			else
@@ -158,6 +161,9 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro
 		break;
 	case GDK_BUTTON_RELEASE:
 		if (event->button.button == 1) {
+			command.action = E_TEP_UNGRAB;
+			command.time = event->button.time;
+			gtk_signal_emit_by_name (GTK_OBJECT (tep), "command", &command);
 			command.time = event->button.time;
 			tep_el->mouse_down = FALSE;
 		} else if (event->button.button == 2) {
-- 
cgit