]> Pileus Git - ~andy/gtk/commitdiff
Make Tab and Shift-Tab work when the completion popup is shown.
authorMatthias Clasen <maclas@gmx.de>
Sun, 29 Feb 2004 03:41:42 +0000 (03:41 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 29 Feb 2004 03:41:42 +0000 (03:41 +0000)
Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>

* gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
Shift-Tab work when the completion popup is shown.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkentry.c

index 082bbe7c146d352eaede4fa9f3ee2be25ad40d80..44024f2495d4dfea2f3726cf734142e9c73980f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
+       Shift-Tab work when the completion popup is shown.
+
 2004-02-28  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
index 082bbe7c146d352eaede4fa9f3ee2be25ad40d80..44024f2495d4dfea2f3726cf734142e9c73980f0 100644 (file)
@@ -1,3 +1,8 @@
+Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
+       Shift-Tab work when the completion popup is shown.
+
 2004-02-28  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
index 082bbe7c146d352eaede4fa9f3ee2be25ad40d80..44024f2495d4dfea2f3726cf734142e9c73980f0 100644 (file)
@@ -1,3 +1,8 @@
+Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
+       Shift-Tab work when the completion popup is shown.
+
 2004-02-28  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
index 082bbe7c146d352eaede4fa9f3ee2be25ad40d80..44024f2495d4dfea2f3726cf734142e9c73980f0 100644 (file)
@@ -1,3 +1,8 @@
+Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
+       Shift-Tab work when the completion popup is shown.
+
 2004-02-28  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
index 082bbe7c146d352eaede4fa9f3ee2be25ad40d80..44024f2495d4dfea2f3726cf734142e9c73980f0 100644 (file)
@@ -1,3 +1,8 @@
+Sun Feb 29 04:43:29 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkentry.c (gtk_entry_completion_key_press): Make Tab and
+       Shift-Tab work when the completion popup is shown.
+
 2004-02-28  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (create_folder_tree): Use "Name" for
index ab5c2c9e4cf87f2edc95254c4bf45f66fe8646b6..1a28f86002df9cdccfca77fee9c1c5dc54a741f4 100644 (file)
@@ -4634,14 +4634,33 @@ gtk_entry_completion_key_press (GtkWidget   *widget,
 
       return TRUE;
     }
-  else if (event->keyval == GDK_ISO_Enter ||
-           event->keyval == GDK_Return ||
-           event->keyval == GDK_Escape)
+  else if (event->keyval == GDK_Escape) 
     {
       _gtk_entry_completion_popdown (completion);
 
-      if (event->keyval == GDK_Escape)
-        return TRUE;
+      return TRUE;
+    }
+  else if (event->keyval == GDK_Tab || 
+          event->keyval == GDK_KP_Tab ||
+          event->keyval == GDK_ISO_Left_Tab) 
+    {
+      GtkWidget *entry;
+      GtkDirectionType dir = event->keyval == GDK_ISO_Left_Tab ? 
+       GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD;
+
+      _gtk_entry_completion_popdown (completion);
+      
+      entry = gtk_entry_completion_get_entry (completion);
+
+      gtk_widget_child_focus (gtk_widget_get_toplevel (entry), 
+                             GTK_DIR_TAB_FORWARD);
+
+      return TRUE;
+    }
+  else if (event->keyval == GDK_ISO_Enter || 
+          event->keyval == GDK_Return)
+    {
+      _gtk_entry_completion_popdown (completion);
 
       if (completion->priv->current_selected < matches)
         {