Review Request: Return 80% functionality to PMC, further evolving of state architecture
Christophe Olinger
olingerc at binarylooks.com
Mon Apr 26 09:05:03 CEST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3552/
-----------------------------------------------------------
(Updated 2010-04-26 07:05:03.590082)
Review request for Plasma and Alessandro Diaferia.
Changes
-------
- Implemented homestate
- Local pictures, music and video modelpackages. (The old localfiles plugin has to be deleted manually from your system)
- The playlist only loads the allowed type in the current state (sometimes you have to load a state twice for this to work, this needs to be handled differently)
- The players are more independant which makes the background states more robust
- When using the background state buttons to switch back to a state, the modelpackage of the new state is not loaded (i need a public interface setModel in the mediabrowser for this. When using these icon while in the homestate makes PMC crash)
- Directories are stored and retrieved on state change
- The layout work in the applet is now as suggested (The layout stuff makes startup of PMC slow :-(
- Slideshows work, you can even set the interval in realtime :-)
- You can hit play in every directory and the player starts playing either the playlist or the current directory for pictures
There is obviously a lot to do still on this part, like cleaning up the API and better handling of the playlists in the different states, but I think we should get this into svn so that others can join us more easily. What do you think?
Summary
-------
The state calsses now have less functions. Only one for connections and one for configuration. The first one is only called once at PMC initialization, the second one is called at each state switch. Some connections can conflict between states. Those are connected at entry() and disconnected at exit(). Thanks to Alessandr's work we can now also configure the layout from within the state class (I only had to correct some namespace stuff in the medialayout class, I hope that was correct).
This patch also gets basic functionality back. The modes are not really useful yet. Video mode is the most complete and can be used to view everything at th moment.
Next step: Clean this up a bit
Think about subclassing plasma widgets to get the widget type into the widget. This is necessary to be able to tell the controller to layout into zones.
Start work on information bar.
Diffs (updated)
-----
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/abstractmediaitemview.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/abstractmediaitemview.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/mediabrowser.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/mediabrowser.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/mediabrowserlibs/modelpackage.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/CMakeLists.txt 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localfiles/CMakeLists.txt 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localfiles/localconfig.ui 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localfiles/localfiles.desktop 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localfiles/localfilespackage.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localfiles/localfilespackage.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localmusic/CMakeLists.txt PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localmusic/localmusic.desktop PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localmusic/localmusicconfig.ui PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localmusic/localmusicpackage.h PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localmusic/localmusicpackage.cpp PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localpictures/CMakeLists.txt PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localpictures/localpictures.desktop PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localpictures/localpicturesconfig.ui PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localpictures/localpicturespackage.h PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localpictures/localpicturespackage.cpp PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localvideos/CMakeLists.txt PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localvideos/localvideos.desktop PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localvideos/localvideosconfig.ui PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localvideos/localvideospackage.h PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediabrowser/modelpackages/localvideos/localvideospackage.cpp PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/config.ui 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/playlist/playlistapplet.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/playlist/playlistapplet.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/playlist/playlistwidget.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/applets/playlist/playlistwidget.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/CMakeLists.txt 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/browser.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/browser.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/homestate.h PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/homestate.cpp PRE-CREATION
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenter.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/medialayout.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/medialayout.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/picturestate.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/picturestate.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/player.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/player.cpp 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playlist.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.h 1117481
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.cpp 1117481
Diff: http://reviewboard.kde.org/r/3552/diff
Testing
-------
Lots and lots. Seems to be quite slow, but I think that is a problem in the player. It always iterates over all the queue even if it should only show a picture.
Thanks,
Christophe
More information about the Plasma-devel
mailing list