<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/D10708" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This patch adds a new context area and some of the most important applets for it. The context and applets are written in QML and integrated with a QQuickWidget subclass. Applets consist of a KPackage with their QML files and optionally a QML plugin written in C++ to interface with the core application. It's not very pretty yet and I'm still working on some functionality like dynamic applet height but I think this is a good start worth sharing.</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/D10708" rel="noreferrer">https://phabricator.kde.org/D10708</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
src/CMakeLists.txt<br />
src/MainWindow.cpp<br />
src/SvgHandler.cpp<br />
src/SvgHandler.h<br />
src/amarok-contextapplet.desktop<br />
src/amarokurls/ContextUrlGenerator.cpp<br />
src/amarokurls/ContextUrlRunner.cpp<br />
src/browsers/CollectionTreeView.cpp<br />
src/browsers/filebrowser/FileView.cpp<br />
src/browsers/playlistbrowser/PlaylistBrowserView.cpp<br />
src/context/AmarokContextPackageStructure.cpp<br />
src/context/AmarokContextPackageStructure.h<br />
src/context/Applet.cpp<br />
src/context/Applet.h<br />
src/context/AppletLoader.cpp<br />
src/context/AppletLoader.h<br />
src/context/AppletModel.cpp<br />
src/context/AppletModel.h<br />
src/context/CMakeLists.txt<br />
src/context/Containment.cpp<br />
src/context/Containment.h<br />
src/context/Context.h<br />
src/context/ContextDock.cpp<br />
src/context/ContextDock.h<br />
src/context/ContextObserver.cpp<br />
src/context/ContextObserver.h<br />
src/context/ContextScene.cpp<br />
src/context/ContextScene.h<br />
src/context/ContextView.cpp<br />
src/context/ContextView.h<br />
src/context/DataEngine.h<br />
src/context/DataSource.h<br />
src/context/Svg.h<br />
src/context/Theme.h<br />
src/context/ToolbarView.cpp<br />
src/context/ToolbarView.h<br />
src/context/amarokapplets.knsrc<br />
src/context/applets/CMakeLists.txt<br />
src/context/applets/albums/AlbumItem.cpp<br />
src/context/applets/albums/AlbumItem.h<br />
src/context/applets/albums/Albums.cpp<br />
src/context/applets/albums/Albums.h<br />
src/context/applets/albums/AlbumsDefs.h<br />
src/context/applets/albums/AlbumsModel.cpp<br />
src/context/applets/albums/AlbumsModel.h<br />
src/context/applets/albums/AlbumsView.cpp<br />
src/context/applets/albums/AlbumsView.h<br />
src/context/applets/albums/CMakeLists.txt<br />
src/context/applets/albums/TrackItem.cpp<br />
src/context/applets/albums/TrackItem.h<br />
src/context/applets/albums/amarok-albums.svg<br />
src/context/applets/albums/amarok-context-applet-albums.desktop<br />
src/context/applets/albums/package/contents/images/amarok-albums.svg<br />
src/context/applets/albums/package/contents/ui/main.qml<br />
src/context/applets/albums/package/metadata.desktop<br />
src/context/applets/albums/plugin/AlbumItem.cpp<br />
src/context/applets/albums/plugin/AlbumItem.h<br />
src/context/applets/albums/plugin/AlbumsDefs.h<br />
src/context/applets/albums/plugin/AlbumsEngine.cpp<br />
src/context/applets/albums/plugin/AlbumsEngine.h<br />
src/context/applets/albums/plugin/AlbumsModel.cpp<br />
src/context/applets/albums/plugin/AlbumsModel.h<br />
src/context/applets/albums/plugin/AlbumsPlugin.cpp<br />
src/context/applets/albums/plugin/TrackItem.cpp<br />
src/context/applets/albums/plugin/TrackItem.h<br />
src/context/applets/albums/plugin/qmldir<br />
src/context/applets/analyzer/ASCIIAnalyzer.cpp<br />
src/context/applets/analyzer/ASCIIAnalyzer.h<br />
src/context/applets/analyzer/AnalyzerApplet.cpp<br />
src/context/applets/analyzer/AnalyzerApplet.h<br />
src/context/applets/analyzer/AnalyzerBase.cpp<br />
src/context/applets/analyzer/AnalyzerBase.h<br />
src/context/applets/analyzer/BallsAnalyzer.cpp<br />
src/context/applets/analyzer/BallsAnalyzer.h<br />
src/context/applets/analyzer/BlockAnalyzer.cpp<br />
src/context/applets/analyzer/BlockAnalyzer.h<br />
src/context/applets/analyzer/CMakeLists.txt<br />
src/context/applets/analyzer/DiscoAnalyzer.cpp<br />
src/context/applets/analyzer/DiscoAnalyzer.h<br />
src/context/applets/analyzer/amarok-context-applet-analyzer.desktop<br />
src/context/applets/analyzer/fht.cpp<br />
src/context/applets/analyzer/fht.h<br />
src/context/applets/analyzer/package/contents/ui/main.qml<br />
src/context/applets/analyzer/package/metadata.desktop<br />
src/context/applets/analyzer/plugin/ASCIIAnalyzer.cpp<br />
src/context/applets/analyzer/plugin/ASCIIAnalyzer.h<br />
src/context/applets/analyzer/plugin/AnalyzerBase.cpp<br />
src/context/applets/analyzer/plugin/AnalyzerBase.h<br />
src/context/applets/analyzer/plugin/AnalyzerPlugin.cpp<br />
src/context/applets/analyzer/plugin/AnalyzerWorker.cpp<br />
src/context/applets/analyzer/plugin/AnalyzerWorker.h<br />
src/context/applets/analyzer/plugin/BallsAnalyzer.cpp<br />
src/context/applets/analyzer/plugin/BallsAnalyzer.h<br />
src/context/applets/analyzer/plugin/BlockAnalyzer.cpp<br />
src/context/applets/analyzer/plugin/BlockAnalyzer.h<br />
src/context/applets/analyzer/plugin/BlockRenderer.h<br />
src/context/applets/analyzer/plugin/BlockWorker.cpp<br />
src/context/applets/analyzer/plugin/BlockWorker.h<br />
src/context/applets/analyzer/plugin/DiscoAnalyzer.cpp<br />
src/context/applets/analyzer/plugin/DiscoAnalyzer.h<br />
src/context/applets/analyzer/plugin/qmldir<br />
src/context/applets/currenttrack/CMakeLists.txt<br />
src/context/applets/currenttrack/CurrentTrack.cpp<br />
src/context/applets/currenttrack/CurrentTrack.h<br />
src/context/applets/currenttrack/amarok-context-applet-currenttrack.desktop<br />
src/context/applets/currenttrack/amarok-currenttrack.svg<br />
src/context/applets/currenttrack/currentTrackSettings.ui<br />
src/context/applets/currenttrack/package/contents/images/amarok-currenttrack.svg<br />
src/context/applets/currenttrack/package/contents/ui/InfoItem.qml<br />
src/context/applets/currenttrack/package/contents/ui/StatsItem.qml<br />
src/context/applets/currenttrack/package/contents/ui/main.qml<br />
src/context/applets/currenttrack/package/metadata.desktop<br />
src/context/applets/currenttrack/plugin/CurrentEngine.cpp<br />
src/context/applets/currenttrack/plugin/CurrentEngine.h<br />
src/context/applets/currenttrack/plugin/CurrentPlugin.cpp<br />
src/context/applets/currenttrack/plugin/qmldir<br />
src/context/applets/info/CMakeLists.txt<br />
src/context/applets/info/InfoApplet.cpp<br />
src/context/applets/info/InfoApplet.h<br />
src/context/applets/info/InfoAppletCustomStyle.css<br />
src/context/applets/info/amarok-context-applet-info.desktop<br />
src/context/applets/info/amarok-info-applet.svg<br />
src/context/applets/info/package/contents/html/InfoAppletCustomStyle.css<br />
src/context/applets/info/package/contents/html/info_frontpage.html<br />
src/context/applets/info/package/contents/html/info_frontpage_bg.png<br />
src/context/applets/info/package/contents/html/info_frontpage_logo.png<br />
src/context/applets/info/package/contents/html/info_frontpage_shadow.png<br />
src/context/applets/info/package/contents/images/amarok-info-applet.svg<br />
src/context/applets/info/package/contents/ui/main.qml<br />
src/context/applets/info/package/metadata.desktop<br />
src/context/applets/info/plugin/InfoEngine.cpp<br />
src/context/applets/info/plugin/InfoEngine.h<br />
src/context/applets/info/plugin/InfoPlugin.cpp<br />
src/context/applets/info/plugin/qmldir<br />
src/context/applets/lyrics/CMakeLists.txt<br />
src/context/applets/lyrics/LyricsApplet.cpp<br />
src/context/applets/lyrics/LyricsApplet.h<br />
src/context/applets/lyrics/LyricsBrowser.cpp<br />
src/context/applets/lyrics/LyricsBrowser.h<br />
src/context/applets/lyrics/LyricsSuggestionsListWidget.cpp<br />
src/context/applets/lyrics/LyricsSuggestionsListWidget.h<br />
src/context/applets/lyrics/amarok-context-applet-lyrics.desktop<br />
src/context/applets/lyrics/lyricsSettings.ui<br />
src/context/applets/lyrics/package/contents/ui/ConfigDialog.qml<br />
src/context/applets/lyrics/package/contents/ui/main.qml<br />
src/context/applets/lyrics/package/metadata.desktop<br />
src/context/applets/lyrics/plugin/LyricsEngine.cpp<br />
src/context/applets/lyrics/plugin/LyricsEngine.h<br />
src/context/applets/lyrics/plugin/LyricsPlugin.cpp<br />
src/context/applets/lyrics/plugin/qmldir<br />
src/context/applets/photos/CMakeLists.txt<br />
src/context/applets/photos/DragPixmapItem.cpp<br />
src/context/applets/photos/DragPixmapItem.h<br />
src/context/applets/photos/PhotosApplet.cpp<br />
src/context/applets/photos/PhotosApplet.h<br />
src/context/applets/photos/PhotosScrollWidget.cpp<br />
src/context/applets/photos/PhotosScrollWidget.h<br />
src/context/applets/photos/amarok-context-applet-photos.desktop<br />
src/context/applets/photos/package/contents/ui/main.qml<br />
src/context/applets/photos/package/metadata.desktop<br />
src/context/applets/photos/photosSettings.ui<br />
src/context/applets/photos/plugin/PhotosEngine.cpp<br />
src/context/applets/photos/plugin/PhotosEngine.h<br />
src/context/applets/photos/plugin/PhotosPlugin.cpp<br />
src/context/applets/photos/plugin/qmldir<br />
src/context/applets/wikipedia/CMakeLists.txt<br />
src/context/applets/wikipedia/WikipediaApplet.cpp<br />
src/context/applets/wikipedia/WikipediaApplet.h<br />
src/context/applets/wikipedia/WikipediaApplet_p.h<br />
src/context/applets/wikipedia/amarok-context-applet-wikipedia.desktop<br />
src/context/applets/wikipedia/amarok-wikipedia.svg<br />
src/context/applets/wikipedia/amarok-wikipediaheader.svg<br />
src/context/applets/wikipedia/package/contents/images/amarok-wikipedia.svg<br />
src/context/applets/wikipedia/package/contents/images/amarok-wikipediaheader.svg<br />
src/context/applets/wikipedia/package/contents/ui/main.qml<br />
src/context/applets/wikipedia/package/metadata.desktop<br />
src/context/applets/wikipedia/plugin/WikipediaApplet.cpp<br />
src/context/applets/wikipedia/plugin/WikipediaApplet.h<br />
src/context/applets/wikipedia/plugin/WikipediaApplet_p.h<br />
src/context/applets/wikipedia/plugin/WikipediaEngine.cpp<br />
src/context/applets/wikipedia/plugin/WikipediaEngine.h<br />
src/context/applets/wikipedia/plugin/WikipediaPlugin.cpp<br />
src/context/applets/wikipedia/plugin/qmldir<br />
src/context/applets/wikipedia/wikipediaGeneralSettings.ui<br />
src/context/applets/wikipedia/wikipediaLanguageSettings.ui<br />
src/context/containments/CMakeLists.txt<br />
src/context/containments/verticallayout/CMakeLists.txt<br />
src/context/containments/verticallayout/VerticalAppletLayout.cpp<br />
src/context/containments/verticallayout/VerticalAppletLayout.h<br />
src/context/containments/verticallayout/VerticalToolbarContainment.cpp<br />
src/context/containments/verticallayout/VerticalToolbarContainment.h<br />
src/context/containments/verticallayout/amarok-containment-vertical.desktop<br />
src/context/context_qml_package/contents/ui/main.qml<br />
src/context/context_qml_package/contents/ui/toolbar/AppletToolbar.qml<br />
src/context/context_qml_package/contents/ui/toolbar/AppletToolbarAddItem.qml<br />
src/context/context_qml_package/contents/ui/toolbar/AppletToolbarAppletItem.qml<br />
src/context/context_qml_package/metadata.desktop<br />
src/context/engines/CMakeLists.txt<br />
src/context/engines/current/CMakeLists.txt<br />
src/context/engines/current/CurrentEngine.cpp<br />
src/context/engines/current/CurrentEngine.h<br />
src/context/engines/current/amarok-data-engine-current.desktop<br />
src/context/engines/info/CMakeLists.txt<br />
src/context/engines/info/InfoEngine.cpp<br />
src/context/engines/info/InfoEngine.h<br />
src/context/engines/info/amarok-data-engine-info.desktop<br />
src/context/engines/info/info_frontpage.html<br />
src/context/engines/info/info_frontpage_bg.png<br />
src/context/engines/info/info_frontpage_logo.png<br />
src/context/engines/info/info_frontpage_shadow.png<br />
src/context/engines/labels/LabelsEngine.cpp<br />
src/context/engines/labels/LabelsEngine.h<br />
src/context/engines/lyrics/CMakeLists.txt<br />
src/context/engines/lyrics/LyricsEngine.cpp<br />
src/context/engines/lyrics/LyricsEngine.h<br />
src/context/engines/lyrics/amarok-data-engine-lyrics.desktop<br />
src/context/engines/photos/CMakeLists.txt<br />
src/context/engines/photos/PhotosEngine.cpp<br />
src/context/engines/photos/PhotosEngine.h<br />
src/context/engines/photos/PhotosInfo.h<br />
src/context/engines/photos/amarok-data-engine-photos.desktop<br />
src/context/engines/songkick/SongkickEngine.cpp<br />
src/context/engines/wikipedia/CMakeLists.txt<br />
src/context/engines/wikipedia/WikipediaEngine.cpp<br />
src/context/engines/wikipedia/WikipediaEngine.h<br />
src/context/engines/wikipedia/amarok-data-engine-wikipedia.desktop<br />
src/context/qml_plugin/Applet.qml<br />
src/context/qml_plugin/AppletHeader.qml<br />
src/context/qml_plugin/qmldir<br />
src/context/qml_plugin/src/PixmapItem.cpp<br />
src/context/qml_plugin/src/PixmapItem.h<br />
src/context/qml_plugin/src/Plugin.cpp<br />
src/context/qml_plugin/src/RatingItem.cpp<br />
src/context/qml_plugin/src/RatingItem.h<br />
src/context/servicetypes/amarok_animator.desktop<br />
src/context/servicetypes/amarok_data_engine.desktop<br />
src/context/toolbar/AppletItemOverlay.cpp<br />
src/context/toolbar/AppletItemOverlay.h<br />
src/context/toolbar/AppletToolbar.cpp<br />
src/context/toolbar/AppletToolbar.h<br />
src/context/toolbar/AppletToolbarAddItem.cpp<br />
src/context/toolbar/AppletToolbarAddItem.h<br />
src/context/toolbar/AppletToolbarAppletItem.cpp<br />
src/context/toolbar/AppletToolbarAppletItem.h<br />
src/context/toolbar/AppletToolbarBase.cpp<br />
src/context/toolbar/AppletToolbarConfigItem.cpp<br />
src/context/toolbar/AppletToolbarConfigItem.h<br />
src/context/tools/CMakeLists.txt<br />
src/context/tools/amarokpkg.cpp<br />
(24 more files...)</div></div></div><br /><div><strong>To: </strong>malteveerman, Amarok<br /><strong>Cc: </strong>Amarok, paul, yaohanchen, malteveerman, markey, cochise, tbettler, Smar, ricktimmis, asturmlechner, schweingruber<br /></div>