[Xfce4-commits] <parole:master> Added some keys accelators+fix F11 key event in the previous commit
Ali Abdallah
aliov at xfce.org
Sun Aug 16 15:32:01 CEST 2009
Updating branch refs/heads/master
to 5879ae1d2b2030faa1012e64ce07dd009d67adac (commit)
from 259ac8eabb874c54555c28cf2a90c68e8655797a (commit)
commit 5879ae1d2b2030faa1012e64ce07dd009d67adac
Author: Ali Abdallah <aliov at xfce.org>
Date: Sun Aug 16 15:05:25 2009 +0200
Added some keys accelators+fix F11 key event in the previous commit
data/interfaces/parole.ui | 2 +-
data/interfaces/playlist.ui | 1 +
parole/parole-medialist.c | 15 +++++++++
parole/parole-player.c | 67 +++++++++++++++++++++++++++++-------------
4 files changed, 63 insertions(+), 22 deletions(-)
diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 9ba385d..0e155f1 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -475,7 +475,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="receives_default">False</property>
+ <property name="receives_default">True</property>
<property name="image">image7</property>
<property name="relief">none</property>
<property name="focus_on_click">False</property>
diff --git a/data/interfaces/playlist.ui b/data/interfaces/playlist.ui
index 9e963c7..07f49f6 100644
--- a/data/interfaces/playlist.ui
+++ b/data/interfaces/playlist.ui
@@ -17,6 +17,7 @@
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="show_expanders">False</property>
+ <signal name="key_press_event" handler="parole_media_list_key_press"/>
<signal name="row_activated" handler="parole_media_list_row_activated_cb"/>
<signal name="button_release_event" handler="parole_media_list_button_release_event"/>
<signal name="drag_data_received" handler="parole_media_list_drag_data_received_cb"/>
diff --git a/parole/parole-medialist.c b/parole/parole-medialist.c
index 988706e..c21f7cf 100644
--- a/parole/parole-medialist.c
+++ b/parole/parole-medialist.c
@@ -27,6 +27,7 @@
#include <string.h>
#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
#include <glib.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
@@ -118,6 +119,10 @@ void parole_media_list_drag_data_received_cb (GtkWidget *widget,
guint drag_time,
ParoleMediaList *list);
+gboolean parole_media_list_key_press (GtkWidget *widget,
+ GdkEventKey *ev,
+ ParoleMediaList *list);
+
void parole_media_list_format_cursor_changed_cb (GtkTreeView *view,
ParolePlaylistSave *data);
@@ -356,6 +361,16 @@ void parole_media_list_drag_data_received_cb (GtkWidget *widget,
gtk_drag_finish (drag_context, added == i ? TRUE : FALSE, FALSE, drag_time);
}
+gboolean parole_media_list_key_press (GtkWidget *widget, GdkEventKey *ev, ParoleMediaList *list)
+{
+ if ( ev->keyval == GDK_Delete )
+ {
+ parole_media_list_remove_clicked_cb (NULL, list);
+ return TRUE;
+ }
+ return FALSE;
+}
+
void
parole_media_list_add_clicked_cb (GtkButton *button, ParoleMediaList *list)
{
diff --git a/parole/parole-player.c b/parole/parole-player.c
index c2d816d..b829681 100644
--- a/parole/parole-player.c
+++ b/parole/parole-player.c
@@ -1042,15 +1042,22 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
}
static gboolean
-parole_player_gst_widget_button_press (GtkWidget *widget, GdkEventButton *ev, ParolePlayer *player)
+parole_player_gst_widget_button_release (GtkWidget *widget, GdkEventButton *ev, ParolePlayer *player)
{
- if ( ev->button == 3)
+ gboolean ret_val = FALSE;
+
+ if ( ev->button == 3 )
{
parole_player_show_menu (player, ev->button, ev->time);
- return TRUE;
+ ret_val = TRUE;
+ }
+ else if ( ev->button == 1 )
+ {
+ gtk_widget_grab_focus (widget);
+ ret_val = TRUE;
}
- return FALSE;
+ return ret_val;
}
static gboolean parole_player_hide_fs_window (gpointer data)
@@ -1245,17 +1252,13 @@ parole_player_class_init (ParolePlayerClass *klass)
g_type_class_add_private (klass, sizeof (ParolePlayerPrivate));
}
-gboolean
-parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *player)
+static gboolean
+parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
{
GtkWidget *focused;
gboolean ret_val = FALSE;
-/*
- gchar *key;
- key = gdk_keyval_name (ev->keyval);
- g_print ("Key Press 0x%X:%s on widget=%s\n", ev->keyval, key, gtk_widget_get_name (widget));
-*/
+
focused = gtk_window_get_focus (GTK_WINDOW (player->priv->window));
if ( focused )
@@ -1271,13 +1274,21 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
switch (ev->keyval)
{
case GDK_F11:
+ case GDK_f:
+ case GDK_F:
parole_player_full_screen_menu_item_activate (player);
ret_val = TRUE;
break;
- case GDK_plus :
+ case GDK_plus:
parole_player_volume_up (NULL, player);
ret_val = TRUE;
break;
+ case GDK_space:
+ case GDK_p:
+ case GDK_P:
+ parole_player_play_pause_clicked (NULL, player);
+ ret_val = TRUE;
+ break;
case GDK_minus:
parole_player_volume_down (NULL, player);
ret_val = TRUE;
@@ -1293,8 +1304,9 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
parole_player_seekb_cb (NULL, player);
ret_val = TRUE;
break;
- case GDK_space:
- parole_player_play_pause_clicked (NULL, player);
+ case GDK_s:
+ case GDK_S:
+ parole_player_stop_clicked (NULL, player);
ret_val = TRUE;
break;
default:
@@ -1304,6 +1316,24 @@ parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *playe
return ret_val;
}
+gboolean
+parole_player_key_press (GtkWidget *widget, GdkEventKey *ev, ParolePlayer *player)
+{
+/*
+ gchar *key;
+ key = gdk_keyval_name (ev->keyval);
+ g_print ("Key Press 0x%X:%s on widget=%s\n", ev->keyval, key, gtk_widget_get_name (widget));
+*/
+ switch (ev->keyval)
+ {
+ case GDK_F11:
+ parole_player_full_screen_menu_item_activate (player);
+ return TRUE;
+ }
+
+ return parole_player_handle_key_press (ev, player);
+}
+
static void
parole_player_session_die_cb (ParolePlayer *player)
{
@@ -1442,17 +1472,12 @@ parole_player_init (ParolePlayer *player)
g_signal_connect (G_OBJECT (player->priv->gst), "buffering",
G_CALLBACK (parole_player_buffering_cb), player);
- g_signal_connect (G_OBJECT (player->priv->gst), "button-release-event",
- G_CALLBACK (parole_player_gst_widget_button_press), player);
+ g_signal_connect_after (G_OBJECT (player->priv->gst), "button-release-event",
+ G_CALLBACK (parole_player_gst_widget_button_release), player);
g_signal_connect (G_OBJECT (player->priv->gst), "motion-notify-event",
G_CALLBACK (parole_player_gst_widget_motion_notify_event), player);
- /*
- g_signal_connect (G_OBJECT (player->priv->gst), "key-press-event",
- G_CALLBACK (parole_player_key_press), player);
- */
-
player->priv->window = GTK_WIDGET (gtk_builder_get_object (builder, "main-window"));
player->priv->main_nt = GTK_WIDGET (gtk_builder_get_object (builder, "main-notebook"));
More information about the Xfce4-commits
mailing list