summaryrefslogtreecommitdiff
path: root/src/totem-object.c
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2019-02-13 17:02:39 +0100
committerBastien Nocera <hadess@hadess.net>2019-02-13 17:06:05 +0100
commitedc6b6fd229c7d7463fb599ed06d4896002c9224 (patch)
treeac5220e94f8ca5cfb660a62f82c92dafaea10ac6 /src/totem-object.c
parentf098cdf56a25e32d55fd4a1bcd9a5d553207156f (diff)
downloadtotem-edc6b6fd229c7d7463fb599ed06d4896002c9224.tar.gz
main: Make Ctrl+W go back before exiting
Make Ctrl+W the equivalent to pressing the back button, to return to the content view from the player, or go "up" in the navigation. Ctrl+W will still close the application when back isn't shown anymore. Closes: #280
Diffstat (limited to 'src/totem-object.c')
-rw-r--r--src/totem-object.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/totem-object.c b/src/totem-object.c
index bd5025d4a..34a51cce7 100644
--- a/src/totem-object.c
+++ b/src/totem-object.c
@@ -3275,13 +3275,6 @@ totem_object_handle_key_press (TotemObject *totem, GdkEventKey *event)
case GDK_KEY_AudioStop:
totem_object_pause (totem);
break;
- case GDK_KEY_w:
- case GDK_KEY_W:
- if (mask == GDK_CONTROL_MASK)
- totem_object_exit (totem);
- else
- retval = FALSE;
- break;
case GDK_KEY_q:
case GDK_KEY_Q:
totem_object_exit (totem);
@@ -3489,6 +3482,19 @@ window_key_press_event_cb (GtkWidget *win, GdkEventKey *event, TotemObject *tote
return totem_object_handle_key_press (totem, event);
}
+ /* Handle back/quit */
+ if (event->state & GDK_CONTROL_MASK &&
+ event->type == GDK_KEY_PRESS &&
+ (event->keyval == GDK_KEY_W ||
+ event->keyval == GDK_KEY_w)) {
+ if (totem_grilo_get_show_back_button (TOTEM_GRILO (totem->grilo)) ||
+ g_str_equal (totem_object_get_main_page (totem), "player"))
+ back_button_clicked_cb (NULL, totem);
+ else
+ totem_object_exit (totem);
+ return FALSE;
+ }
+
/* Check whether we're in the player panel */
if (!g_str_equal (totem_object_get_main_page (totem), "player"))
return FALSE;
@@ -3507,8 +3513,6 @@ window_key_press_event_cb (GtkWidget *win, GdkEventKey *event, TotemObject *tote
case GDK_KEY_l:
case GDK_KEY_q:
case GDK_KEY_Q:
- case GDK_KEY_w:
- case GDK_KEY_W:
case GDK_KEY_Right:
case GDK_KEY_Left:
case GDK_KEY_plus: