MantisBT - MPfm
View Issue Details
0000374MPfmMVP | Presenterspublic2012-05-27 18:292013-02-23 13:14
ycastonguay 
ycastonguay 
normalfeatureN/A
assignedopen 
 
0.7.0.0 
0000374: Add view/presenter for desktop Song Browser (ISongBrowserPresenter/ISongBrowserView)
The Presenter controls all the logic for the application. It sends updates to the
view through the ISongBrowserView interface (for the Main Window).
No tags attached.
child of 0000324assigned ycastonguay Use a MVP-style pattern to centralize code for UI on multiple platforms 
Issue History
2012-05-27 18:29ycastonguayNew Issue
2012-05-27 18:29ycastonguayStatusnew => assigned
2012-05-27 18:29ycastonguayAssigned To => ycastonguay
2012-05-27 18:29ycastonguayIssue generated from0000373
2012-05-27 18:29ycastonguayRelationship addedchild of 0000324
2012-05-27 19:58svnCheckin
2012-05-27 19:58svnNote Added: 0000724
2012-05-27 21:44svnCheckin
2012-05-27 21:44svnNote Added: 0000726
2012-05-29 19:34svnCheckin
2012-05-29 19:34svnNote Added: 0000732
2012-06-03 18:57svnCheckin
2012-06-03 18:57svnNote Added: 0000744
2012-06-03 21:31svnCheckin
2012-06-03 21:31svnNote Added: 0000749
2012-07-02 13:10svnCheckin
2012-07-02 13:10svnNote Added: 0000803
2012-09-21 17:37ycastonguayIssue cloned0000397
2012-12-03 20:48svnCheckin
2012-12-03 20:48svnNote Added: 0000872
2013-02-23 13:14ycastonguaySummaryAdd the ISongBrowserPresenter interface and implement SongBrowserPresenter => Add view/presenter for desktop Song Browser (ISongBrowserPresenter/ISongBrowserView)

Notes
(0000724)
svn   
2012-05-27 19:58   
The user animal has checked in files related to this issue (revision 516).

Comment:
MPfm 0.6.0.1
* Library
  - MPfmGateway: Added SelectAudioFiles overload method.
* MVP
  - Added SongBrowserPresenter and ISongBrowserView.
  - Bootstrapper: Added Ninject configuration for LibraryService.
  - SongBrowserFilterEntity: Changed properties.
  - LibraryBrowserEntity: Changed properties.
* GTK
  - MainWindow: Added SongBrowserPresenter.

Related to issue 0000368, issue #371 and issue 0000374.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/gui.stetic
U MPfm/branches/current/MPfm.Library/Gateway/IMPfmGateway.cs
U MPfm/branches/current/MPfm.Library/Gateway/MPfmGateway.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
U MPfm/branches/current/MPfm.MVP/Models/LibraryBrowserEntity.cs
U MPfm/branches/current/MPfm.MVP/Models/SongBrowserFilterEntity.cs
A MPfm/branches/current/MPfm.MVP/Presenters/ISongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Services/ILibraryService.cs
U MPfm/branches/current/MPfm.MVP/Services/LibraryService.cs
A MPfm/branches/current/MPfm.MVP/Views/ISongBrowserView.cs
(0000726)
svn   
2012-05-27 21:44   
The user animal has checked in files related to this issue (revision 517).

Comment:
MPfm 0.6.0.1
* MVP
  - Added IAudioFileCacheService/AudioFileCacheService and the AudioFileCache singleton.
    Moved code from SongBrowserPresenter to AudioFileCacheService.
  - LibraryBrowserPresenter, SongBrowserPresenter: Added PlayerPresenter to the constructor arguments.
  - Moved all interfaces to subdirectories.

Related to issue 0000373, issue 0000374 and issue 0000375.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.MVP/Bootstrapper/Bootstrapper.cs
U MPfm/branches/current/MPfm.MVP/Bootstrapper/LibraryModule.cs
A MPfm/branches/current/MPfm.MVP/Cache/
A MPfm/branches/current/MPfm.MVP/Cache/AudioFileCache.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
D MPfm/branches/current/MPfm.MVP/Presenters/ILibraryBrowserPresenter.cs
D MPfm/branches/current/MPfm.MVP/Presenters/IPlayerPresenter.cs
D MPfm/branches/current/MPfm.MVP/Presenters/ISongBrowserPresenter.cs
D MPfm/branches/current/MPfm.MVP/Presenters/IUpdateLibraryPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ILibraryBrowserPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPlayerPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISongBrowserPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IUpdateLibraryPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
A MPfm/branches/current/MPfm.MVP/Services/AudioFileCacheService.cs
D MPfm/branches/current/MPfm.MVP/Services/ILibraryService.cs
D MPfm/branches/current/MPfm.MVP/Services/IMainService.cs
D MPfm/branches/current/MPfm.MVP/Services/IUpdateLibraryService.cs
A MPfm/branches/current/MPfm.MVP/Services/Interfaces/
A MPfm/branches/current/MPfm.MVP/Services/Interfaces/IAudioFileCacheService.cs
A MPfm/branches/current/MPfm.MVP/Services/Interfaces/ILibraryService.cs
A MPfm/branches/current/MPfm.MVP/Services/Interfaces/IMainService.cs
A MPfm/branches/current/MPfm.MVP/Services/Interfaces/IUpdateLibraryService.cs
(0000732)
svn   
2012-05-29 19:34   
The user animal has checked in files related to this issue (revision 518).

Comment:
MPfm 0.6.0.1
* MVP
  - Removed views from all presenter constructors. The views must now be set using the BindView method.
  - LibraryModule: Added Ninject bindings for all presenters.
* GTK
  - The MainWindow is now created by Ninject!
  - MainWindow: Added all presenters in constructor.
  
Related to issue 0000356, issue 0000361, issue 0000364, issue 0000373 and issue 0000374.


Files modified:
U MPfm/branches/current/MPfm.GTK/Main.cs
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/UpdateLibraryWindow.cs
U MPfm/branches/current/MPfm.MVP/Bootstrapper/LibraryModule.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ILibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IUpdateLibraryPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/UpdateLibraryPresenter.cs
(0000744)
svn   
2012-06-03 18:57   
The user animal has checked in files related to this issue (revision 526).

Comment:
MPfm 0.6.0.1
* MVP
  - Added the SongBrowserQueryEntity entity.
  - ISongBrowserView: Added RefreshSongBrowser method.
  - SongBrowserPresenter: Now using the view to update the UI.
  - LibraryBrowserPresenter: Added TreeNodeSelected method, which updates the song browser presenter.
  - AudioFileCacheService: Now using SongBrowserQueryEntity for method parameters.
* GTK
  - Updated implementation.

Related to issue 0000373, issue 0000374, issue 0000375 and issue #378.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.MVP/Bootstrapper/LibraryModule.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
U MPfm/branches/current/MPfm.MVP/Models/LibraryBrowserEntity.cs
A MPfm/branches/current/MPfm.MVP/Models/SongBrowserQueryEntity.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ILibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Services/AudioFileCacheService.cs
U MPfm/branches/current/MPfm.MVP/Services/Interfaces/IAudioFileCacheService.cs
U MPfm/branches/current/MPfm.MVP/Views/ISongBrowserView.cs
(0000749)
svn   
2012-06-03 21:31   
The user animal has checked in files related to this issue (revision 528).

Comment:
MPfm 0.6.0.1

The Library Browser and Song Browser can now be double clicked to start a new playlist. The song position track bar is now updated (but the song position cannot be changed yet).

* MVP
  - LibraryBrowserPresenter: Added the TreeNodeDoubleClicked method.
  - LibraryBrowserPresenter: Added dependency for AudioFileCacheService.
  - SongBrowserPresenter: Added the TableRowDoubleClicked method.
  - PlayerPresenter: Added the Play(IEnumerable<AudioFile> audioFiles, int startPosition) overload.
  - SongInformationEntity: Added more properties.
  - PlayerPositionEntity: Added PositionPercentage property.
* GTK
  - Updated implementation.

Related to issue 0000361, issue 0000373 and issue 0000374.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/MPfm.GTK.MainWindow.cs
U MPfm/branches/current/MPfm.GTK/gtk-gui/gui.stetic
U MPfm/branches/current/MPfm.MVP/Models/PlayerPositionEntity.cs
U MPfm/branches/current/MPfm.MVP/Models/SongInformationEntity.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ILibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IPlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
(0000803)
svn   
2012-07-02 13:10   
The user animal has checked in files related to this issue (revision 588).

Comment:
MPfm 0.6.0.1
* Mac
  - Added a lot more logging all around.
  - Added assembly info file.
  - Added CocoaHelper class for misc helper methods.
* MVP
  - Added a lot more logging to PlayerPresenter, SongBrowserPresenter and LibraryBrowserPresenter.

Related to issue 0000361, issue 0000373, issue 0000374 and issue 0000381.


Files modified:
U MPfm/branches/current/MPfm.MVP/AssemblyInfo.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Services/InitializationService.cs
A MPfm/branches/current/MPfm.Mac/AssemblyInfo.cs
A MPfm/branches/current/MPfm.Mac/Helpers/CocoaHelper.cs
U MPfm/branches/current/MPfm.Mac/MPfm.Mac.csproj
U MPfm/branches/current/MPfm.Mac/MainWindowController.cs
(0000872)
svn   
2012-12-03 20:48   
The user animal has checked in files related to this issue (revision 645).

Comment:
GTK: Removed IPlayerPresenter, ISongBrowserPresenter and ILibraryBrowserPresenter from the constructor.
Added actions for IPlayerView, ISongBrowserView and ILibraryBrowserView.
GTK: The MainWindow is now completely disconnected from presenters.

Related to issue #360, issue 0000361, issue 0000373, issue 0000374, issue #377, issue #378 and issue 0000382.


Files modified:
U MPfm/branches/current/MPfm.GTK/Main.cs
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.MVP/Presenters/LibraryBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/PlayerPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SongBrowserPresenter.cs
U MPfm/branches/current/MPfm.MVP/Views/ILibraryBrowserView.cs
U MPfm/branches/current/MPfm.MVP/Views/IPlayerView.cs
U MPfm/branches/current/MPfm.MVP/Views/ISongBrowserView.cs