Updating branch refs/heads/master
         to 5879ae1d2b2030faa1012e64ce07dd009d67adac (commit)
       from 259ac8eabb874c54555c28cf2a90c68e8655797a (commit)

commit 5879ae1d2b2030faa1012e64ce07dd009d67adac
Author: Ali Abdallah <[email protected]>
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"));
     
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to