[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Review Request: Return 80% functionality to PMC,
From: "Christophe Olinger" <olingerc () binarylooks ! com>
Date: 2010-04-20 8:04:24
Message-ID: 20100420080424.18509.80419 () localhost
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3552/#review5115
-----------------------------------------------------------
I included some comments of the code so that we better see which parts need \
discussion and to explain a bit my approach of things.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.cpp
<http://reviewboard.kde.org/r/3552/#comment4593>
I probably do not need to remove the layouts, since I have deleted them before \
and created new ones. I needed to use the delete approach because the layouts kept \
on getting big white spaces when I switched layouts. As soon as all states had been \
activated at least once, the widgets stopped jumping. The above approach fixed that \
but it feels slower I think.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.cpp
<http://reviewboard.kde.org/r/3552/#comment4594>
I forgot to iterate over the other layouts. With the new delete layouts approach \
in the above function, I might not need this function anymore.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.h
<http://reviewboard.kde.org/r/3552/#comment4595>
I think I do not need this anymore
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.h
<http://reviewboard.kde.org/r/3552/#comment4596>
The player needs to send both the current MediaCenter::Media and the media object \
to the states. The first is needed so the states can tell the player which media file \
the user is currently looking at. The second is needed so that the states can attach \
the seek and volume slider of the current state to the player.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.h
<http://reviewboard.kde.org/r/3552/#comment4597>
Not needed? Recheck this.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp
<http://reviewboard.kde.org/r/3552/#comment4598>
Check if I really need this together with a signal.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp
<http://reviewboard.kde.org/r/3552/#comment4599>
To be sure that these kind of checks work, we need to limit the states to a \
certain media type. This needs to be done on the browser level but also the playlist \
level.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp
<http://reviewboard.kde.org/r/3552/#comment4600>
On every state change I clear the m_medias list and repopulate it with the \
current state's playlist items. Since I do not have a playlist in the picture mode I \
populate the list with the activated item. Later I will fill the list with all \
pictures in the current directory to be able to press next, previous and have a \
slideshow.
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp
<http://reviewboard.kde.org/r/3552/#comment4601>
Slideshow not implemented yet. I first need to find a way to populate the \
m_medias list with the content of the current directory (see signal in browser \
applet)
trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp
<http://reviewboard.kde.org/r/3552/#comment4602>
Check if this is needed at all.
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp
<http://reviewboard.kde.org/r/3552/#comment4603>
As soon as we have a home state I can put this there.
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp
<http://reviewboard.kde.org/r/3552/#comment4605>
Since I now delete the layouts on each state change, I also need to readd the \
Main Subcomponents.
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp
<http://reviewboard.kde.org/r/3552/#comment4604>
Remove this
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp
<http://reviewboard.kde.org/r/3552/#comment4606>
Do I still need this with the delete layouts approach?
trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp
<http://reviewboard.kde.org/r/3552/#comment4607>
No need to clear probably.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.h
<http://reviewboard.kde.org/r/3552/#comment4608>
I could also send the widget type instead of the zone. The control applet would \
then have an if/then for each widget type and thus would have more control of the \
actual layout. However, this would mean a lot of if/thens.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.h
<http://reviewboard.kde.org/r/3552/#comment4609>
This is part of the background states UI
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4610>
Is this correct? I have never used static variables before.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4611>
Currently I do this on every state change. Maybe I can create a list as a member \
variable and fill it once at initialization of the state object and only hand out \
this list at state changes. This could speed up things a bit.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4612>
I will have to send the jumpToState buttons (except home) to the browser in the \
home state mode, or will we have the control applet visible in the home state. \
Depends on what we actually want to show in the home state.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4613>
Currently, the background state buttons take up space in the controller even when \
hidden. Where do we want to have these? Maybe in a layout with a fixed size to \
prevent jumping around of the other widgets when the background state widgets are \
removed or added?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/medialayout.cpp
<http://reviewboard.kde.org/r/3552/#comment4614>
How do I tell the controller to adapt to its content? Or do we want to keep this \
size fixed?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4615>
Okay, I still need the PlaybackState function in the mediaplayer.
We only consider a state as background when it is actually playing something.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.cpp
<http://reviewboard.kde.org/r/3552/#comment4616>
This is executed when clicking on "stop"
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/picturestate.cpp
<http://reviewboard.kde.org/r/3552/#comment4617>
As soon as we have slideshow possibility, should we always pause that when \
switching away from this mode? This would mean that we can never have the picture \
state as background state. Do we need it?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h
<http://reviewboard.kde.org/r/3552/#comment4618>
The way I did it nowm the control applet is reduced to only handle its own \
appearance, nothing else. All the logic is handled by the state objects. I though \
this would make it easier to use QML with PMC?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h
<http://reviewboard.kde.org/r/3552/#comment4619>
This will go into the picture state later.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h
<http://reviewboard.kde.org/r/3552/#comment4620>
Do I still need these?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h
<http://reviewboard.kde.org/r/3552/#comment4621>
Still needed?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h
<http://reviewboard.kde.org/r/3552/#comment4622>
Still needed now that the sliders are in the state objects?
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.h
<http://reviewboard.kde.org/r/3552/#comment4623>
All states that actually handle the VideoWidget need MediaObject information. \
This will only ever be the video state and the music state so I did not add these \
functions to the MediaCenterState API.
trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.cpp
<http://reviewboard.kde.org/r/3552/#comment4624>
When we click the background state button to return to the video state, I want to \
show the videoplayer if it is actually playing something.
- Christophe
On 2010-04-19 19:43:39, Christophe Olinger wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/3552/
> -----------------------------------------------------------
>
> (Updated 2010-04-19 19:43:39)
>
>
> Review request for Plasma and Alessandro Diaferia.
>
>
> 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
> -----
>
> trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/applets/mediacontroller/controller.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/config.ui \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/applets/mediaplayer/mediaplayer.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/containments/mediacontainment/mediacontainment.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenter.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/mediacenterstate.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/medialayout.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/medialayout.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/musicstate.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/picturestate.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/picturestate.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/playbackcontrol.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/player.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/player.cpp \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.h \
> 1113370 trunk/playground/base/plasma/MediaCenterComponents/libs/mediacenter/videostate.cpp \
> 1113370
> 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
>
>
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic