diff options
author | Michael Natterer <mitch@imendio.com> | 2007-02-05 14:11:39 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2007-02-05 14:11:39 +0000 |
commit | 17fed85c24c8280217e4ebf6c75f691595abd887 (patch) | |
tree | 49a3da32c52f908883e87e4a4a475077d80fba38 /gtk/gtkmenushell.c | |
parent | aca7e2316a79855f403ca3ed90772ae08e2dd8c8 (diff) | |
download | gtk+-17fed85c24c8280217e4ebf6c75f691595abd887.tar.gz |
add new boolean settings gtk-enable-accels and gtk-enable-mnemonics which
2007-02-05 Michael Natterer <mitch@imendio.com>
* gtk/gtksettings.c: add new boolean settings gtk-enable-accels
and gtk-enable-mnemonics which enable/disable accelerators and
mnemonics (bug #72375, based on a patch from Tommi Komulainen).
* gtk/gtkwindow.c (gtk_window_activate_key)
* gtk/gtkmenushell.c (gtk_menu_shell_key_press): don't invoke them
if the resp. setting is FALSE.
* gtk/gtkaccellabel.c (gtk_accel_label_refetch)
* gtk/gtklabel.c (gtk_label_set_pattern_internal): don't display
them if the setting is FALSE.
* gtk/gtklabel.c: added signal connection to the screen's settings
object and traverse all widgets on the screen when the setting
changes. It's slightly ugly to also update GtkAccelLabels here,
but less ugly than connecting and traversing all widgets twice.
svn path=/trunk/; revision=17262
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r-- | gtk/gtkmenushell.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 153620af39..5e7862018c 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -685,6 +685,7 @@ gtk_menu_shell_key_press (GtkWidget *widget, GdkEventKey *event) { GtkMenuShell *menu_shell; + gboolean enable_mnemonics; g_return_val_if_fail (GTK_IS_MENU_SHELL (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -697,7 +698,14 @@ gtk_menu_shell_key_press (GtkWidget *widget, if (gtk_bindings_activate_event (GTK_OBJECT (widget), event)) return TRUE; - return gtk_menu_shell_activate_mnemonic (menu_shell, event); + g_object_get (gtk_widget_get_settings (widget), + "gtk-enable-mnemonics", &enable_mnemonics, + NULL); + + if (enable_mnemonics) + return gtk_menu_shell_activate_mnemonic (menu_shell, event); + + return FALSE; } static gint |