Author: gburt
Date: 2007-12-05 01:40:48 +0000 (Wed, 05 Dec 2007)
New Revision: 2861
ViewCVS link: http://svn.gnome.org/viewcvs/banshee?rev=2861&view=rev
Added:
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs
trunk/banshee/src/Core/Hyena/Hyena.Collections/Selection.cs
trunk/banshee/src/Core/Hyena/Hyena.Collections/SelectionProxy.cs
Removed:
trunk/banshee/src/Core/Hyena/Hyena.Data/Selection.cs
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection/ArtistListModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs
trunk/banshee/src/Core/Banshee.Services/Makefile.am
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
trunk/banshee/src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs
trunk/banshee/src/Core/Hyena/Hyena.Data/IListModel.cs
trunk/banshee/src/Core/Hyena/Hyena.Data/ModelSelection.cs
trunk/banshee/src/Core/Hyena/Makefile.am
trunk/banshee/src/Core/Nereid/Nereid/PlayerInterface.cs
Log:
2007-12-04 Gabriel Burt <[EMAIL PROTECTED]>
The main point of this change is to make Selections tied to a specific
model, which in turn are already tied to a specific source. So, if you
have some artists and/or albums and/or tracks selected in your Library,
switch to a playlist, then switch back, they will still be selected when
you get back.
* src/Core/Hyena/Hyena.Data/IListModel.cs: Add a Selection property.
* src/Core/Banshee.Services/Makefile.am:
* src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs: New
abstract base class to avoid duplications, implement Selection property
of
IListModel.
* src/Core/Banshee.Services/Banshee.Collection/AlbumListModel.cs:
* src/Core/Banshee.Services/Banshee.Collection/ArtistListModel.cs:
* src/Core/Banshee.Services/Banshee.Collection/TrackListModel.cs:
Subclass
from BansheeListModel.
* src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs: Add
Selection
implementation.
* src/Core/Banshee.Services/Banshee.Collection/IHasTrackSelection.cs:
Return a SelectionProxy instead of a Selection, because the Selection
will
change for the ListView depending on what source is selected, and we
only
care about the currently displayed one.
* src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ArtistListView.cs:
* src/Core/Banshee.ThickClient/Banshee.Collection.Gui/AlbumListView.cs:
Don't set the selection to the first item automatically; that is done in
the model now.
*
src/Core/Banshee.ThickClient/Banshee.Collection.Gui/CompositeTrackListView.cs:
Add method for changing all three models at once.
* src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs: Listen to
the
events on the track SelectionProxy not the Selection itself.
* src/Core/Hyena.Gui/Hyena.Data.Gui/ListView.cs: Add SelectionProxy
property, use the Selection property everywhere and remove the selection
instance variable, since the Selection belongs to the model now, and
that
can change.
* src/Core/Hyena/Hyena.Data/Selection.cs:
* src/Core/Hyena/Hyena.Collections/Selection.cs: Move to the appropriate
folder for its namespace, and remove Owner property.
* src/Core/Hyena/Makefile.am:
* src/Core/Hyena/Hyena.Collections/SelectionProxy.cs: New file that has
events for when its selection is updated and for when its selection is
changed to a different one.
* src/Core/Hyena/Hyena.Data/ModelSelection.cs: Comment out unfinished
method.
* src/Core/Nereid/Nereid/PlayerInterface.cs: Updated to new ListView
API.
_______________________________________________
SVN-commits-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/svn-commits-list