From 3bd65230741c43b18f21765ef0f99ec935c5c769 Mon Sep 17 00:00:00 2001 From: Moritz Lipp Date: Sat, 19 Jun 2010 16:38:57 +0200 Subject: [PATCH] Behaviour when buffer is not empty This commit does not allow every shortcut when the buffer is not empty --- zathura.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/zathura.c b/zathura.c index 3eba9e9..4136f57 100644 --- a/zathura.c +++ b/zathura.c @@ -3880,13 +3880,17 @@ cb_view_kb_pressed(GtkWidget *widget, GdkEventKey *event, gpointer data) { if( event->keyval == sc->element.key && ((CLEAN(event->state) == sc->element.mask) || - ((sc->element.mask == 0) && (sc->element.key >= 20 && sc->element.key <= 126))) && + ((sc->element.mask == 0) && (sc->element.key >= 0x21 && sc->element.key <= 0x7E))) && (Zathura.Global.mode & sc->element.mode || sc->element.mode == ALL) && sc->element.function ) { - sc->element.function(&(sc->element.argument)); - return TRUE; + if(!(Zathura.Global.buffer && strlen(Zathura.Global.buffer->str)) ^ + ((sc->element.mask == GDK_CONTROL_MASK) || (sc->element.mask == GDK_MOD1_MASK))) + { + sc->element.function(&(sc->element.argument)); + return TRUE; + } } sc = sc->next; @@ -3906,7 +3910,7 @@ cb_view_kb_pressed(GtkWidget *widget, GdkEventKey *event, gpointer data) } /* append only numbers and characters to buffer */ - if( (event->keyval >= 0x21) && (event->keyval <= 0x7A)) + if( (event->keyval >= 0x21) && (event->keyval <= 0x7E)) { if(!Zathura.Global.buffer) Zathura.Global.buffer = g_string_new("");