Index: rhythmdb/rhythmdb-property-model.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb-property-model.c,v
retrieving revision 1.28
diff -p -u -r1.28 rhythmdb-property-model.c
--- rhythmdb/rhythmdb-property-model.c	10 Dec 2005 15:38:08 -0000	1.28
+++ rhythmdb/rhythmdb-property-model.c	18 Jan 2006 14:21:55 -0000
@@ -275,8 +275,7 @@ rhythmdb_property_model_set_property (GO
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (object);
 
-	switch (prop_id)
-	{
+	switch (prop_id) {
 	case PROP_RHYTHMDB:
 	{
 		model->priv->db = g_value_get_object (value);
@@ -289,8 +288,7 @@ rhythmdb_property_model_set_property (GO
 		break;
 	case PROP_PROP:
 		model->priv->propid = g_value_get_int (value);
-		switch (model->priv->propid)
-		{
+		switch (model->priv->propid) {
 		case RHYTHMDB_PROP_GENRE:
 			model->priv->sort_propid = RHYTHMDB_PROP_GENRE;
 			break;
@@ -300,6 +298,9 @@ rhythmdb_property_model_set_property (GO
 		case RHYTHMDB_PROP_ALBUM:
 			model->priv->sort_propid = RHYTHMDB_PROP_ALBUM;
 			break;
+		case RHYTHMDB_PROP_SUBTITLE:
+			model->priv->sort_propid = RHYTHMDB_PROP_SUBTITLE;
+			break;
 		case RHYTHMDB_PROP_TITLE:
 		case RHYTHMDB_PROP_LOCATION:
 			model->priv->sort_propid = RHYTHMDB_PROP_TITLE;
@@ -360,8 +361,7 @@ rhythmdb_property_model_get_property (GO
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (object);
 
-	switch (prop_id)
-	{
+	switch (prop_id) {
 	case PROP_RHYTHMDB:
 		g_value_set_object (value, model->priv->db);
 		break;
@@ -503,6 +503,8 @@ rhythmdb_property_model_insert (RhythmDB
 
 	propstr = rhythmdb_entry_get_string (entry, model->priv->propid);
 
+	model->priv->all->refcount++;
+
 	if ((ptr = g_hash_table_lookup (model->priv->reverse_map, propstr))) {
 		prop = g_sequence_ptr_get_data (ptr);
 		prop->refcount++;
@@ -550,6 +552,8 @@ rhythmdb_property_model_delete_prop (Rhy
 
 	g_assert ((ptr = g_hash_table_lookup (model->priv->reverse_map, propstr)));
 
+	model->priv->all->refcount--;
+
 	prop = g_sequence_ptr_get_data (ptr);
 	rb_debug ("deleting \"%s\": refcount: %d", propstr, prop->refcount);
 	prop->refcount--;
@@ -603,12 +607,13 @@ rhythmdb_property_model_get_n_columns (G
 static GType
 rhythmdb_property_model_get_column_type (GtkTreeModel *tree_model, int index)
 {
-	switch (index)
-	{
-	case 0:
+	switch (index) {
+	case RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE:
 		return G_TYPE_STRING;
-	case 1:
+	case RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY:
 		return G_TYPE_BOOLEAN;
+	case RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER:
+		return G_TYPE_UINT;
 	default:
 		g_assert_not_reached ();
 		return G_TYPE_INVALID;
@@ -617,7 +622,7 @@ rhythmdb_property_model_get_column_type 
 
 static gboolean
 rhythmdb_property_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter,
-			       GtkTreePath *path)
+				  GtkTreePath *path)
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (tree_model);
 	guint index;
@@ -645,7 +650,7 @@ rhythmdb_property_model_get_iter (GtkTre
 
 static GtkTreePath *
 rhythmdb_property_model_get_path (GtkTreeModel *tree_model,
-			       GtkTreeIter  *iter)
+				  GtkTreeIter  *iter)
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (tree_model);
 	GtkTreePath *path;
@@ -673,32 +678,38 @@ rhythmdb_property_model_get_value (GtkTr
 	g_return_if_fail (model->priv->stamp == iter->stamp);
 
 	if (iter->user_data == model->priv->all) {
-		switch (column)
-		{
-		case 0:
+		switch (column) {
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE:
 			g_value_init (value, G_TYPE_STRING);
 			g_value_set_string (value, rb_refstring_get (model->priv->all->string));
 			break;
-		case 1:
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY:
 			g_value_init (value, G_TYPE_BOOLEAN);
 			g_value_set_boolean (value, TRUE);
 			break;
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER:
+			g_value_init (value, G_TYPE_UINT);
+			g_value_set_uint (value, model->priv->all->refcount);
+			break;
 		default:
 			g_assert_not_reached ();
 		}
 	} else {
 		RhythmDBPropertyModelEntry *prop = g_sequence_ptr_get_data (iter->user_data);
 		
-		switch (column)
-		{
-		case 0:
+		switch (column) {
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE:
 			g_value_init (value, G_TYPE_STRING);
 			g_value_set_string (value, rb_refstring_get (prop->string));
 			break;
-		case 1:
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY:
 			g_value_init (value, G_TYPE_BOOLEAN);
 			g_value_set_boolean (value, prop == model->priv->all);
 			break;
+		case RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER:
+			g_value_init (value, G_TYPE_UINT);
+			g_value_set_uint (value, prop->refcount);
+			break;
 		default:
 			g_assert_not_reached ();
 		}
@@ -707,7 +718,7 @@ rhythmdb_property_model_get_value (GtkTr
 
 static gboolean
 rhythmdb_property_model_iter_next (GtkTreeModel  *tree_model,
-				GtkTreeIter   *iter)
+				   GtkTreeIter   *iter)
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (tree_model);
 
@@ -761,8 +772,8 @@ rhythmdb_property_model_iter_n_children 
 
 static gboolean
 rhythmdb_property_model_iter_nth_child (GtkTreeModel *tree_model,
-				     GtkTreeIter *iter, GtkTreeIter *parent,
-				     gint n)
+					GtkTreeIter *iter, GtkTreeIter *parent,
+					gint n)
 {
 	RhythmDBPropertyModel *model = RHYTHMDB_PROPERTY_MODEL (tree_model);
 	GSequencePtr child;
@@ -1008,15 +1019,8 @@ rhythmdb_property_model_enable_drag (Rhy
 static gboolean
 rhythmdb_property_model_perform_sync (RhythmDBPropertyModel *model)
 {
-	int count = g_sequence_get_length (model->priv->properties);
 	GtkTreeIter iter;
 	GtkTreePath *path;
-	char *s;
-
-	rb_refstring_unref (model->priv->all->string);
-	s = g_strdup_printf (_("All (%d)"), count);
-	model->priv->all->string = rb_refstring_new (s);
-	g_free (s);
 
 	iter.stamp = model->priv->stamp;
 	iter.user_data = model->priv->all;
Index: rhythmdb/rhythmdb-property-model.h
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb-property-model.h,v
retrieving revision 1.9
diff -p -u -r1.9 rhythmdb-property-model.h
--- rhythmdb/rhythmdb-property-model.h	25 Aug 2005 02:47:32 -0000	1.9
+++ rhythmdb/rhythmdb-property-model.h	18 Jan 2006 14:21:55 -0000
@@ -43,6 +43,7 @@ typedef enum
 {
 	RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE,
 	RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY,
+	RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER,
 	RHYTHMDB_PROPERTY_MODEL_COLUMN_LAST,
 } RhythmDBPropertyModelColumn;
 
Index: sources/rb-podcast-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-podcast-source.c,v
retrieving revision 1.40
diff -p -u -r1.40 rb-podcast-source.c
--- sources/rb-podcast-source.c	18 Jan 2006 03:39:16 -0000	1.40
+++ sources/rb-podcast-source.c	18 Jan 2006 14:21:55 -0000
@@ -597,7 +597,7 @@ rb_podcast_source_constructor (GType typ
 	query = rhythmdb_query_parse (source->priv->db,
 				      RHYTHMDB_QUERY_PROP_EQUALS,
 				      RHYTHMDB_PROP_TYPE,
-				      RHYTHMDB_ENTRY_TYPE_PODCAST_FEED,
+				      RHYTHMDB_ENTRY_TYPE_PODCAST_POST,
 				      RHYTHMDB_QUERY_END);
 	
 	query_model = rhythmdb_query_model_new_empty (source->priv->db);
@@ -607,7 +607,8 @@ rb_podcast_source_constructor (GType typ
 	rhythmdb_do_full_query_parsed (source->priv->db, model, query);
 
 
-	source->priv->feeds = rb_simple_view_new (source->priv->db,  RHYTHMDB_PROP_LOCATION, 
+	source->priv->feeds = rb_simple_view_new (source->priv->db,
+						  RHYTHMDB_PROP_SUBTITLE,
 						  _("Feed"));	
 	
 	rb_property_view_set_selection_mode (RB_PROPERTY_VIEW (source->priv->feeds), GTK_SELECTION_MULTIPLE);
@@ -632,9 +633,6 @@ rb_podcast_source_constructor (GType typ
 	rb_simple_view_append_column_custom (source->priv->feeds,
 		 		             column, _("Feed"), source);
 
-	
-
-
 	g_signal_connect_object (G_OBJECT (source->priv->feeds), "show_popup",
 				 G_CALLBACK (rb_podcast_source_feeds_show_popup_cb), 
 				 source, 0);
@@ -922,7 +920,7 @@ rb_podcast_source_download_status_change
 					      gulong status,
 					      RBPodcastSource *source)
 {
-	gtk_widget_queue_draw(GTK_WIDGET(source->priv->posts));
+	gtk_widget_queue_draw (GTK_WIDGET (source->priv->posts));
 	return;
 
 }
@@ -934,13 +932,14 @@ rb_podcast_source_songs_show_popup_cb (R
 {
 	if (G_OBJECT (source) == NULL) {
 		return;
-	}
-	else {
+	} else {
 		GtkAction* action;
-		GList *lst = rb_entry_view_get_selected_entries(view);
+		GList *lst;
 		gboolean downloadable = FALSE;
 		gboolean cancellable = FALSE;
 
+		lst = rb_entry_view_get_selected_entries (view);
+
 		while (lst) {
 			RhythmDBEntry *entry = (RhythmDBEntry*) lst->data;
 			gulong status = rhythmdb_entry_get_ulong (entry, RHYTHMDB_PROP_STATUS);
@@ -972,37 +971,19 @@ rb_podcast_source_feeds_show_popup_cb (R
 {
 	if (G_OBJECT (source) == NULL) {
 		return;
-	}
-	else {
-		GtkAction* act_update;
-		GtkAction* act_properties;
-		GtkAction* act_delete;
-
-		gulong status;
-		gulong all_status = 999;
-		RhythmDBEntry *entry = NULL;
-		GList *lst = source->priv->selected_feeds;
+	} else {
+		GtkAction *act_update;
+		GtkAction *act_properties;
+		GtkAction *act_delete;
+		GList *lst;
+
+		lst = source->priv->selected_feeds;
 
 		act_update = gtk_action_group_get_action (source->priv->action_group, "PodcastFeedUpdate");
 		act_properties = gtk_action_group_get_action (source->priv->action_group, "PodcastFeedProperties");
 		act_delete = gtk_action_group_get_action (source->priv->action_group, "PodcastFeedDelete");
 		
 		if (lst) {
-			while (lst) {
-				entry = rhythmdb_entry_lookup_by_location (source->priv->db, 
-									   (gchar *) lst->data);
-				status = rhythmdb_entry_get_ulong (entry, RHYTHMDB_PROP_STATUS);
-				if ((status != all_status) && (all_status != 999)) {
-					all_status = 999;
-					break;
-				} 
-				else {
-					all_status = status;
-				}
-						
-				lst = lst->next;
-			}
-
 			gtk_action_set_visible (act_properties, TRUE);
 			gtk_action_set_visible (act_delete, TRUE);
 		} else {
@@ -1064,6 +1045,7 @@ construct_query_from_selection (RBPodcas
 	RhythmDBEntryType entry_type;
 
 	g_object_get (G_OBJECT (source), "entry-type", &entry_type, NULL);
+
 	query = rhythmdb_query_parse (source->priv->db,
 				      RHYTHMDB_QUERY_PROP_EQUALS,
 				      RHYTHMDB_PROP_TYPE,
@@ -1092,16 +1074,20 @@ construct_query_from_selection (RBPodcas
 		GList *l;	       
 
 		for (l = source->priv->selected_feeds; l != NULL; l = g_list_next (l)) {
-			rb_debug ("equals loop");
+			const char *location;
+
+			location = (char *) l->data;
+			rb_debug ("subquery SUBTITLE equals %s", location);
+
 			rhythmdb_query_append (source->priv->db,
 					       subquery,
 					       RHYTHMDB_QUERY_PROP_EQUALS,
 					       RHYTHMDB_PROP_SUBTITLE,
-					       (gchar *) l->data,
+					       location,
 					       RHYTHMDB_QUERY_END);
 			if (g_list_next(l))
 				rhythmdb_query_append (source->priv->db, subquery,
-						RHYTHMDB_QUERY_DISJUNCTION);
+						       RHYTHMDB_QUERY_DISJUNCTION);
 		}
 		
 		rhythmdb_query_append (source->priv->db, query,
@@ -1378,9 +1364,15 @@ rb_podcast_source_cmd_delete_feed (GtkAc
 	lst = source->priv->selected_feeds;
 
 	while (lst != NULL && lst->data != NULL) {
+		const char *location;
+
+		location = (char *) lst->data;
+
+		rb_debug ("Removing podcast location: %s", location);
+
 		rb_podcast_manager_remove_feed (source->priv->podcast_mg,
-						(gchar *) lst->data,
-						(ret == GTK_RESPONSE_YES) );
+						location,
+						(ret == GTK_RESPONSE_YES));
 
 		lst = lst->next;
 	}
@@ -1392,18 +1384,21 @@ rb_podcast_source_cmd_properties_feed (G
 {
 	RhythmDBEntry *entry;
 	GtkWidget *dialog;
+	const char *location;
+
+	location = (char *) source->priv->selected_feeds->data;
 
 	entry = rhythmdb_entry_lookup_by_location (source->priv->db, 
-						   (gchar *) source->priv->selected_feeds->data );
-	
-	dialog = rb_feed_podcast_properties_dialog_new (entry);
-	rb_debug ("in feed properties");
-	
-	if (dialog)
-		gtk_widget_show_all (dialog);
-	else
-		rb_debug ("no selection!");
+						   location);
 
+	if (entry != NULL) {
+		dialog = rb_feed_podcast_properties_dialog_new (entry);
+		rb_debug ("in feed properties");
+		if (dialog)
+			gtk_widget_show_all (dialog);
+		else
+			rb_debug ("no selection!");
+	}
 }
 	
 static void
@@ -1416,8 +1411,12 @@ rb_podcast_source_cmd_update_feed (GtkAc
 	lst = source->priv->selected_feeds;
 
 	while (lst != NULL) {
+		const char *location;
+
+		location = (char *) lst->data;
+
 		rb_podcast_manager_subscribe_feed (source->priv->podcast_mg,
-						   (gchar *) lst->data);
+						   location);
 
 		lst = lst->next;
 	}
@@ -1496,9 +1495,6 @@ rb_podcast_source_post_status_cell_data_
 	}
 		
 	g_object_set (G_OBJECT (renderer), "value", value, NULL);
-	
-
-
 }
 
 static void
@@ -1525,24 +1521,45 @@ rb_podcast_source_feed_title_cell_data_f
 					     GtkTreeIter *iter,
 					     RBPodcastSource *source)
 {
+	char *title;
+	char *str;
+	gboolean is_all;
+	guint number;
 	RhythmDBEntry *entry = NULL;
-	gchar *str;
-	gboolean bold;
 
-	gtk_tree_model_get (tree_model, iter, 0, &str, 1, &bold, -1);
-	
-	entry = rhythmdb_entry_lookup_by_location (source->priv->db, str);
+	str = NULL;
+	gtk_tree_model_get (tree_model, iter,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &title,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY, &is_all,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER, &number, -1);
 
+	entry = rhythmdb_entry_lookup_by_location (source->priv->db, title);
 	if (entry != NULL) {
-		str = g_strdup (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_TITLE));
+		g_free (title);
+		title = g_strdup (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_TITLE));
+	}
+
+	if (is_all) {
+		int nodes;
+		const char *fmt;
+
+		nodes = gtk_tree_model_iter_n_children  (GTK_TREE_MODEL (tree_model), NULL);
+		/* Subtract one for the All node */
+		nodes--;
+
+		fmt = ngettext ("All %d feed (%d)", "All %d feeds (%d)", nodes);
+
+		str = g_strdup_printf (fmt, nodes, number);
+	} else {
+		str = g_strdup_printf (_("%s (%d)"), title, number);
 	}
 
 	g_object_set (G_OBJECT (renderer), "text", str,
-		      "weight", G_UNLIKELY (bold) ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL,
+		      "weight", G_UNLIKELY (is_all) ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL,
 		      NULL);
 
-	g_free (str);	
-
+	g_free (str);
+	g_free (title);
 }
 
 
Index: widgets/rb-property-view.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-property-view.c,v
retrieving revision 1.38
diff -p -u -r1.38 rb-property-view.c
--- widgets/rb-property-view.c	30 Nov 2005 08:47:23 -0000	1.38
+++ widgets/rb-property-view.c	18 Jan 2006 14:21:55 -0000
@@ -42,19 +42,19 @@ static void rb_property_view_class_init 
 static void rb_property_view_init (RBPropertyView *view);
 static void rb_property_view_finalize (GObject *object);
 static void rb_property_view_set_property (GObject *object,
-				       guint prop_id,
-				       const GValue *value,
-				       GParamSpec *pspec);
+					   guint prop_id,
+					   const GValue *value,
+					   GParamSpec *pspec);
 static void rb_property_view_get_property (GObject *object,
-				       guint prop_id,
-				       GValue *value,
-				       GParamSpec *pspec);
+					   guint prop_id,
+					   GValue *value,
+					   GParamSpec *pspec);
 static GObject * rb_property_view_constructor (GType type, guint n_construct_properties,
 					       GObjectConstructParam *construct_properties);
 static void rb_property_view_row_activated_cb (GtkTreeView *treeview,
-			                   GtkTreePath *path,
-			                   GtkTreeViewColumn *column,
-			                   RBPropertyView *view);
+					       GtkTreePath *path,
+					       GtkTreeViewColumn *column,
+					       RBPropertyView *view);
 static void rb_property_view_selection_changed_cb (GtkTreeSelection *selection,
 						   RBPropertyView *view);
 static void rb_property_view_pre_row_deleted_cb (RhythmDBPropertyModel *model,
@@ -248,9 +248,9 @@ rb_property_view_finalize (GObject *obje
 
 static void
 rb_property_view_set_property (GObject *object,
-			   guint prop_id,
-			   const GValue *value,
-			   GParamSpec *pspec)
+			       guint prop_id,
+			       const GValue *value,
+			       GParamSpec *pspec)
 {
 	RBPropertyView *view = RB_PROPERTY_VIEW (object);
 
@@ -323,9 +323,9 @@ rb_property_view_set_property (GObject *
 
 static void 
 rb_property_view_get_property (GObject *object,
-			   guint prop_id,
-			   GValue *value,
-			   GParamSpec *pspec)
+			       guint prop_id,
+			       GValue *value,
+			       GParamSpec *pspec)
 {
 	RBPropertyView *view = RB_PROPERTY_VIEW (object);
 
@@ -353,7 +353,9 @@ rb_property_view_get_property (GObject *
 }
 
 RBPropertyView *
-rb_property_view_new (RhythmDB *db, guint propid, const char *title)
+rb_property_view_new (RhythmDB *db,
+		      guint propid,
+		      const char *title)
 {
 	RBPropertyView *view;
 
@@ -448,24 +450,60 @@ rb_property_view_get_num_properties (RBP
 }
 
 static void
-rb_property_view_cell_data_func (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
-				 GtkTreeModel *tree_model, GtkTreeIter *iter,
+rb_property_view_cell_data_func (GtkTreeViewColumn *column,
+				 GtkCellRenderer *renderer,
+				 GtkTreeModel *tree_model,
+				 GtkTreeIter *iter,
 				 RBPropertyView *view)
 {
+	char *title;
 	char *str;
-	gboolean bold;
+	guint number;
+	gboolean is_all;
+
+	gtk_tree_model_get (GTK_TREE_MODEL (tree_model), iter,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &title,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY, &is_all,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_NUMBER, &number, -1);
+
+	if (is_all) {
+		int nodes;
+		const char *fmt;
+
+		nodes = gtk_tree_model_iter_n_children  (GTK_TREE_MODEL (tree_model), NULL);
+		/* Subtract one for the All node */
+		nodes--;
+
+		switch (view->priv->propid) {
+		case RHYTHMDB_PROP_ARTIST:
+			fmt = ngettext ("All %d artist (%d)", "All %d artists (%d)", nodes);
+			break;
+		case RHYTHMDB_PROP_ALBUM:
+			fmt = ngettext ("All %d album (%d)", "All %d albums (%d)", nodes);
+			break;
+		case RHYTHMDB_PROP_GENRE:
+			fmt = ngettext ("All %d genre (%d)", "All %d genres (%d)", nodes);
+			break;
+		default:
+			fmt = _("All %d (%d)");
+			break;
+		}
+
+		str = g_strdup_printf (fmt, nodes, number);
+	} else {
+		str = g_strdup_printf (_("%s (%d)"), title, number);
+	}
 
-	gtk_tree_model_get (GTK_TREE_MODEL (tree_model), iter, 0, &str,
-			    1, &bold, -1);
-	
 	g_object_set (G_OBJECT (renderer), "text", str,
-		      "weight", G_UNLIKELY (bold) ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL,
+		      "weight", G_UNLIKELY (is_all) ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL,
 		      NULL);
 	g_free (str);
+	g_free (title);
 }
 
 static GObject *
-rb_property_view_constructor (GType type, guint n_construct_properties,
+rb_property_view_constructor (GType type,
+			      guint n_construct_properties,
 			      GObjectConstructParam *construct_properties)
 {
 	GtkTreeViewColumn *column;
@@ -531,8 +569,9 @@ rb_property_view_row_activated_cb (GtkTr
 	rb_debug ("row activated");
 	gtk_tree_model_get_iter (GTK_TREE_MODEL (view->priv->prop_model), &iter, path);
 
-	gtk_tree_model_get (GTK_TREE_MODEL (view->priv->prop_model), &iter, 0,
-			    &val, 1, &is_all, -1);
+	gtk_tree_model_get (GTK_TREE_MODEL (view->priv->prop_model), &iter,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &val,
+			    RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY, &is_all, -1);
 
 	rb_debug ("emitting property activated");
 	g_signal_emit (G_OBJECT (view), rb_property_view_signals[PROPERTY_ACTIVATED], 0,
@@ -588,7 +627,9 @@ rb_property_view_selection_changed_cb (G
 		selected_rows = gtk_tree_selection_get_selected_rows (view->priv->selection, &model);
 		for (tem = selected_rows; tem; tem = tem->next) {
 			g_assert (gtk_tree_model_get_iter (model, &iter, tem->data));
-			gtk_tree_model_get (model, &iter, 0, &selected_prop, 1, &is_all, -1);
+			gtk_tree_model_get (model, &iter,
+					    RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &selected_prop,
+					    RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY, &is_all, -1);
 			if (is_all) {
 				g_list_free (selected_properties);
 				selected_properties = NULL;
@@ -616,7 +657,9 @@ rb_property_view_selection_changed_cb (G
 			       selected_properties);
 	} else {
 		if (gtk_tree_selection_get_selected (view->priv->selection, &model, &iter)) {
-			gtk_tree_model_get (model, &iter, 0, &selected_prop, 1, &is_all, -1);
+			gtk_tree_model_get (model, &iter,
+					    RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &selected_prop,
+					    RHYTHMDB_PROPERTY_MODEL_COLUMN_PRIORITY, &is_all, -1);
 			g_signal_emit (G_OBJECT (view), rb_property_view_signals[PROPERTY_SELECTED], 0,
 				       is_all ? NULL : selected_prop);
 		}
Index: widgets/rb-simple-view.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-simple-view.c,v
retrieving revision 1.5
diff -p -u -r1.5 rb-simple-view.c
--- widgets/rb-simple-view.c	30 Nov 2005 08:47:23 -0000	1.5
+++ widgets/rb-simple-view.c	18 Jan 2006 14:21:55 -0000
@@ -215,7 +215,7 @@ rb_simple_view_button_press_cb (GtkTreeV
 			model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview));
 			gtk_tree_model_get_iter (model, &iter, path);
 
-			gtk_tree_model_get (model, &iter, 0, &val, -1);
+			gtk_tree_model_get (model, &iter, RHYTHMDB_PROPERTY_MODEL_COLUMN_TITLE, &val, -1);
 			lst = g_list_prepend (lst, (gpointer) val);
 
 			rb_property_view_set_selection (RB_PROPERTY_VIEW (view), lst);	
