Both KCMs had a hard coded default which is obviously bad. Instead we
now calculate a useable implicitWidth and implicitHeight and use this
as the minimum size for the KCM. Which means we need also track changes
to these two root object properties and update the QWidget container
accordingly.
BUG: 332518
BUG: 332519
REVIEW: 117079
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
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.
Only ONE of the following effects can be active at the same
time.
*kwin4_effect_slideEnabled
*kwin4_effect_cubeslideEnabled
*kwin4_effect_fadedesktopEnabled