[gtk+] Added "shift" modifier versions of keybings for GtkFileChooser "folder-up"/"folder-down" bindings.
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Added "shift" modifier versions of keybings for GtkFileChooser "folder-up"/"folder-down" bindings.
- Date: Mon, 31 Jan 2011 20:09:27 +0000 (UTC)
commit ddb4b3ebe2fca5eb5da6bc6a70549885df10faaf
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sat Jan 29 20:06:25 2011 +0900
Added "shift" modifier versions of keybings for GtkFileChooser "folder-up"/"folder-down" bindings.
Also updated documentation, closes bug 322926
gtk/gtkfilechooser.c | 15 ++++++++++---
gtk/gtkfilechooserdefault.c | 46 ++++++++++++++++++++++++++++---------------
2 files changed, 41 insertions(+), 20 deletions(-)
---
diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c
index 9243612..19071fe 100644
--- a/gtk/gtkfilechooser.c
+++ b/gtk/gtkfilechooser.c
@@ -222,18 +222,25 @@
* <row>
* <entry>up-folder</entry>
* <entry>
- * <keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo>
+ * <keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo>;
+ * <keycombo><keycap>Alt</keycap><keycap>Shift</keycap><keycap>Up</keycap></keycombo>
* <footnote>
* Both the individual Up key and the numeric
* keypad's Up key are supported.
- * </footnote>
- * ;
+ * </footnote>;
* <keycap>Backspace</keycap>
* </entry>
* </row>
* <row>
* <entry>down-folder</entry>
- * <entry><keycombo><keycap>Alt</keycap><keycap>Down</keycap></keycombo></entry>
+ * <entry>
+ * <keycombo><keycap>Alt</keycap><keycap>Down</keycap></keycombo>;
+ * <keycombo><keycap>Alt</keycap><keycap>Shift</keycap><keycap>Down</keycap></keycombo>
+ * <footnote>
+ * Both the individual Down key and the numeric
+ * keypad's Down key are supported.
+ * </footnote>
+ * </entry>
* </row>
* <row>
* <entry>home-folder</entry>
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index fc89dc9..57d0514 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -465,6 +465,22 @@ G_DEFINE_TYPE_WITH_CODE (GtkFileChooserDefault, _gtk_file_chooser_default, GTK_T
G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER_EMBED,
gtk_file_chooser_embed_default_iface_init));
+
+static void
+add_normal_and_shifted_binding (GtkBindingSet *binding_set,
+ guint keyval,
+ GdkModifierType modifiers,
+ const gchar *signal_name)
+{
+ gtk_binding_entry_add_signal (binding_set,
+ keyval, modifiers,
+ signal_name, 0);
+
+ gtk_binding_entry_add_signal (binding_set,
+ keyval, modifiers | GDK_SHIFT_MASK,
+ signal_name, 0);
+}
+
static void
_gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
{
@@ -618,26 +634,24 @@ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
"location-popup-on-paste",
0);
gtk_binding_entry_add_signal (binding_set,
- GDK_KEY_Up, GDK_MOD1_MASK,
- "up-folder",
- 0);
- gtk_binding_entry_add_signal (binding_set,
GDK_KEY_BackSpace, 0,
"up-folder",
0);
- gtk_binding_entry_add_signal (binding_set,
- GDK_KEY_KP_Up, GDK_MOD1_MASK,
- "up-folder",
- 0);
- gtk_binding_entry_add_signal (binding_set,
- GDK_KEY_Down, GDK_MOD1_MASK,
- "down-folder",
- 0);
- gtk_binding_entry_add_signal (binding_set,
- GDK_KEY_KP_Down, GDK_MOD1_MASK,
- "down-folder",
- 0);
+ add_normal_and_shifted_binding (binding_set,
+ GDK_KEY_Up, GDK_MOD1_MASK,
+ "up-folder");
+
+ add_normal_and_shifted_binding (binding_set,
+ GDK_KEY_KP_Up, GDK_MOD1_MASK,
+ "up-folder");
+
+ add_normal_and_shifted_binding (binding_set,
+ GDK_KEY_Down, GDK_MOD1_MASK,
+ "down-folder");
+ add_normal_and_shifted_binding (binding_set,
+ GDK_KEY_KP_Down, GDK_MOD1_MASK,
+ "down-folder");
gtk_binding_entry_add_signal (binding_set,
GDK_KEY_Home, GDK_MOD1_MASK,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]