[rhythmbox] entry-view: scroll to the playing entry on clicking the column header
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] entry-view: scroll to the playing entry on clicking the column header
- Date: Wed, 21 Aug 2013 23:08:18 +0000 (UTC)
commit 918a3698461fe244a107d7ce9accf4c32b3dd78f
Author: Jonathan Matthew <jonathan d14n org>
Date: Thu Aug 22 09:03:32 2013 +1000
entry-view: scroll to the playing entry on clicking the column header
This seems like a reasonable thing for the playing column header to do.
It didn't do anything before.
widgets/rb-entry-view.c | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 deletions(-)
---
diff --git a/widgets/rb-entry-view.c b/widgets/rb-entry-view.c
index ef82434..f5faf8c 100644
--- a/widgets/rb-entry-view.c
+++ b/widgets/rb-entry-view.c
@@ -153,6 +153,8 @@ static void rb_entry_view_rated_cb (RBCellRendererRating *cellrating,
static void rb_entry_view_pixbuf_clicked_cb (RBEntryView *view,
const char *path,
RBCellRendererPixbuf *cellpixbuf);
+static void rb_entry_view_playing_column_clicked_cb (GtkTreeViewColumn *column,
+ RBEntryView *view);
static gboolean rb_entry_view_button_press_cb (GtkTreeView *treeview,
GdkEventButton *event,
RBEntryView *view);
@@ -1779,6 +1781,7 @@ static void
rb_entry_view_constructed (GObject *object)
{
RBEntryView *view;
+ RhythmDBQueryModel *query_model;
RB_CHAIN_GOBJECT_METHOD (rb_entry_view_parent_class, constructed, object);
@@ -1857,10 +1860,9 @@ rb_entry_view_constructed (GObject *object)
image_widget = gtk_image_new_from_icon_name ("audio-volume-high-symbolic",
GTK_ICON_SIZE_MENU);
gtk_tree_view_column_set_widget (column, image_widget);
- gtk_widget_show (image_widget);
+ gtk_widget_show_all (image_widget);
gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
- gtk_tree_view_column_set_clickable (column, FALSE);
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, NULL);
gtk_tree_view_column_set_fixed_width (column, width + 5);
gtk_tree_view_append_column (GTK_TREE_VIEW (view->priv->treeview), column);
@@ -1871,14 +1873,17 @@ rb_entry_view_constructed (GObject *object)
gtk_widget_set_tooltip_text (gtk_tree_view_column_get_widget (column),
_("Now Playing"));
- }
- {
- RhythmDBQueryModel *query_model;
- query_model = rhythmdb_query_model_new_empty (view->priv->db);
- rb_entry_view_set_model (view, RHYTHMDB_QUERY_MODEL (query_model));
- g_object_unref (query_model);
+ g_signal_connect (column,
+ "clicked",
+ G_CALLBACK (rb_entry_view_playing_column_clicked_cb),
+ view);
+ gtk_tree_view_column_set_clickable (column, TRUE);
}
+
+ query_model = rhythmdb_query_model_new_empty (view->priv->db);
+ rb_entry_view_set_model (view, RHYTHMDB_QUERY_MODEL (query_model));
+ g_object_unref (query_model);
}
static void
@@ -1933,6 +1938,15 @@ rb_entry_view_pixbuf_clicked_cb (RBEntryView *view,
}
static void
+rb_entry_view_playing_column_clicked_cb (GtkTreeViewColumn *column,
+ RBEntryView *view)
+{
+ if (view->priv->playing_entry) {
+ rb_entry_view_scroll_to_entry (view, view->priv->playing_entry);
+ }
+}
+
+static void
rb_entry_view_playing_song_changed (RBShellPlayer *player,
RhythmDBEntry *entry,
RBEntryView *view)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]