[gnome-control-center] shell: Handle the usual "Alt+Left" key binding
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] shell: Handle the usual "Alt+Left" key binding
- Date: Tue, 19 Feb 2013 10:27:39 +0000 (UTC)
commit 56008765c85e5b66dc48e7ea17f8f7268d8045fd
Author: Bastien Nocera <hadess hadess net>
Date: Tue Feb 19 11:25:33 2013 +0100
shell: Handle the usual "Alt+Left" key binding
For left-to-right languages, and Alt+Right to RTL.
shell/cc-window.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/shell/cc-window.c b/shell/cc-window.c
index c9ae400..5ee70fb 100644
--- a/shell/cc-window.c
+++ b/shell/cc-window.c
@@ -1201,6 +1201,7 @@ window_key_press_event (GtkWidget *win,
GdkKeymap *keymap;
gboolean retval;
GdkModifierType state;
+ gboolean is_rtl;
if (event->state == 0)
return FALSE;
@@ -1210,6 +1211,7 @@ window_key_press_event (GtkWidget *win,
keymap = gdk_keymap_get_default ();
gdk_keymap_add_virtual_modifiers (keymap, &state);
state = state & gtk_accelerator_get_default_mod_mask ();
+ is_rtl = gtk_widget_get_direction (win) == GTK_TEXT_DIR_RTL;
if (state == GDK_CONTROL_MASK)
{
@@ -1238,13 +1240,19 @@ window_key_press_event (GtkWidget *win,
break;
}
}
- else if ((state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Up) ||
- event->keyval == GDK_KEY_Back)
+ else if (state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Up)
{
if (notebook_get_selected_page (self->priv->notebook) != self->priv->scrolled_window)
shell_show_overview_page (self);
retval = TRUE;
}
+ else if ((!is_rtl && state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Left) ||
+ (is_rtl && state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Right) ||
+ event->keyval == GDK_KEY_Back)
+ {
+ previous_button_clicked_cb (NULL, self);
+ retval = TRUE;
+ }
return retval;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]