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
This commit is contained in:
Christopher James Lahey
2000-01-28 06:03:48 +00:00
committed by Chris Lahey
parent 905f7de48f
commit 12ba6679ac
21 changed files with 1373 additions and 1004 deletions

View File

@ -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) {