Biggie: PlaylistFile refactoring, code deduplication, asynchronous loading
FEATURES: * Playlist files are now read asynchronously when possible; patch and great deal of refactoring by Tatjana Gornak. Original description: I've started my changes with an implementation of a ASXPlaylist class, due this work I've found that implementation of different playlist file types has different logic, as result I end up with a rewriting playlist's implementations. As example of difference: - Constructor M3UPlaylist::M3UPlaylist( const KUrl &url ) sets a url, but does not load playlist, therefore loading of playlist are postponed till data from playlist are actualy needed (lazy loading) On the other hand constructor XSPFPlaylist::XSPFPlaylist( const KUrl &url, bool autoAppend ) loads playlist. The main idea of proposed changes is to create a unify code for processing playlist files: - lazy loading - common functionality was moved to PlaylistFile. BUG: 291934 FIXED-IN: 2.8 REVIEW: 107473 DIGEST: Optimization: Amarok now reads playlist files asynchronously when possible, thanks to Tatjana Gornak. CCMAIL: Tatjana Gornak <t.gornak@yandex.ru>
Showing
- ChangeLog 2 additions, 0 deletionsChangeLog
- src/CMakeLists.txt 3 additions, 1 deletionsrc/CMakeLists.txt
- src/DirectoryLoader.cpp 32 additions, 12 deletionssrc/DirectoryLoader.cpp
- src/DirectoryLoader.h 23 additions, 8 deletionssrc/DirectoryLoader.h
- src/browsers/playlistbrowser/PlaylistBrowserModel.cpp 3 additions, 0 deletionssrc/browsers/playlistbrowser/PlaylistBrowserModel.cpp
- src/browsers/playlistbrowser/PlaylistBrowserModel.h 2 additions, 1 deletionsrc/browsers/playlistbrowser/PlaylistBrowserModel.h
- src/context/applets/info/InfoApplet.cpp 2 additions, 2 deletionssrc/context/applets/info/InfoApplet.cpp
- src/core-impl/collections/ipodcollection/IpodPlaylistProvider.h 1 addition, 0 deletions...re-impl/collections/ipodcollection/IpodPlaylistProvider.h
- src/core-impl/collections/umscollection/podcasts/UmsPodcastProvider.cpp 4 additions, 3 deletions...collections/umscollection/podcasts/UmsPodcastProvider.cpp
- src/core-impl/playlists/types/file/PlaylistFile.cpp 146 additions, 4 deletionssrc/core-impl/playlists/types/file/PlaylistFile.cpp
- src/core-impl/playlists/types/file/PlaylistFile.h 91 additions, 27 deletionssrc/core-impl/playlists/types/file/PlaylistFile.h
- src/core-impl/playlists/types/file/PlaylistFileLoaderJob.cpp 129 additions, 0 deletionssrc/core-impl/playlists/types/file/PlaylistFileLoaderJob.cpp
- src/core-impl/playlists/types/file/PlaylistFileLoaderJob.h 58 additions, 0 deletionssrc/core-impl/playlists/types/file/PlaylistFileLoaderJob.h
- src/core-impl/playlists/types/file/PlaylistFileSupport.cpp 20 additions, 93 deletionssrc/core-impl/playlists/types/file/PlaylistFileSupport.cpp
- src/core-impl/playlists/types/file/PlaylistFileSupport.h 4 additions, 11 deletionssrc/core-impl/playlists/types/file/PlaylistFileSupport.h
- src/core-impl/playlists/types/file/m3u/M3UPlaylist.cpp 14 additions, 166 deletionssrc/core-impl/playlists/types/file/m3u/M3UPlaylist.cpp
- src/core-impl/playlists/types/file/m3u/M3UPlaylist.h 10 additions, 44 deletionssrc/core-impl/playlists/types/file/m3u/M3UPlaylist.h
- src/core-impl/playlists/types/file/pls/PLSPlaylist.cpp 31 additions, 181 deletionssrc/core-impl/playlists/types/file/pls/PLSPlaylist.cpp
- src/core-impl/playlists/types/file/pls/PLSPlaylist.h 10 additions, 43 deletionssrc/core-impl/playlists/types/file/pls/PLSPlaylist.h
- src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp 72 additions, 254 deletionssrc/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
Loading
Please register or sign in to comment