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:

committed by
Chris Lahey

parent
905f7de48f
commit
12ba6679ac
@ -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) {
|
||||
|
Reference in New Issue
Block a user