[Xfce4-commits] <parole:master> Give focus to media list view on GDK_Up and Down.

Ali Abdallah noreply at xfce.org
Tue Nov 17 11:48:01 CET 2009


Updating branch refs/heads/master
         to 0f31192ff9b250c21e1f8b59ba5f9081fdfb6370 (commit)
       from 2d4de941169c0b38656ef7671dfcd4bc1827e367 (commit)

commit 0f31192ff9b250c21e1f8b59ba5f9081fdfb6370
Author: Ali Abdallah <ali at ali-xfce.org>
Date:   Tue Nov 17 10:09:33 2009 +0100

    Give focus to media list view on GDK_Up and Down.

 parole/parole-medialist.c |    5 +++++
 parole/parole-medialist.h |    3 ++-
 parole/parole-player.c    |   12 ++++++++++++
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/parole/parole-medialist.c b/parole/parole-medialist.c
index d023911..1bda5e6 100644
--- a/parole/parole-medialist.c
+++ b/parole/parole-medialist.c
@@ -1367,3 +1367,8 @@ static gboolean  parole_media_list_dbus_add_disc (ParoleMediaList *list,
 	
     return TRUE;
 }
+
+void parole_media_list_grab_focus (ParoleMediaList *list)
+{
+    gtk_widget_grab_focus (list->priv->view);
+}
diff --git a/parole/parole-medialist.h b/parole/parole-medialist.h
index ba2ec49..17d7fb0 100644
--- a/parole/parole-medialist.h
+++ b/parole/parole-medialist.h
@@ -21,7 +21,6 @@
 #ifndef __PAROLE_MEDIA_LIST_H
 #define __PAROLE_MEDIA_LIST_H
 
-#include <glib-object.h>
 #include <gtk/gtk.h>
 
 G_BEGIN_DECLS
@@ -108,6 +107,8 @@ gboolean			 parole_media_list_add_files        (ParoleMediaList *list,
 
 void				 parole_media_list_save_list	    (ParoleMediaList *list);
 
+void				 parole_media_list_grab_focus       (ParoleMediaList *list);
+
 G_END_DECLS
 
 #endif /* __PAROLE_MEDIA_LIST_H */
diff --git a/parole/parole-player.c b/parole/parole-player.c
index 946d042..b2bb105 100644
--- a/parole/parole-player.c
+++ b/parole/parole-player.c
@@ -368,6 +368,7 @@ parole_player_media_activated_cb (ParoleMediaList *list, GtkTreeRowReference *ro
 	    TRACE ("Trying to play media file %s", parole_file_get_uri (file));
 	    gtk_widget_set_sensitive (player->priv->stop, TRUE);
 	    parole_gst_play_uri (PAROLE_GST (player->priv->gst), parole_file_get_uri (file));
+	    gtk_widget_grab_focus (player->priv->gst);
 	    g_object_unref (file);
 	}
     }
@@ -380,6 +381,7 @@ parole_player_disc_selected_cb (ParoleDisc *disc, const gchar *uri, const gchar
     gtk_widget_set_sensitive (player->priv->stop, TRUE);
     
     parole_gst_play_device_uri (PAROLE_GST (player->priv->gst), uri, device);
+    gtk_widget_grab_focus (player->priv->gst);
 }
 
 static void
@@ -387,6 +389,7 @@ parole_player_uri_opened_cb (ParoleMediaList *list, const gchar *uri, ParolePlay
 {
     parole_player_reset (player);
     gtk_widget_set_sensitive (player->priv->stop, TRUE);
+    gtk_widget_grab_focus (player->priv->gst);
     parole_gst_play_uri (PAROLE_GST (player->priv->gst), uri);
 }
 
@@ -1116,6 +1119,7 @@ parole_player_gst_widget_button_release (GtkWidget *widget, GdkEventButton *ev,
     if ( ev->button == 3 )
     {
 	parole_player_show_menu (player, ev->button, ev->time);
+	gtk_widget_grab_focus (widget);
 	ret_val = TRUE;
     }
     else if ( ev->button == 1 )
@@ -1396,6 +1400,14 @@ parole_player_handle_key_press (GdkEventKey *ev, ParolePlayer *player)
 		parole_media_list_open (player->priv->list);
 	    }
 	break;
+	/* 
+	 * Pass these to the media list and tell it to
+	 * grab the focus
+	 */
+	case GDK_Up:
+	case GDK_Down:
+	    parole_media_list_grab_focus (player->priv->list);
+	    break;
 	default:
 	    break;
     }



More information about the Xfce4-commits mailing list