shell: Handle the usual "Alt+Left" key binding
For left-to-right languages, and Alt+Right to RTL.
This commit is contained in:
parent
6cb6404e7e
commit
56008765c8
1 changed files with 10 additions and 2 deletions
|
@ -1201,6 +1201,7 @@ window_key_press_event (GtkWidget *win,
|
||||||
GdkKeymap *keymap;
|
GdkKeymap *keymap;
|
||||||
gboolean retval;
|
gboolean retval;
|
||||||
GdkModifierType state;
|
GdkModifierType state;
|
||||||
|
gboolean is_rtl;
|
||||||
|
|
||||||
if (event->state == 0)
|
if (event->state == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1210,6 +1211,7 @@ window_key_press_event (GtkWidget *win,
|
||||||
keymap = gdk_keymap_get_default ();
|
keymap = gdk_keymap_get_default ();
|
||||||
gdk_keymap_add_virtual_modifiers (keymap, &state);
|
gdk_keymap_add_virtual_modifiers (keymap, &state);
|
||||||
state = state & gtk_accelerator_get_default_mod_mask ();
|
state = state & gtk_accelerator_get_default_mod_mask ();
|
||||||
|
is_rtl = gtk_widget_get_direction (win) == GTK_TEXT_DIR_RTL;
|
||||||
|
|
||||||
if (state == GDK_CONTROL_MASK)
|
if (state == GDK_CONTROL_MASK)
|
||||||
{
|
{
|
||||||
|
@ -1238,13 +1240,19 @@ window_key_press_event (GtkWidget *win,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Up) ||
|
else if (state == GDK_MOD1_MASK && event->keyval == GDK_KEY_Up)
|
||||||
event->keyval == GDK_KEY_Back)
|
|
||||||
{
|
{
|
||||||
if (notebook_get_selected_page (self->priv->notebook) != self->priv->scrolled_window)
|
if (notebook_get_selected_page (self->priv->notebook) != self->priv->scrolled_window)
|
||||||
shell_show_overview_page (self);
|
shell_show_overview_page (self);
|
||||||
retval = TRUE;
|
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;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue