Sort by:
* category
** exclusive group
*** name
Thus we have an alphabetic order of all categories, in the categories
we have again an alphabetic order of all effects in the same group and
the effects in one group are listed at the bottom of the category.
REVIEW: 116753
The new X-KWin-Exclusive-Category property is read from the service
and provided to QML through the ExclusiveRole. If an effect has such
a role the CheckBox is replaced by a RadioButton. The radio buttons of
an exclusive group take care that only one effect of the group can be
enabled. In addition the radio button acts like a check box. If one
clicks the checked radio button it gets unchecked.
At the same time this change removes the hard coded functionality for
the exclusive group of desktop switching effects. It's all handled
dynamically by creating the ExclusiveGroup when needed. For each
category there can be one ExclusiveGroup.
REVIEW: 116711
For each effect added to the list the KWin DBus interface is queried
for whether the effect is supported.
By default all effects are set to supported, thus if the DBus service
is not around (e.g. compositing disabled) it is assumed that all effects
are supported. In fact it's not possible to figure it out at all.
REVIEW: 116667
Using spacing around the header and no hardcoded color by using
KColorscheme to get the base color and use the same alpha modulation
as KCategoryDrawer.
REVIEW: 116703
* use frame in the scroll area
* remove needless anchoring for an Effect
* use one RowLayout for one Effect row
* add a left and right padding using the normal spacing
* Use a ColumnLayout for the center element consisting of
** name
** description
** (info)
** (video)
* Video moved into an own component
* Animations removed
REVIEW: 116693
Let's try getting the KCM a little bit less scary by properly
hiding everything the user doesn't have to care about. The prominent
desktop effects KCM only contains the list of all the effects which
can be configured and nothing else. Only exception is the disabled
check after failed GL to make this easier for the user.
All the "advanced" settings are moved into a new KCM called
"Compositing" which is put under the hardware component in
systemsettings. This contains all advanced settings including
* whether compositing is enabled at all
* backend
* animation speeed
* scale filter
* unredirect fullscreen
* color correction
REVIEW: 116648
A video button is shown if the model provides an url for a video.
If the button is pressed the video element is added in a similar way
to the aboutInfo and starts the video directly. Once the playback
stopped a play again button is shown.
If one clicks the video button again, the video gets hidden.
Room for improvement:
* add a button to open in external player
* ensure video is centered correctly in the list view
Methods added to the Model to map from row index to the backend
identifier and vice versa. That way the Compositing object can do
all the saving and loading.
* all properties extended to be writable and emit change signals
* contains load from and save to config functionality
* Compositing object in qml view is connected to the values of the
components. So changes are directly mapped from UI to business logic
We have an Apply and OK button in the KCModule, so we don't need one
in the view. A change signal is introduced and passed from the individual
items upwards, so that we can connect to it from the C++ side.