<div dir="ltr"><div>Can I suggest we release 2.9 as planned, with the current state and maybe some more bugfixes, before integrating this patch? Once migration to kf5 is complete, and new patches will be needed for that, we may start thinking about a 3.0.<br><br></div>Stefano<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 15, 2018 at 6:15 AM, Malte Veerman <span dir="ltr"><<a href="mailto:noreply@phabricator.kde.org" target="_blank">noreply@phabricator.kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><table><tbody><tr><td>malteveerman created this revision.<br>malteveerman added a reviewer: Amarok.<br>malteveerman added a project: Amarok.<br>malteveerman requested review of this revision.
</td><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/D10526" rel="noreferrer" target="_blank">View Revision</a></td></tr></tbody></table><br><div><strong>REVISION SUMMARY</strong><div><p>This patch ports the core app away from kdelibs4 to pure qt5/kf5. Kdelibs4 classes that don't have an equivalent in qt5 or kf5 like KSharedPtr or KHBox were replaced by new ones (AmarokSharedPtr and BoxWidget).<br>
There are also a lot of small fixes and changes in this patch, which I unfortunately cannot break off into their own revisions, because I lost my git history to a faulty hard drive and my only backup was months old. Sorry for that.<br>
I also temporarily deactivated the tests. They get ported and reactivated in a later patch to keep the scope of this at least somewhat manageable. Also in later patches are a new qml context area with the most important applets, some services and importers. It's all finished and ready for merge as soon as this patch lands.</p></div></div><br><div><strong>REPOSITORY</strong><div><div>R181 Amarok</div></div></div><br><div><strong>BRANCH</strong><div><div>kf5</div></div></div><br><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10526" rel="noreferrer" target="_blank">https://phabricator.kde.org/<wbr>D10526</a></div></div><br><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br>
shared/CMakeLists.txt<br>
shared/MetaTagLib.cpp<br>
shared/amarokshared_export.h<br>
shared/tag_helpers/<wbr>ID3v2TagHelper.cpp<br>
src/ActionClasses.cpp<br>
src/ActionClasses.h<br>
src/AmarokMimeData.cpp<br>
src/AmarokMimeData.h<br>
src/AmarokProcess.h<br>
src/AmarokSharedPointer.h<br>
src/App.cpp<br>
src/App.h<br>
src/CMakeLists.txt<br>
src/EngineController.cpp<br>
src/EngineController.h<br>
src/GlobalCollectionActions.<wbr>cpp<br>
src/GlobalCollectionActions.h<br>
src/GlobalCurrentTrackActions.<wbr>cpp<br>
src/GlobalCurrentTrackActions.<wbr>h<br>
src/KNotificationBackend.cpp<br>
src/KNotificationBackend.h<br>
src/LastfmReadLabelCapability.<wbr>cpp<br>
src/MainWindow.cpp<br>
src/MainWindow.h<br>
src/MediaDeviceCache.cpp<br>
src/MediaDeviceCache.h<br>
src/MediaDeviceMonitor.cpp<br>
src/MediaDeviceMonitor.h<br>
src/OpmlParser.cpp<br>
src/OpmlParser.h<br>
src/OpmlWriter.h<br>
src/PaletteHandler.cpp<br>
src/PaletteHandler.h<br>
src/PluginManager.h<br>
src/PopupDropperFactory.cpp<br>
src/PopupDropperFactory.h<br>
src/QStringx.cpp<br>
src/QStringx.h<br>
src/SvgHandler.cpp<br>
src/SvgHandler.h<br>
src/SvgTinter.cpp<br>
src/SvgTinter.h<br>
src/TrayIcon.cpp<br>
src/TrayIcon.h<br>
src/aboutdialog/<wbr>ExtendedAboutDialog.cpp<br>
src/aboutdialog/<wbr>ExtendedAboutDialog.h<br>
src/aboutdialog/OcsPersonItem.<wbr>cpp<br>
src/aboutdialog/OcsPersonItem.<wbr>h<br>
src/aboutdialog/libattica-<wbr>ocsclient/CMakeLists.txt<br>
src/aboutdialog/libattica-<wbr>ocsclient/activitylistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/atticaclient_export.<wbr>h<br>
src/aboutdialog/libattica-<wbr>ocsclient/categorylistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/contentjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/contentlistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/folderlistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/knowledgebasejob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/<wbr>knowledgebaselistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/messagelistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/personjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/personlistjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/postjob.cpp<br>
src/aboutdialog/libattica-<wbr>ocsclient/provider.cpp<br>
src/amarok_export.h<br>
src/amarokconfig.kcfg<br>
src/amarokurls/AmarokUrl.cpp<br>
src/amarokurls/<wbr>AmarokUrlHandler.cpp<br>
src/amarokurls/<wbr>BookmarkCurrentButton.cpp<br>
src/amarokurls/BookmarkGroup.<wbr>cpp<br>
src/amarokurls/BookmarkGroup.h<br>
src/amarokurls/<wbr>BookmarkManager.cpp<br>
src/amarokurls/<wbr>BookmarkManagerWidget.cpp<br>
src/amarokurls/<wbr>BookmarkManagerWidget.h<br>
src/amarokurls/<wbr>BookmarkMetaActions.cpp<br>
src/amarokurls/BookmarkModel.<wbr>cpp<br>
src/amarokurls/BookmarkModel.h<br>
src/amarokurls/<wbr>BookmarkTreeView.cpp<br>
src/amarokurls/<wbr>BookmarkViewItem.h<br>
src/amarokurls/<wbr>ContextUrlGenerator.cpp<br>
src/amarokurls/<wbr>ContextUrlRunner.cpp<br>
src/amarokurls/<wbr>NavigationUrlGenerator.cpp<br>
src/amarokurls/<wbr>NavigationUrlRunner.cpp<br>
src/amarokurls/<wbr>PlayUrlGenerator.cpp<br>
src/browsers/<wbr>BrowserBreadcrumbItem.cpp<br>
src/browsers/<wbr>BrowserBreadcrumbItem.h<br>
src/browsers/<wbr>BrowserBreadcrumbWidget.cpp<br>
src/browsers/<wbr>BrowserBreadcrumbWidget.h<br>
src/browsers/BrowserCategory.<wbr>cpp<br>
src/browsers/BrowserCategory.h<br>
src/browsers/<wbr>BrowserCategoryList.cpp<br>
src/browsers/BrowserDock.cpp<br>
src/browsers/BrowserDock.h<br>
src/browsers/<wbr>BrowserMessageArea.cpp<br>
src/browsers/<wbr>BrowserMessageArea.h<br>
src/browsers/<wbr>CollectionSortFilterProxyModel<wbr>.cpp<br>
src/browsers/<wbr>CollectionSortFilterProxyModel<wbr>.h<br>
src/browsers/<wbr>CollectionTreeItem.cpp<br>
src/browsers/<wbr>CollectionTreeItemModel.cpp<br>
src/browsers/<wbr>CollectionTreeItemModelBase.<wbr>cpp<br>
src/browsers/<wbr>CollectionTreeItemModelBase.h<br>
src/browsers/<wbr>CollectionTreeView.cpp<br>
src/browsers/<wbr>CollectionTreeView.h<br>
src/browsers/InfoProxy.cpp<br>
src/browsers/<wbr>SingleCollectionTreeItemModel.<wbr>cpp<br>
src/browsers/<wbr>collectionbrowser/<wbr>CollectionWidget.cpp<br>
src/browsers/filebrowser/<wbr>FileBrowser.cpp<br>
src/browsers/filebrowser/<wbr>FileBrowser_p.h<br>
src/browsers/filebrowser/<wbr>FileView.cpp<br>
src/browsers/filebrowser/<wbr>FileView.h<br>
src/browsers/playlistbrowser/<wbr>APGCategory.cpp<br>
src/browsers/playlistbrowser/<wbr>DynamicBiasDialog.cpp<br>
src/browsers/playlistbrowser/<wbr>DynamicBiasDialog.h<br>
src/browsers/playlistbrowser/<wbr>DynamicCategory.cpp<br>
src/browsers/playlistbrowser/<wbr>DynamicView.cpp<br>
src/browsers/playlistbrowser/<wbr>PlaylistBrowser.cpp<br>
src/browsers/playlistbrowser/<wbr>PlaylistBrowserCategory.cpp<br>
src/browsers/playlistbrowser/<wbr>PlaylistBrowserCategory.h<br>
src/browsers/playlistbrowser/<wbr>PlaylistBrowserView.cpp<br>
src/browsers/playlistbrowser/<wbr>PlaylistViewItem.h<br>
src/browsers/playlistbrowser/<wbr>PlaylistsByProviderProxy.h<br>
src/browsers/playlistbrowser/<wbr>PlaylistsInFoldersProxy.cpp<br>
src/browsers/playlistbrowser/<wbr>PlaylistsInFoldersProxy.h<br>
src/browsers/playlistbrowser/<wbr>PodcastCategory.cpp<br>
src/browsers/playlistbrowser/<wbr>PodcastModel.cpp<br>
src/browsers/playlistbrowser/<wbr>PodcastModel.h<br>
src/browsers/playlistbrowser/<wbr>QtGroupingProxy.h<br>
src/browsers/playlistbrowser/<wbr>UserPlaylistCategory.cpp<br>
src/browsers/playlistbrowser/<wbr>UserPlaylistCategory.h<br>
src/browsers/servicebrowser/<wbr>ServiceBrowser.cpp<br>
src/browsers/servicebrowser/<wbr>ServiceBrowser.h<br>
src/configdialog/ConfigDialog.<wbr>cpp<br>
src/configdialog/ConfigDialog.<wbr>h<br>
src/configdialog/dialogs/<wbr>CollectionConfig.cpp<br>
src/configdialog/dialogs/<wbr>CollectionConfig.ui<br>
src/configdialog/dialogs/<wbr>DatabaseConfig.cpp<br>
src/configdialog/dialogs/<wbr>ExcludedLabelsDialog.cpp<br>
src/configdialog/dialogs/<wbr>ExcludedLabelsDialog.h<br>
src/configdialog/dialogs/<wbr>ExcludedLabelsDialog.ui<br>
src/configdialog/dialogs/<wbr>GeneralConfig.cpp<br>
src/configdialog/dialogs/<wbr>GeneralConfig.ui<br>
src/configdialog/dialogs/<wbr>MetadataConfig.cpp<br>
src/configdialog/dialogs/<wbr>MetadataConfig.h<br>
src/configdialog/dialogs/<wbr>NotificationsConfig.ui<br>
src/configdialog/dialogs/<wbr>PlaybackConfig.cpp<br>
src/configdialog/dialogs/<wbr>PluginsConfig.cpp<br>
src/configdialog/dialogs/<wbr>ScriptSelector.cpp<br>
src/configdialog/dialogs/<wbr>ScriptSelector.h<br>
src/configdialog/dialogs/<wbr>ScriptsConfig.cpp<br>
src/configdialog/dialogs/<wbr>ScriptsConfig.h<br>
src/configdialog/dialogs/<wbr>ScriptsConfig.ui<br>
src/context/CMakeLists.txt<br>
src/context/LyricsManager.cpp<br>
src/context/LyricsManager.h<br>
src/context/popupdropper/<wbr>libpud/PopupDropper.cpp<br>
src/context/popupdropper/<wbr>libpud/PopupDropperItem.cpp<br>
src/core-impl/capabilities/<wbr>timecode/<wbr>TimecodeLoadCapability.h<br>
src/core-impl/capabilities/<wbr>timecode/<wbr>TimecodeWriteCapability.cpp<br>
src/core-impl/collections/<wbr>CMakeLists.txt<br>
src/core-impl/collections/<wbr>aggregate/AggregateCollection.<wbr>cpp<br>
src/core-impl/collections/<wbr>aggregate/AggregateCollection.<wbr>h<br>
src/core-impl/collections/<wbr>aggregate/AggregateMeta.cpp<br>
src/core-impl/collections/<wbr>aggregate/AggregateQueryMaker.<wbr>cpp<br>
src/core-impl/collections/<wbr>aggregate/AggregateQueryMaker.<wbr>h<br>
src/core-impl/collections/<wbr>audiocd/AudioCdCollection.cpp<br>
src/core-impl/collections/<wbr>audiocd/AudioCdCollection.h<br>
src/core-impl/collections/<wbr>audiocd/<wbr>AudioCdCollectionLocation.cpp<br>
src/core-impl/collections/<wbr>audiocd/AudioCdMeta.h<br>
src/core-impl/collections/<wbr>audiocd/CMakeLists.txt<br>
src/core-impl/collections/<wbr>audiocd/FormatSelectionDialog.<wbr>cpp<br>
src/core-impl/collections/<wbr>audiocd/handler/<wbr>AudioCdHandler.cpp<br>
src/core-impl/collections/<wbr>daap/CMakeLists.txt<br>
src/core-impl/collections/<wbr>daap/DaapCollection.cpp<br>
src/core-impl/collections/<wbr>daap/DaapCollection.h<br>
src/core-impl/collections/<wbr>daap/DaapMeta.h<br>
src/core-impl/collections/<wbr>daap/daapreader/Reader.cpp<br>
src/core-impl/collections/<wbr>daap/daapreader/Reader.h<br>
src/core-impl/collections/<wbr>daap/daapreader/<wbr>authentication/contentfetcher.<wbr>cpp<br>
src/core-impl/collections/<wbr>daap/daapreader/<wbr>authentication/contentfetcher.<wbr>h<br>
src/core-impl/collections/db/<wbr>MountPointManager.cpp<br>
src/core-impl/collections/db/<wbr>MountPointManager.h<br>
src/core-impl/collections/db/<wbr>sql/CMakeLists.txt<br>
src/core-impl/collections/db/<wbr>sql/DatabaseUpdater.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlCapabilities.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlCapabilities.h<br>
src/core-impl/collections/db/<wbr>sql/SqlCollection.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlCollectionLocation.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlCollectionLocation.h<br>
src/core-impl/collections/db/<wbr>sql/SqlMeta.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlMeta.h<br>
src/core-impl/collections/db/<wbr>sql/SqlQueryMaker.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlQueryMakerInternal.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlQueryMakerInternal.h<br>
src/core-impl/collections/db/<wbr>sql/SqlRegistry.cpp<br>
src/core-impl/collections/db/<wbr>sql/SqlRegistry.h<br>
src/core-impl/collections/db/<wbr>sql/SqlRegistry_p.cpp<br>
src/core-impl/collections/db/<wbr>sql/amarok_sqlcollection_<wbr>export.h<br>
src/core-impl/collections/db/<wbr>sql/device/nfs/<wbr>NfsDeviceHandler.h<br>
src/core-impl/collections/db/<wbr>sql/mysqlcollection/<wbr>CMakeLists.txt<br>
src/core-impl/collections/<wbr>ipodcollection/CMakeLists.txt<br>
src/core-impl/collections/<wbr>ipodcollection/IpodCollection.<wbr>cpp<br>
src/core-impl/collections/<wbr>ipodcollection/IpodCollection.<wbr>h<br>
src/core-impl/collections/<wbr>ipodcollection/<wbr>IpodCollectionFactory.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/<wbr>IpodCollectionLocation.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/<wbr>IpodCollectionLocation.h<br>
src/core-impl/collections/<wbr>ipodcollection/IpodMeta.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/IpodMeta.h<br>
src/core-impl/collections/<wbr>ipodcollection/IpodPlaylist.<wbr>cpp<br>
src/core-impl/collections/<wbr>ipodcollection/IpodPlaylist.h<br>
src/core-impl/collections/<wbr>ipodcollection/<wbr>IpodPlaylistProvider.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/<wbr>IpodPlaylistProvider.h<br>
src/core-impl/collections/<wbr>ipodcollection/jobs/<wbr>IpodCopyTracksJob.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/jobs/<wbr>IpodCopyTracksJob.h<br>
src/core-impl/collections/<wbr>ipodcollection/jobs/<wbr>IpodDeleteTracksJob.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/jobs/<wbr>IpodDeleteTracksJob.h<br>
src/core-impl/collections/<wbr>ipodcollection/jobs/<wbr>IpodParseTracksJob.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/support/<wbr>IphoneMountPoint.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/support/<wbr>IpodDeviceHelper.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/support/<wbr>IpodDeviceHelper.h<br>
src/core-impl/collections/<wbr>ipodcollection/support/<wbr>IpodTranscodeCapability.cpp<br>
src/core-impl/collections/<wbr>ipodcollection/support/<wbr>IpodTranscodeCapability.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>MediaDeviceCollectionLocation.<wbr>cpp<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>MediaDeviceMeta.cpp<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>MediaDeviceMeta.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/handler/<wbr>MediaDeviceHandlerCapability.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>playlist/MediaDevicePlaylist.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>playlist/<wbr>MediaDeviceUserPlaylistProvide<wbr>r.cpp<br>
src/core-impl/collections/<wbr>mediadevicecollection/<wbr>playlist/<wbr>MediaDeviceUserPlaylistProvide<wbr>r.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/podcast/<wbr>MediaDevicePodcastMeta.h<br>
src/core-impl/collections/<wbr>mediadevicecollection/support/<wbr>ConnectionAssistant.cpp<br>
src/core-impl/collections/<wbr>mediadevicecollection/support/<wbr>mediadevicecollection_export.h<br>
src/core-impl/collections/<wbr>mtpcollection/CMakeLists.txt<br>
src/core-impl/collections/<wbr>mtpcollection/handler/<wbr>MtpHandler.cpp<br>
src/core-impl/collections/<wbr>mtpcollection/handler/<wbr>MtpHandler.h<br>
src/core-impl/collections/<wbr>mtpcollection/handler/<wbr>capabilities/<wbr>MtpReadCapability.cpp<br>
src/core-impl/collections/<wbr>mtpcollection/handler/<wbr>capabilities/<wbr>MtpReadCapability.h<br>
src/core-impl/collections/<wbr>nepomukcollection/CMakeLists.<wbr>txt<br>
src/core-impl/collections/<wbr>nepomukcollection/<wbr>NepomukParser.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/CMakeLists.<wbr>txt<br>
src/core-impl/collections/<wbr>playdarcollection/<wbr>PlaydarCollection.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/<wbr>PlaydarCollection.h<br>
src/core-impl/collections/<wbr>playdarcollection/PlaydarMeta.<wbr>cpp<br>
src/core-impl/collections/<wbr>playdarcollection/PlaydarMeta.<wbr>h<br>
src/core-impl/collections/<wbr>playdarcollection/<wbr>PlaydarQueryMaker.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/<wbr>PlaydarQueryMaker.h<br>
src/core-impl/collections/<wbr>playdarcollection/support/<wbr>Controller.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/support/<wbr>Controller.h<br>
src/core-impl/collections/<wbr>playdarcollection/support/<wbr>ProxyResolver.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/support/<wbr>Query.cpp<br>
src/core-impl/collections/<wbr>playdarcollection/support/<wbr>Query.h<br>
src/core-impl/collections/<wbr>support/ArtistHelper.cpp<br>
(338 more files...)</div></div></div><br><div><strong>To: </strong>malteveerman, Amarok<br><strong>Cc: </strong>Amarok, yaohanchen, malteveerman, markey, progwolff, cochise, tbettler, Smar, ricktimmis, asturmlechner, schweingruber<br></div></div></div></blockquote></div><br></div>