[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