<table><tr><td style="">malteveerman created this revision.<br />malteveerman added a reviewer: Amarok.<br />malteveerman added a project: Amarok.<br />malteveerman requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D11968">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This includes the C++ implementation of the lyrics functionality, which is now async. Also includes a fix for SqlAlbumTest, which failed since my last stuttering revision.<br />
The biggest change though is in CollectionTreeItemModelBase. It now loads an album's tracks in a Threadweaver job and CollectionSortFilterProxyModel filters unloaded albums. This makes the CollectionTreeView seem to grow when expanding an artist with many albums like "Various Artists" instead of freezing for a while depending on your collection size. The CollectionTreeView must be set to display album years for this to take effect.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R181 Amarok</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11968">https://phabricator.kde.org/D11968</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/CMakeLists.txt<br />
src/browsers/CollectionSortFilterProxyModel.cpp<br />
src/browsers/CollectionSortFilterProxyModel.h<br />
src/browsers/CollectionTreeItemModelBase.cpp<br />
src/browsers/CollectionTreeItemModelBase.h<br />
src/context/LyricsManager.cpp<br />
src/context/LyricsManager.h<br />
src/context/applets/lyrics/plugin/LyricsEngine.cpp<br />
src/context/applets/lyrics/plugin/LyricsEngine.h<br />
src/core-impl/collections/db/sql/SqlMeta.cpp<br />
src/core-impl/collections/db/sql/SqlMeta.h<br />
src/covermanager/CoverFetchQueue.cpp<br />
src/covermanager/CoverFetchQueue.h<br />
src/covermanager/CoverFetcher.cpp<br />
src/covermanager/CoverFetcher.h<br />
src/dialogs/TagDialog.cpp<br />
src/dialogs/TagDialog.h<br />
src/lyrics/LyricsManager.cpp<br />
src/lyrics/LyricsManager.h<br />
src/scripting/scriptengine/AmarokLyricsScript.cpp<br />
src/scripting/scriptengine/AmarokLyricsScript.h<br />
src/scripting/scriptmanager/ScriptItem.cpp<br />
src/scripting/scripts/CMakeLists.txt<br />
src/scripting/scripts/lyrics_lyricwiki/CMakeLists.txt<br />
src/scripting/scripts/lyrics_lyricwiki/main.js<br />
src/scripting/scripts/lyrics_lyricwiki/script.desktop<br />
src/widgets/PrettyTreeRoles.h</div></div></div><br /><div><strong>To: </strong>malteveerman, Amarok<br /><strong>Cc: </strong>Amarok, jackyalcine, nhuisman, paul, yaohanchen, malteveerman, markey, cochise, tbettler, Smar, ricktimmis, asturmlechner, schweingruber, heikobecker<br /></div>