aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-text-event-processor-emacs-like.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-10-03 03:27:47 +0800
committerChris Lahey <clahey@src.gnome.org>2001-10-03 03:27:47 +0800
commit8f6ee6cb9b3292a91ac783c25508a701d34400f9 (patch)
treeabd63eff6a91ac8943a74b23f4475e02b6fc0933 /e-util/e-text-event-processor-emacs-like.c
parent1057efd639f0f3f0cef84fb492ef4b6bc4bd8bce (diff)
downloadgsoc2013-evolution-8f6ee6cb9b3292a91ac783c25508a701d34400f9.tar.gz
gsoc2013-evolution-8f6ee6cb9b3292a91ac783c25508a701d34400f9.tar.zst
gsoc2013-evolution-8f6ee6cb9b3292a91ac783c25508a701d34400f9.zip
Don't handle control-enter if allow_newlines is off. Fixes Ximian bug
2001-10-02 Christopher James Lahey <clahey@ximian.com> * gal/util/e-text-event-processor-emacs-like.c (e_text_event_processor_emacs_like_event): Don't handle control-enter if allow_newlines is off. Fixes Ximian bug #3742. svn path=/trunk/; revision=13345
Diffstat (limited to 'e-util/e-text-event-processor-emacs-like.c')
-rw-r--r--e-util/e-text-event-processor-emacs-like.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/e-util/e-text-event-processor-emacs-like.c b/e-util/e-text-event-processor-emacs-like.c
index f3077ae42f..652e4b9ff6 100644
--- a/e-util/e-text-event-processor-emacs-like.c
+++ b/e-util/e-text-event-processor-emacs-like.c
@@ -306,13 +306,23 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro
case GDK_Return:
case GDK_KP_Enter:
if (tep->allow_newlines) {
- command.action = E_TEP_INSERT;
- command.position = E_TEP_SELECTION;
- command.value = 1;
- command.string = "\n";
+ if (key.state & GDK_CONTROL_MASK) {
+ command.action = E_TEP_ACTIVATE;
+ command.position = E_TEP_SELECTION;
+ } else {
+ command.action = E_TEP_INSERT;
+ command.position = E_TEP_SELECTION;
+ command.value = 1;
+ command.string = "\n";
+ }
} else {
- command.action = E_TEP_ACTIVATE;
- command.position = E_TEP_SELECTION;
+ if (key.state & GDK_CONTROL_MASK) {
+ command.action = E_TEP_NOP;
+ command.position = E_TEP_SELECTION;
+ } else {
+ command.action = E_TEP_ACTIVATE;
+ command.position = E_TEP_SELECTION;
+ }
}
break;
case GDK_Escape: