diff -u -p -r1.32 rb-static-playlist-source.c
--- sources/rb-static-playlist-source.c	14 Aug 2006 12:43:34 -0000	1.32
+++ sources/rb-static-playlist-source.c	12 Nov 2006 06:33:03 -0000
@@ -78,6 +78,8 @@ static void rb_static_playlist_source_no
 							 const char *uri,
 							 int position,
 							 RBStaticPlaylistSource *source);
+static void rb_static_playlist_source_songs_sort_order_changed_cb (RBEntryView *view,
+								   RBStaticPlaylistSource *source);
 
 static void search_action_changed (GtkRadioAction *action,
 				   GtkRadioAction *current,
@@ -226,6 +228,7 @@ rb_static_playlist_source_constructor (G
 	RBEntryView *songs;
 	RBShell *shell;
 	RhythmDBEntryType entry_type;
+	gboolean local;
 
 	priv->base_model = rb_playlist_source_get_query_model (RB_PLAYLIST_SOURCE (psource));
 	g_object_set (priv->base_model, "show-hidden", TRUE, NULL);
@@ -262,6 +265,15 @@ rb_static_playlist_source_constructor (G
 
 	/* reparent the entry view */
 	songs = rb_source_get_entry_view (RB_SOURCE (source));
+	g_signal_connect_object (songs,
+				 "sort-order-changed", G_CALLBACK (rb_static_playlist_source_songs_sort_order_changed_cb),
+				 source, 0);
+	g_object_get (source, "is-local", &local, NULL);
+	if (!local) {
+		rb_entry_view_set_columns_clickable (songs, TRUE);
+		rb_entry_view_set_sorting_order (songs, NULL, 0);
+	}
+
 	g_object_ref (songs);
 	gtk_container_remove (GTK_CONTAINER (source), GTK_WIDGET (songs));
 	gtk_paned_pack2 (GTK_PANED (priv->paned), GTK_WIDGET (songs), TRUE, FALSE);
@@ -817,3 +829,11 @@ impl_want_uri (RBSource *source, const c
 
 	return 0;
 }
+
+static void
+rb_static_playlist_source_songs_sort_order_changed_cb (RBEntryView *view, RBStaticPlaylistSource *source)
+{
+	rb_debug ("sort order changed");
+	rb_entry_view_resort_model (view);
+}
+
