banshee r3408 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.SmartPlaylist src/Core/Banshee.Services/Banshee.Sources
- From: gburt svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3408 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.SmartPlaylist src/Core/Banshee.Services/Banshee.Sources
- Date: Tue, 11 Mar 2008 00:25:52 +0000 (GMT)
Author: gburt
Date: Tue Mar 11 00:25:52 2008
New Revision: 3408
URL: http://svn.gnome.org/viewvc/banshee?rev=3408&view=rev
Log:
2008-03-10 Gabriel Burt <gabriel burt gmail com>
* src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs:
* src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs:
Fix smart playlists to work with new ReloadTrack override.
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs Tue Mar 11 00:25:52 2008
@@ -247,7 +247,7 @@
private void OnDependencyUpdated (object sender, EventArgs args)
{
- RateLimitedReload ();
+ Reload ();
}
#endregion
@@ -291,24 +291,24 @@
#region DatabaseSource overrides
- protected override void ReloadTrackModel ()
+ protected override void ReloadTrackModel (bool unfiltered, bool notify)
{
- // Wipe the member list clean
- ServiceManager.DbConnection.Execute (String.Format (
- "DELETE FROM CoreSmartPlaylistEntries WHERE SmartPlaylistID = {0}", DbId
- ));
-
- // Repopulate it
- ServiceManager.DbConnection.Execute (String.Format (
- @"INSERT INTO CoreSmartPlaylistEntries
- SELECT NULL, {0} as SmartPlaylistID, TrackId
- FROM CoreTracks, CoreArtists, CoreAlbums
- WHERE CoreTracks.ArtistID = CoreArtists.ArtistID AND CoreTracks.AlbumID = CoreAlbums.AlbumID
- {1} {2}",
- DbId, PrependCondition("AND"), OrderAndLimit
- ));
+ // The first time ReloadTrackModel is called, it is called with unfiltered = true,
+ // so only repopulate the smart playlist entries then.
+ if (unfiltered) {
+ // Wipe the member list clean and repopulate it
+ ServiceManager.DbConnection.Execute (String.Format (
+ @"DELETE FROM CoreSmartPlaylistEntries WHERE SmartPlaylistID = {0};
+ INSERT INTO CoreSmartPlaylistEntries
+ SELECT NULL, {0} as SmartPlaylistID, TrackId
+ FROM CoreTracks, CoreArtists, CoreAlbums
+ WHERE CoreTracks.ArtistID = CoreArtists.ArtistID AND CoreTracks.AlbumID = CoreAlbums.AlbumID
+ {1} {2}",
+ DbId, PrependCondition("AND"), OrderAndLimit
+ ));
+ }
- base.ReloadTrackModel ();
+ base.ReloadTrackModel (unfiltered, notify);
}
#endregion
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs Tue Mar 11 00:25:52 2008
@@ -160,12 +160,12 @@
}
}
- protected virtual void ReloadTrackModel ()
+ protected void ReloadTrackModel ()
{
ReloadTrackModel (false, true);
}
- protected void ReloadTrackModel (bool unfiltered, bool notify)
+ protected virtual void ReloadTrackModel (bool unfiltered, bool notify)
{
track_model.Reload (unfiltered, notify);
Hyena.Log.DebugFormat ("Called {0}::ReloadTrackModel ({1}) [Count={2}]", GetType ().FullName,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]