banshee r3414 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.ThickClient/Banshee.Collection.Gui src/Libraries/Hyena.Gui/Hyena.Data.Gui src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView



Author: gburt
Date: Tue Mar 11 03:58:40 2008
New Revision: 3414
URL: http://svn.gnome.org/viewvc/banshee?rev=3414&view=rev

Log:
2008-03-10  Gabriel Burt  <gabriel burt gmail com>

	* src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
	* src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
	* src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs:
	* src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
	Default the sort of the TrackList to sort by Artist.


Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs	Tue Mar 11 03:58:40 2008
@@ -96,6 +96,8 @@
             initialized = true;
             cache = new BansheeModelCache <DatabaseTrackInfo> (connection, uuid, this, provider);
             cache.AggregatesUpdated += HandleCacheAggregatesUpdated;
+
+            GenerateSortQueryPart ();
         }
         
         private bool have_new_filter = true;
@@ -120,9 +122,9 @@
 
         private void GenerateSortQueryPart ()
         {
-            sort_query = (sort_column == null) ?
-                null :
-                BansheeQuery.GetSort (sort_column.SortKey, sort_column.SortType == SortType.Ascending);
+            sort_query = (sort_column == null)
+                ? BansheeQuery.GetSort ("Artist", true)
+                : BansheeQuery.GetSort (sort_column.SortKey, sort_column.SortType == SortType.Ascending);
         }
 
         public void Refilter ()

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs	Tue Mar 11 03:58:40 2008
@@ -73,6 +73,8 @@
             column_controller.Load ();
             
             ColumnController = DefaultColumnController;
+            ColumnController.DefaultSortColumn = ColumnController[3] as SortableColumn;
+
             RulesHint = true;
             RowSensitivePropertyName = "CanPlay";
             

Modified: trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs	(original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ColumnController.cs	Tue Mar 11 03:58:40 2008
@@ -35,6 +35,7 @@
     public class ColumnController : IEnumerable<Column>
     {
         private List<Column> columns = new List<Column> ();
+        private ISortableColumn default_sort_column;
         
         protected List<Column> Columns {
             get { return columns; }
@@ -156,6 +157,11 @@
         public Column this[int index] {
             get { return columns[index]; }
         }
+
+        public ISortableColumn DefaultSortColumn {
+            get { return default_sort_column; }
+            set { default_sort_column = value; }
+        }
         
         public int Count {
             get { return columns.Count; }

Modified: trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs	(original)
+++ trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs	Tue Mar 11 03:58:40 2008
@@ -53,6 +53,11 @@
             
             model = value;
 
+            ISortable sortable = model as ISortable;
+            if (sortable != null && sortable.SortColumn == null && ColumnController.DefaultSortColumn != null) {
+                sortable.Sort (ColumnController.DefaultSortColumn);
+            }
+
             if (model != null) {
                 model.Cleared += OnModelClearedHandler;
                 model.Reloaded += OnModelReloadedHandler;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]