banshee r3918 - in trunk/banshee: . data/audio-profiles src/Core/Banshee.Core/Resources src/Core/Banshee.ThickClient src/Core/Banshee.ThickClient/Banshee.Collection.Gui src/Extensions/Banshee.Lastfm src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView



Author: abock
Date: Tue May 13 22:02:37 2008
New Revision: 3918
URL: http://svn.gnome.org/viewvc/banshee?rev=3918&view=rev

Log:
2008-05-13  Aaron Bockover  <abock gnome org>

    * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs:
    Implemented a proper default column controller with the columns as static
    properties so derived implementations don't have to redefine common columns

    * src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:
    Use the new DefaultColumnController; check the active source (walking
    up to the root parent) for a column controller to use instead of the
    default; if none found, use the default

    * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmColumnController.cs:
    Implement a custom column controller for Last.fm derived

    * src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs:
    Set LastfmColumnController on the source

    * src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs:
    Make SetModel virtual

    * data/audio-profiles/wavpack.xml.in: Small fix to the pipeline

    * src/Core/Banshee.Core/Resources/contributors.xml: Added the Andy



Added:
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs
   trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmColumnController.cs
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/data/audio-profiles/wavpack.xml.in
   trunk/banshee/src/Core/Banshee.Core/Resources/contributors.xml
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
   trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
   trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs
   trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp
   trunk/banshee/src/Extensions/Banshee.Lastfm/Makefile.am
   trunk/banshee/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Model.cs

Modified: trunk/banshee/data/audio-profiles/wavpack.xml.in
==============================================================================
--- trunk/banshee/data/audio-profiles/wavpack.xml.in	(original)
+++ trunk/banshee/data/audio-profiles/wavpack.xml.in	Tue May 13 22:02:37 2008
@@ -17,8 +17,7 @@
                 (gst-construct-element "wavpackenc"
                     "mode" mode
                     (if (cast-bool lossy_mode)
-                        ("bitrate" (* bitrate 1000))
-                        ("" ""))
+                        ("bitrate" (* bitrate 1000)))
                     "md5" (cast-bool md5_sum)
                     "extra-processing" extra_processing)
                 (if (gst-element-is-available "apev2mux")

Modified: trunk/banshee/src/Core/Banshee.Core/Resources/contributors.xml
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Resources/contributors.xml	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Resources/contributors.xml	Tue May 13 22:02:37 2008
@@ -6,6 +6,7 @@
   <contributor>Alexander Hixon</contributor>
   <contributor>Alexandros Frantzis</contributor>
   <contributor>Alp Toker</contributor>
+  <contributor>Andy Midgette</contributor>
   <contributor>Aydemir UlaÅ Åahin</contributor>
   <contributor>Ben Maurer</contributor>
   <contributor>Bertrand Lorentz</contributor>

Added: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/DefaultColumnController.cs	Tue May 13 22:02:37 2008
@@ -0,0 +1,187 @@
+//
+// DefaultColumnController.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2007-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Mono.Unix;
+
+using Hyena.Gui;
+using Hyena.Gui.Theming;
+using Hyena.Gui.Theatrics;
+using Hyena.Data.Gui;
+
+using Banshee.Gui;
+using Banshee.ServiceStack;
+using Banshee.MediaEngine;
+using Banshee.Collection;
+
+namespace Banshee.Collection.Gui
+{
+    public class DefaultColumnController : PersistentColumnController
+    {
+        public DefaultColumnController () : this (true)
+        {
+        }
+        
+        public DefaultColumnController (bool loadDefault) : base (String.Format ("{0}.{1}", 
+            Application.ActiveClient.ClientId, "track_view_columns"))
+        {
+            if (loadDefault) {
+                AddDefaultColumns ();
+                DefaultSortColumn = ArtistColumn;
+                Load ();
+            }
+        }
+        
+        public void AddDefaultColumns ()
+        {
+            AddRange (
+                IndicatorColumn,
+                TrackColumn,
+                TitleColumn,
+                ArtistColumn,
+                AlbumColumn,
+                DurationColumn,
+                GenreColumn,
+                YearColumn,
+                ComposerColumn,
+                PlayCountColumn,
+                SkipCountColumn,
+                DiscColumn,
+                LastPlayedColumn,
+                LastSkippedColumn,
+                DateAddedColumn,
+                UriColumn,
+                MimeTypeColumn
+            );
+        }
+        
+        private static Column indicator_column 
+            = new Column (null, "indicator", new ColumnCellPlaybackIndicator (null), 0.05, true, 30, 30);
+        public static Column IndicatorColumn {
+            get { return indicator_column; }
+        }
+        
+        private static SortableColumn track_column = new SortableColumn (Catalog.GetString ("Track"), 
+            new ColumnCellTrackNumber ("TrackNumber", true), 0.10, "Track", true);
+        public static SortableColumn TrackColumn {
+            get { return track_column; }
+        }
+        
+        private static SortableColumn title_column = new SortableColumn (Catalog.GetString ("Title"), 
+            new ColumnCellText ("TrackTitle", true), 0.25, "Title", true);
+        public static SortableColumn TitleColumn {
+            get { return title_column; }
+        }
+        
+        private static SortableColumn artist_column = new SortableColumn (Catalog.GetString ("Artist"), 
+            new ColumnCellText ("ArtistName", true), 0.225, "Artist", true);
+        public static SortableColumn ArtistColumn {
+            get { return artist_column; }
+        }
+        
+        private static SortableColumn album_column = new SortableColumn (Catalog.GetString ("Album"), 
+            new ColumnCellText ("AlbumTitle", true), 0.225, "Album", true);
+        public static SortableColumn AlbumColumn {
+            get { return album_column; }
+        }
+        
+        private static SortableColumn duration_column = new SortableColumn (Catalog.GetString ("Duration"),
+            new ColumnCellDuration ("Duration", true), 0.15, "Duration", true);
+        public static SortableColumn DurationColumn {
+            get { return duration_column; }
+        }
+        
+        private static SortableColumn genre_column = new SortableColumn (Catalog.GetString ("Genre"), 
+            new ColumnCellText ("Genre", true), 0.25, "Genre", false);
+        public static SortableColumn GenreColumn {
+            get { return genre_column; }
+        }
+        
+        private static SortableColumn year_column = new SortableColumn (Catalog.GetString ("Year"), 
+            new ColumnCellPositiveInt ("Year", true), 0.15, "Year", false);
+        public static SortableColumn YearColumn {
+            get { return year_column; }
+        }
+        
+        private static SortableColumn composer_column = new SortableColumn (Catalog.GetString ("Composer"), 
+            new ColumnCellText ("Composer", true), 0.25, "Composer", false);
+        public static SortableColumn ComposerColumn {
+            get { return composer_column; }
+        }
+        
+        private static SortableColumn play_count_column = new SortableColumn (Catalog.GetString ("Play Count"), 
+            new ColumnCellText ("PlayCount", true), 0.15, "PlayCount", false);
+        public static SortableColumn PlayCountColumn {
+            get { return play_count_column; }
+        }
+        
+        private static SortableColumn skip_count_column = new SortableColumn (Catalog.GetString ("Skip Count"), 
+            new ColumnCellText ("SkipCount", true), 0.15, "SkipCount", false);
+        public static SortableColumn SkipCountColumn {
+            get { return skip_count_column; }
+        }
+        
+        private static SortableColumn disc_column = new SortableColumn (Catalog.GetString ("Disc"), 
+            new ColumnCellPositiveInt ("Disc", true), 0.10, "Disc", false);
+        public static SortableColumn DiscColumn {
+            get { return disc_column; }
+        }
+        
+        //new SortableColumn ("Rating", new RatingColumnCell (null, true), 0.15, "Rating"),
+        
+        private static SortableColumn last_played_column = new SortableColumn (Catalog.GetString ("Last Played"), 
+            new ColumnCellDateTime ("LastPlayed", true), 0.15, "LastPlayedStamp", false);
+        public static SortableColumn LastPlayedColumn {
+            get { return last_played_column; }
+        }
+        
+        private static SortableColumn last_skipped_column = new SortableColumn (Catalog.GetString ("Last Skipped"), 
+            new ColumnCellDateTime ("LastSkipped", true), 0.15, "LastSkippedStamp", false);
+        public static SortableColumn LastSkippedColumn {
+            get { return last_skipped_column; }
+        }
+        
+        private static SortableColumn date_added_column = new SortableColumn (Catalog.GetString ("Date Added"), 
+            new ColumnCellDateTime ("DateAdded", true), 0.15, "DateAddedStamp", false);
+        public static SortableColumn DateAddedColumn {
+            get { return date_added_column; }
+        }
+        
+        private static SortableColumn uri_column = new SortableColumn (Catalog.GetString ("Location"), 
+            new ColumnCellText ("Uri", true), 0.15, "Uri", false);
+        public static SortableColumn UriColumn {
+            get { return uri_column; }
+        }
+        
+        private static SortableColumn mime_type_column = new SortableColumn (Catalog.GetString ("Mime Type"), 
+            new ColumnCellText ("MimeType", true), 0.15, "MimeType", false);
+        public static SortableColumn MimeTypeColumn {
+            get { return mime_type_column; }
+        }
+    }
+}

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 May 13 22:02:37 2008
@@ -28,82 +28,50 @@
 
 using System;
 using Mono.Unix;
-using Cairo;
 using Gtk;
 
-using Hyena.Gui;
-using Hyena.Gui.Theming;
-using Hyena.Gui.Theatrics;
+using Hyena.Data;
 using Hyena.Data.Gui;
 
-using Banshee.Gui;
+using Banshee.Sources;
 using Banshee.ServiceStack;
 using Banshee.MediaEngine;
-using Banshee.Collection;
+
+using Banshee.Gui;
 
 namespace Banshee.Collection.Gui
 {
     public class TrackListView : ListView<TrackInfo>
     {
-        private PersistentColumnController column_controller;
-
+        private ColumnController default_column_controller;
+        
         public TrackListView () : base ()
         {
-            column_controller = new PersistentColumnController (String.Format ("{0}.{1}", 
-                Banshee.ServiceStack.Application.ActiveClient.ClientId, "track_view_columns"));
-
-            SortableColumn artist_column = new SortableColumn (Catalog.GetString ("Artist"), new ColumnCellText ("ArtistName", true), 0.225, "Artist", true);
-
-            column_controller.AddRange (
-                new Column (null, "indicator", new ColumnCellPlaybackIndicator (null), 0.05, true, 30, 30),
-                new SortableColumn (Catalog.GetString ("Track"), new ColumnCellTrackNumber ("TrackNumber", true), 0.10, "Track", true),
-                new SortableColumn (Catalog.GetString ("Title"), new ColumnCellText ("TrackTitle", true), 0.25, "Title", true),
-                artist_column,
-                new SortableColumn (Catalog.GetString ("Album"), new ColumnCellText ("AlbumTitle", true), 0.225, "Album", true),
-                new SortableColumn (Catalog.GetString ("Composer"), new ColumnCellText ("Composer", true), 0.25, "Composer", false),
-                new SortableColumn (Catalog.GetString ("Duration"), new ColumnCellDuration ("Duration", true), 0.15, "Duration", true),
-                
-                new SortableColumn (Catalog.GetString ("Year"), new ColumnCellPositiveInt ("Year", true), 0.15, "Year", false),
-                new SortableColumn (Catalog.GetString ("Genre"), new ColumnCellText ("Genre", true), 0.25, "Genre", false),
-                new SortableColumn (Catalog.GetString ("Play Count"), new ColumnCellText ("PlayCount", true), 0.15, "PlayCount", false),
-                new SortableColumn (Catalog.GetString ("Skip Count"), new ColumnCellText ("SkipCount", true), 0.15, "SkipCount", false),
-                new SortableColumn (Catalog.GetString ("Disc"), new ColumnCellPositiveInt ("Disc", true), 0.10, "Disc", false),
-                //new SortableColumn ("Rating", new RatingColumnCell (null, true), 0.15, "Rating"),
-                new SortableColumn (Catalog.GetString ("Last Played"), new ColumnCellDateTime ("LastPlayed", true), 0.15, "LastPlayedStamp", false),
-                new SortableColumn (Catalog.GetString ("Last Skipped"), new ColumnCellDateTime ("LastSkipped", true), 0.15, "LastSkippedStamp", false),
-                new SortableColumn (Catalog.GetString ("Date Added"), new ColumnCellDateTime ("DateAdded", true), 0.15, "DateAddedStamp", false),
-                new SortableColumn (Catalog.GetString ("Location"), new ColumnCellText ("Uri", true), 0.15, "Uri", false)
-            );
-            
-            column_controller.Load ();
-            
-            ColumnController = DefaultColumnController;
-            ColumnController.DefaultSortColumn = artist_column;
+            default_column_controller = new DefaultColumnController ();
 
             RulesHint = true;
             RowSensitivePropertyName = "CanPlay";
             
             ServiceManager.PlayerEngine.ConnectEvent (OnPlayerEvent, PlayerEvent.StateChange);
             
-            if (ServiceManager.Contains<GtkElementsService> ()) {
-                ServiceManager.Get<GtkElementsService> ().ThemeChanged += delegate {
-                    foreach (Column column in column_controller) {
-                        if (column.HeaderCell != null) {
-                            column.HeaderCell.NotifyThemeChange ();
-                        }
-                        
-                        foreach (ColumnCell cell in column) {
-                            cell.NotifyThemeChange ();
-                        }
-                    }
-                    
-                    QueueDraw ();
-                };
-            }
-            
             ForceDragSourceSet = true;
             Reorderable = true;
         }
+        
+        public override void SetModel (IListModel<TrackInfo> value, double vpos)
+        {
+            base.SetModel (value, vpos);
+            
+            Source source = ServiceManager.SourceManager.ActiveSource;
+            ColumnController controller = null;
+            
+            while (source != null && controller == null) {
+                controller = source.Properties.Get<ColumnController> ("TrackView.ColumnController");
+                source = source.Parent;
+            }
+            
+            ColumnController = controller ?? default_column_controller;
+        }
 
         protected override bool OnPopupMenu ()
         {
@@ -132,9 +100,6 @@
         }
 
 #endregion
-        
-        public ColumnController DefaultColumnController {
-            get { return column_controller; }
-        }
+
     }
 }

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	Tue May 13 22:02:37 2008
@@ -109,6 +109,7 @@
     <File name="Resources/jcastro.png" subtype="Code" buildaction="EmbedAsResource" />
     <File name="Banshee.Sources.Gui/SourceModel.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Sources.Gui/SourceComboBox.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Collection.Gui/DefaultColumnController.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Project" localcopy="False" refto="Hyena.Gui" />

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	Tue May 13 22:02:37 2008
@@ -18,6 +18,7 @@
 	Banshee.Collection.Gui/ColumnCellPositiveInt.cs \
 	Banshee.Collection.Gui/ColumnCellTrack.cs \
 	Banshee.Collection.Gui/ColumnCellTrackNumber.cs \
+	Banshee.Collection.Gui/DefaultColumnController.cs \
 	Banshee.Collection.Gui/PersistentColumnController.cs \
 	Banshee.Collection.Gui/TerseTrackListView.cs \
 	Banshee.Collection.Gui/TrackListView.cs \

Added: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmColumnController.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmColumnController.cs	Tue May 13 22:02:37 2008
@@ -0,0 +1,51 @@
+//
+// LastfmColumnController.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Banshee.Collection.Gui;
+
+namespace Banshee.Lastfm.Radio
+{
+    public class LastfmColumnController : DefaultColumnController
+    {
+        public LastfmColumnController () : base (false)
+        {
+            AddRange (
+                IndicatorColumn,
+                TitleColumn,
+                ArtistColumn,
+                AlbumColumn,
+                DurationColumn
+            );
+            
+            DefaultSortColumn = ArtistColumn;
+            Load ();
+        }
+    }
+}

Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs	(original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Radio/LastfmSource.cs	Tue May 13 22:02:37 2008
@@ -103,6 +103,7 @@
             Properties.SetString ("GtkActionPath", "/LastfmSourcePopup");
             Properties.SetString ("Icon.Name", "lastfm-audioscrobbler");
             Properties.SetString ("SourcePropertiesActionLabel", Catalog.GetString ("Edit Last.fm Settings"));
+            Properties.Set<LastfmColumnController> ("TrackView.ColumnController", new LastfmColumnController ());
 
             // FIXME this is temporary until we split the GUI part from the non-GUI part
             Properties.Set<ISourceContents> ("Nereid.SourceContents", new LastfmSourceContents ());

Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp	(original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.mdp	Tue May 13 22:02:37 2008
@@ -22,6 +22,7 @@
     <File name="Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Lastfm.Audioscrobbler/Queue.cs" subtype="Code" buildaction="Compile" />
     <File name="Resources/AudioscrobblerMenu.xml" subtype="Code" buildaction="EmbedAsResource" />
+    <File name="Banshee.Lastfm.Radio/LastfmColumnController.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />

Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Makefile.am
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Makefile.am	(original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Makefile.am	Tue May 13 22:02:37 2008
@@ -7,6 +7,7 @@
 	Banshee.Lastfm.Audioscrobbler/AudioscrobblerService.cs \
 	Banshee.Lastfm.Audioscrobbler/Queue.cs \
 	Banshee.Lastfm.Radio/LastfmActions.cs \
+	Banshee.Lastfm.Radio/LastfmColumnController.cs \
 	Banshee.Lastfm.Radio/LastfmSource.cs \
 	Banshee.Lastfm.Radio/LastfmSourceContents.cs \
 	Banshee.Lastfm.Radio/LastfmTrackInfo.cs \

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 May 13 22:02:37 2008
@@ -40,7 +40,7 @@
             SetModel (model, 0.0);
         }
 
-        public void SetModel (IListModel<T> value, double vpos)
+        public virtual void SetModel (IListModel<T> value, double vpos)
         {
             if (model == value) {
                 return;



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