Updating branch refs/heads/master
         to 259ac8eabb874c54555c28cf2a90c68e8655797a (commit)
       from 37a2ffac8894e7857b5221d4fef2e6b6065aa82b (commit)

commit 259ac8eabb874c54555c28cf2a90c68e8655797a
Author: Ali Abdallah <[email protected]>
Date:   Sat Aug 15 09:20:58 2009 +0200

    Make sure wish widget is focused before processing key_press

 data/interfaces/parole.ui |    4 ++--
 parole/parole-player.c    |   17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index b9b9fe9..9ba385d 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -291,7 +291,7 @@
                 <property name="scrollable">True</property>
                 <property name="group_id">0</property>
                 <child>
-                  <object class="GtkVBox" id="vbox3">
+                  <object class="GtkVBox" id="main-box">
                     <property name="visible">True</property>
                     <property name="orientation">vertical</property>
                     <property name="spacing">5</property>
@@ -495,7 +495,6 @@
                                                     <property 
name="image">image8</property>
                                                     <property 
name="relief">none</property>
                                                     <property 
name="focus_on_click">False</property>
-                                                    <accelerator key="space" 
signal="activate"/>
                                                     <signal name="clicked" 
handler="parole_player_play_pause_clicked"/>
                                                   </object>
                                                   <packing>
@@ -627,6 +626,7 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="scrollable">True</property>
+                            <property name="enable_popup">True</property>
                           </object>
                           <packing>
                             <property name="resize">False</property>
diff --git a/parole/parole-player.c b/parole/parole-player.c
index 1d5f8ed..c2d816d 100644
--- a/parole/parole-player.c
+++ b/parole/parole-player.c
@@ -194,6 +194,7 @@ struct ParolePlayerPrivate
     GtkWidget          *control; /* contains all play button*/
     GtkWidget          *leave_fs;
     
+    GtkWidget          *main_box;
     
     GtkWidget          *volume;
     GtkWidget          *volume_image;
@@ -1247,13 +1248,26 @@ parole_player_class_init (ParolePlayerClass *klass)
 gboolean
 parole_player_key_press (GtkWidget *widget, 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 )
+    {
+       if ( ( gtk_widget_is_ancestor (focused, player->priv->playlist_nt) ) ||
+            ( gtk_widget_is_ancestor (focused, player->priv->main_nt) && 
+              !gtk_widget_is_ancestor (focused, player->priv->main_box) ))
+       {
+           return FALSE;
+       }
+    }
+    
     switch (ev->keyval)
     {
        case GDK_F11:
@@ -1458,6 +1472,7 @@ parole_player_init (ParolePlayer *player)
     player->priv->show_hide_playlist = GTK_WIDGET (gtk_builder_get_object 
(builder, "show-hide-list"));
     player->priv->control = GTK_WIDGET (gtk_builder_get_object (builder, 
"control"));
     player->priv->leave_fs = GTK_WIDGET (gtk_builder_get_object (builder, 
"leave_fs"));
+    player->priv->main_box = GTK_WIDGET (gtk_builder_get_object (builder, 
"main-box"));
     
     gtk_range_set_range (GTK_RANGE (player->priv->volume), 0, 1.0);
     
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to