malteveerman created this revision. malteveerman added a reviewer: Amarok. malteveerman added a project: Amarok. malteveerman requested review of this revision.
REVISION SUMMARY 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. REPOSITORY R181 Amarok BRANCH kf5 REVISION DETAIL https://phabricator.kde.org/D10708 AFFECTED FILES CMakeLists.txt src/CMakeLists.txt src/MainWindow.cpp src/SvgHandler.cpp src/SvgHandler.h src/amarok-contextapplet.desktop src/amarokurls/ContextUrlGenerator.cpp src/amarokurls/ContextUrlRunner.cpp src/browsers/CollectionTreeView.cpp src/browsers/filebrowser/FileView.cpp src/browsers/playlistbrowser/PlaylistBrowserView.cpp src/context/AmarokContextPackageStructure.cpp src/context/AmarokContextPackageStructure.h src/context/Applet.cpp src/context/Applet.h src/context/AppletLoader.cpp src/context/AppletLoader.h src/context/AppletModel.cpp src/context/AppletModel.h src/context/CMakeLists.txt src/context/Containment.cpp src/context/Containment.h src/context/Context.h src/context/ContextDock.cpp src/context/ContextDock.h src/context/ContextObserver.cpp src/context/ContextObserver.h src/context/ContextScene.cpp src/context/ContextScene.h src/context/ContextView.cpp src/context/ContextView.h src/context/DataEngine.h src/context/DataSource.h src/context/Svg.h src/context/Theme.h src/context/ToolbarView.cpp src/context/ToolbarView.h src/context/amarokapplets.knsrc src/context/applets/CMakeLists.txt src/context/applets/albums/AlbumItem.cpp src/context/applets/albums/AlbumItem.h src/context/applets/albums/Albums.cpp src/context/applets/albums/Albums.h src/context/applets/albums/AlbumsDefs.h src/context/applets/albums/AlbumsModel.cpp src/context/applets/albums/AlbumsModel.h src/context/applets/albums/AlbumsView.cpp src/context/applets/albums/AlbumsView.h src/context/applets/albums/CMakeLists.txt src/context/applets/albums/TrackItem.cpp src/context/applets/albums/TrackItem.h src/context/applets/albums/amarok-albums.svg src/context/applets/albums/amarok-context-applet-albums.desktop src/context/applets/albums/package/contents/images/amarok-albums.svg src/context/applets/albums/package/contents/ui/main.qml src/context/applets/albums/package/metadata.desktop src/context/applets/albums/plugin/AlbumItem.cpp src/context/applets/albums/plugin/AlbumItem.h src/context/applets/albums/plugin/AlbumsDefs.h src/context/applets/albums/plugin/AlbumsEngine.cpp src/context/applets/albums/plugin/AlbumsEngine.h src/context/applets/albums/plugin/AlbumsModel.cpp src/context/applets/albums/plugin/AlbumsModel.h src/context/applets/albums/plugin/AlbumsPlugin.cpp src/context/applets/albums/plugin/TrackItem.cpp src/context/applets/albums/plugin/TrackItem.h src/context/applets/albums/plugin/qmldir src/context/applets/analyzer/ASCIIAnalyzer.cpp src/context/applets/analyzer/ASCIIAnalyzer.h src/context/applets/analyzer/AnalyzerApplet.cpp src/context/applets/analyzer/AnalyzerApplet.h src/context/applets/analyzer/AnalyzerBase.cpp src/context/applets/analyzer/AnalyzerBase.h src/context/applets/analyzer/BallsAnalyzer.cpp src/context/applets/analyzer/BallsAnalyzer.h src/context/applets/analyzer/BlockAnalyzer.cpp src/context/applets/analyzer/BlockAnalyzer.h src/context/applets/analyzer/CMakeLists.txt src/context/applets/analyzer/DiscoAnalyzer.cpp src/context/applets/analyzer/DiscoAnalyzer.h src/context/applets/analyzer/amarok-context-applet-analyzer.desktop src/context/applets/analyzer/fht.cpp src/context/applets/analyzer/fht.h src/context/applets/analyzer/package/contents/ui/main.qml src/context/applets/analyzer/package/metadata.desktop src/context/applets/analyzer/plugin/ASCIIAnalyzer.cpp src/context/applets/analyzer/plugin/ASCIIAnalyzer.h src/context/applets/analyzer/plugin/AnalyzerBase.cpp src/context/applets/analyzer/plugin/AnalyzerBase.h src/context/applets/analyzer/plugin/AnalyzerPlugin.cpp src/context/applets/analyzer/plugin/AnalyzerWorker.cpp src/context/applets/analyzer/plugin/AnalyzerWorker.h src/context/applets/analyzer/plugin/BallsAnalyzer.cpp src/context/applets/analyzer/plugin/BallsAnalyzer.h src/context/applets/analyzer/plugin/BlockAnalyzer.cpp src/context/applets/analyzer/plugin/BlockAnalyzer.h src/context/applets/analyzer/plugin/BlockRenderer.h src/context/applets/analyzer/plugin/BlockWorker.cpp src/context/applets/analyzer/plugin/BlockWorker.h src/context/applets/analyzer/plugin/DiscoAnalyzer.cpp src/context/applets/analyzer/plugin/DiscoAnalyzer.h src/context/applets/analyzer/plugin/qmldir src/context/applets/currenttrack/CMakeLists.txt src/context/applets/currenttrack/CurrentTrack.cpp src/context/applets/currenttrack/CurrentTrack.h src/context/applets/currenttrack/amarok-context-applet-currenttrack.desktop src/context/applets/currenttrack/amarok-currenttrack.svg src/context/applets/currenttrack/currentTrackSettings.ui src/context/applets/currenttrack/package/contents/images/amarok-currenttrack.svg src/context/applets/currenttrack/package/contents/ui/InfoItem.qml src/context/applets/currenttrack/package/contents/ui/StatsItem.qml src/context/applets/currenttrack/package/contents/ui/main.qml src/context/applets/currenttrack/package/metadata.desktop src/context/applets/currenttrack/plugin/CurrentEngine.cpp src/context/applets/currenttrack/plugin/CurrentEngine.h src/context/applets/currenttrack/plugin/CurrentPlugin.cpp src/context/applets/currenttrack/plugin/qmldir src/context/applets/info/CMakeLists.txt src/context/applets/info/InfoApplet.cpp src/context/applets/info/InfoApplet.h src/context/applets/info/InfoAppletCustomStyle.css src/context/applets/info/amarok-context-applet-info.desktop src/context/applets/info/amarok-info-applet.svg src/context/applets/info/package/contents/html/InfoAppletCustomStyle.css src/context/applets/info/package/contents/html/info_frontpage.html src/context/applets/info/package/contents/html/info_frontpage_bg.png src/context/applets/info/package/contents/html/info_frontpage_logo.png src/context/applets/info/package/contents/html/info_frontpage_shadow.png src/context/applets/info/package/contents/images/amarok-info-applet.svg src/context/applets/info/package/contents/ui/main.qml src/context/applets/info/package/metadata.desktop src/context/applets/info/plugin/InfoEngine.cpp src/context/applets/info/plugin/InfoEngine.h src/context/applets/info/plugin/InfoPlugin.cpp src/context/applets/info/plugin/qmldir src/context/applets/lyrics/CMakeLists.txt src/context/applets/lyrics/LyricsApplet.cpp src/context/applets/lyrics/LyricsApplet.h src/context/applets/lyrics/LyricsBrowser.cpp src/context/applets/lyrics/LyricsBrowser.h src/context/applets/lyrics/LyricsSuggestionsListWidget.cpp src/context/applets/lyrics/LyricsSuggestionsListWidget.h src/context/applets/lyrics/amarok-context-applet-lyrics.desktop src/context/applets/lyrics/lyricsSettings.ui src/context/applets/lyrics/package/contents/ui/ConfigDialog.qml src/context/applets/lyrics/package/contents/ui/main.qml src/context/applets/lyrics/package/metadata.desktop src/context/applets/lyrics/plugin/LyricsEngine.cpp src/context/applets/lyrics/plugin/LyricsEngine.h src/context/applets/lyrics/plugin/LyricsPlugin.cpp src/context/applets/lyrics/plugin/qmldir src/context/applets/photos/CMakeLists.txt src/context/applets/photos/DragPixmapItem.cpp src/context/applets/photos/DragPixmapItem.h src/context/applets/photos/PhotosApplet.cpp src/context/applets/photos/PhotosApplet.h src/context/applets/photos/PhotosScrollWidget.cpp src/context/applets/photos/PhotosScrollWidget.h src/context/applets/photos/amarok-context-applet-photos.desktop src/context/applets/photos/package/contents/ui/main.qml src/context/applets/photos/package/metadata.desktop src/context/applets/photos/photosSettings.ui src/context/applets/photos/plugin/PhotosEngine.cpp src/context/applets/photos/plugin/PhotosEngine.h src/context/applets/photos/plugin/PhotosPlugin.cpp src/context/applets/photos/plugin/qmldir src/context/applets/wikipedia/CMakeLists.txt src/context/applets/wikipedia/WikipediaApplet.cpp src/context/applets/wikipedia/WikipediaApplet.h src/context/applets/wikipedia/WikipediaApplet_p.h src/context/applets/wikipedia/amarok-context-applet-wikipedia.desktop src/context/applets/wikipedia/amarok-wikipedia.svg src/context/applets/wikipedia/amarok-wikipediaheader.svg src/context/applets/wikipedia/package/contents/images/amarok-wikipedia.svg src/context/applets/wikipedia/package/contents/images/amarok-wikipediaheader.svg src/context/applets/wikipedia/package/contents/ui/main.qml src/context/applets/wikipedia/package/metadata.desktop src/context/applets/wikipedia/plugin/WikipediaApplet.cpp src/context/applets/wikipedia/plugin/WikipediaApplet.h src/context/applets/wikipedia/plugin/WikipediaApplet_p.h src/context/applets/wikipedia/plugin/WikipediaEngine.cpp src/context/applets/wikipedia/plugin/WikipediaEngine.h src/context/applets/wikipedia/plugin/WikipediaPlugin.cpp src/context/applets/wikipedia/plugin/qmldir src/context/applets/wikipedia/wikipediaGeneralSettings.ui src/context/applets/wikipedia/wikipediaLanguageSettings.ui src/context/containments/CMakeLists.txt src/context/containments/verticallayout/CMakeLists.txt src/context/containments/verticallayout/VerticalAppletLayout.cpp src/context/containments/verticallayout/VerticalAppletLayout.h src/context/containments/verticallayout/VerticalToolbarContainment.cpp src/context/containments/verticallayout/VerticalToolbarContainment.h src/context/containments/verticallayout/amarok-containment-vertical.desktop src/context/context_qml_package/contents/ui/main.qml src/context/context_qml_package/contents/ui/toolbar/AppletToolbar.qml src/context/context_qml_package/contents/ui/toolbar/AppletToolbarAddItem.qml src/context/context_qml_package/contents/ui/toolbar/AppletToolbarAppletItem.qml src/context/context_qml_package/metadata.desktop src/context/engines/CMakeLists.txt src/context/engines/current/CMakeLists.txt src/context/engines/current/CurrentEngine.cpp src/context/engines/current/CurrentEngine.h src/context/engines/current/amarok-data-engine-current.desktop src/context/engines/info/CMakeLists.txt src/context/engines/info/InfoEngine.cpp src/context/engines/info/InfoEngine.h src/context/engines/info/amarok-data-engine-info.desktop src/context/engines/info/info_frontpage.html src/context/engines/info/info_frontpage_bg.png src/context/engines/info/info_frontpage_logo.png src/context/engines/info/info_frontpage_shadow.png src/context/engines/labels/LabelsEngine.cpp src/context/engines/labels/LabelsEngine.h src/context/engines/lyrics/CMakeLists.txt src/context/engines/lyrics/LyricsEngine.cpp src/context/engines/lyrics/LyricsEngine.h src/context/engines/lyrics/amarok-data-engine-lyrics.desktop src/context/engines/photos/CMakeLists.txt src/context/engines/photos/PhotosEngine.cpp src/context/engines/photos/PhotosEngine.h src/context/engines/photos/PhotosInfo.h src/context/engines/photos/amarok-data-engine-photos.desktop src/context/engines/songkick/SongkickEngine.cpp src/context/engines/wikipedia/CMakeLists.txt src/context/engines/wikipedia/WikipediaEngine.cpp src/context/engines/wikipedia/WikipediaEngine.h src/context/engines/wikipedia/amarok-data-engine-wikipedia.desktop src/context/qml_plugin/Applet.qml src/context/qml_plugin/AppletHeader.qml src/context/qml_plugin/qmldir src/context/qml_plugin/src/PixmapItem.cpp src/context/qml_plugin/src/PixmapItem.h src/context/qml_plugin/src/Plugin.cpp src/context/qml_plugin/src/RatingItem.cpp src/context/qml_plugin/src/RatingItem.h src/context/servicetypes/amarok_animator.desktop src/context/servicetypes/amarok_data_engine.desktop src/context/toolbar/AppletItemOverlay.cpp src/context/toolbar/AppletItemOverlay.h src/context/toolbar/AppletToolbar.cpp src/context/toolbar/AppletToolbar.h src/context/toolbar/AppletToolbarAddItem.cpp src/context/toolbar/AppletToolbarAddItem.h src/context/toolbar/AppletToolbarAppletItem.cpp src/context/toolbar/AppletToolbarAppletItem.h src/context/toolbar/AppletToolbarBase.cpp src/context/toolbar/AppletToolbarConfigItem.cpp src/context/toolbar/AppletToolbarConfigItem.h src/context/tools/CMakeLists.txt src/context/tools/amarokpkg.cpp (24 more files...) To: malteveerman, #amarok Cc: #amarok, paul, yaohanchen, malteveerman, markey, cochise, tbettler, Smar, ricktimmis, asturmlechner, schweingruber