https://bugs.kde.org/show_bug.cgi?id=359381
--- Comment #3 from Friedrich W. H. Kossebau <kosse...@kde.org> --- Git commit 9631043c110dba485db5deea120e8b13116c3ac7 by Friedrich W. H. Kossebau. Committed on 15/03/2018 at 01:55. Pushed by kossebau into branch 'master'. Expose slideshow to MPRIS controllers Summary: Taking the abstraction "Media" in "Media Player Remote Interfacing Specification" (MPRIS) into use, a plain slide in a slideshow can be seen to be the same as e.g. a still picture in a movie without any sound. Following that, a slideshow with pictures and videos as in the UI model of Gwenview can be roughly mapped onto the concept of a list of tracks as with in the data model of MPRIS. This patch exposes the list of images/movies in the current folder and the related slideshow feature as MPRIS D-Bus object, implementing for a start the interfaces * "org.mpris.MediaPlayer2" * "org.mpris.MediaPlayer2.Player" trying to map those to the Gwenview UX closely. This allows the slideshow and some other navigation to be controlled by any MPRIS controllers, which includes e.g. * keyboard mediakeys (Play/Pause, Stop, Next, Previous), as handled by Plasma MPRIS dataengine * KDE Connect media player controller plugin Additionally the MRPIS D-Bus object is unregistered while the workspace lockscreen is activated. Because at least the Plasma lockscreen has the feature to show controls for any currently running MPRIS players, which for one does not make sense currently for an image player as all displays are locked, and then also can be surprising for some users and result in data leaks via the image metadata used. Future: The great plan is to enhance the MPRIS spec to also work well for presentation-like media shows. So there can and will be cross-app rich (remote) controllers also for classical presentation application instead of only per-app ones. Supporting the existing MPRIS interfaces, even if slightly bending the semantics, is a first step into that direction and already adds value as it allows reuse of existing MPRIS controllers e.g. for remote control. So follow-up work will be to also implement the other MPRIS interfaces like org.mpris.MediaPlayer2.TrackList, for exposing the whole set of "slides". This will enable MPRIS controllers to show the user a complete visual list and e.g. navigate directly to a given slide or give a preview for the next/previous slides. Reviewers: #gwenview, rkflx Reviewed By: #gwenview, rkflx Subscribers: mtijink, ngraham, nicolasfella, #kde_connect, rkflx, broulik Tags: #gwenview Differential Revision: https://phabricator.kde.org/D10972 M +2 -0 CMakeLists.txt M +13 -0 app/mainwindow.cpp M +1 -0 config-gwenview.h.cmake M +15 -0 lib/CMakeLists.txt A +74 -0 lib/mpris2/dbusabstractadaptor.cpp [License: GPL] A +74 -0 lib/mpris2/dbusabstractadaptor.h [License: GPL] A +158 -0 lib/mpris2/lockscreenwatcher.cpp [License: GPL] A +61 -0 lib/mpris2/lockscreenwatcher.h [License: GPL] A +113 -0 lib/mpris2/mpris2service.cpp [License: GPL] A +57 -0 lib/mpris2/mpris2service.h [License: GPL] A +116 -0 lib/mpris2/mprismediaplayer2.cpp [License: GPL] A +92 -0 lib/mpris2/mprismediaplayer2.h [License: GPL] A +378 -0 lib/mpris2/mprismediaplayer2player.cpp [License: GPL] A +128 -0 lib/mpris2/mprismediaplayer2player.h [License: GPL] A +41 -0 lib/mpris2/org.freedesktop.ScreenSaver.xml M +5 -0 lib/slideshow.cpp M +2 -0 lib/slideshow.h https://commits.kde.org/gwenview/9631043c110dba485db5deea120e8b13116c3ac7 -- You are receiving this mail because: You are watching all bug changes.