Commit graph

54 commits

Author SHA1 Message Date
Martin Gräßlin
74d9185f49 Split into one KCM for Desktop Effects and one for Compositing
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
2014-04-03 07:23:16 +02:00
Antonis Tsiapaliokas
f590506818 Add Get-Hot-New-Stuff support
REVIEW: 114477
2014-04-03 07:23:16 +02:00
Mathieu Tarral
be506dee30 This patch adds a checkbox to enable/disable effects on startup
REVIEW: 114046
2014-04-03 07:23:15 +02:00
Martin Gräßlin
5f1e8ec2bd Use RowLayout for the video, configure and about buttons
Simplifies the code as we don't have to anchor the buttons.

REVIEW: 114432
2014-04-03 07:23:15 +02:00
Martin Gräßlin
9e00284158 Show busy indicator during loading of video
We need to provide some feedback during downloading the video.

REVIEW: 114431
2014-04-03 07:23:15 +02:00
Martin Gräßlin
ca778481b7 Integrate video into the UI
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
2014-04-03 07:23:15 +02:00
Martin Gräßlin
634b400caf Fix reseting the checkboxed in the advanced part 2014-04-03 07:23:15 +02:00
Martin Gräßlin
f19acce59d Implement the KCModule::defaults 2014-04-03 07:23:15 +02:00
Martin Gräßlin
1dd1c8e51d Add the compositingType as another property to Compositing
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.
2014-04-03 07:23:15 +02:00
Martin Gräßlin
3a8a0d73ea Save complete state in Compositing QObject
* 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
2014-04-03 07:23:15 +02:00
Martin Gräßlin
befb2b8e8a Drop the Apply button from the EffectView
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.
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
5ab8e740d4 Fix spacing 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
99dc27e896 Change the background color 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
d5a6dff6dd Remove hard coded colors 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
bd3219b5a7 Add Color Correction support 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
748d2d327f Add glSwapStrategy support 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
5448c7ce36 We are now able to suspend desktop effects for fullscreen windows 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
c79894945c Add glScaleFilter and xrFilterScale support 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
e1308f8b40 Add Window Thumbnail support 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
d33c2afb81 Add animation speed Slider 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
083f670719 Rename effectStatus => updateEffectStatus method 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
8bc4c3c85c Description text should not be elide
when we click on the description button
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
44fad963a9 Add hint Label 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
a336e51867 Add missing i18n 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
8f6e40adbb Add clear button to Search Field 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
932bd40cb6 rename id myCheckBox => effectStatusCheckBox 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
857182ebac Make sure that our description will only be elide when there is not enough space 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
67144780bd Create a new QAbstractItemModel for our CompoBox.
In the feature we will need to hanlde some Wayland stuff
so we need our model to be smarter.

Also remove some left overs from the graphics system
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
ff08041bed We don't need the findImage anymore. 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
11098706ce Fix qml runtime errors 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
fcae304dac Fix layout 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
c0a188b3f2 Remove Graphics System.
Graphics System is deprecated on Qt5 and it has been removed from KWin.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
fcff62c4b6 We don't neeed to reload our model anymore 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
1f509b7c30 EffectModel is no more being exposed to the QML
Instead of the EffectModel we are using the FilterProxyModel
2014-04-03 07:23:13 +02:00
Martin Gräßlin
d9fcc9f9d5 Drop useless assignement
That's already in the property binding.
2014-04-03 07:23:13 +02:00
Martin Gräßlin
7d816f8198 Rename effectModel property to model
More consistant with other namings in QML.
2014-04-03 07:23:13 +02:00
Martin Gräßlin
81510d7e47 Make EffectModel a toplevel element in EffectView
The id is referenced all over the document which makes it nicer to
read if it is not a nested element.
2014-04-03 07:23:13 +02:00
Martin Gräßlin
5eb11849d4 Do not use a VisualDataModel
No need for this additional wrapper around the model.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
c32758c458 Add ComboBox for Compositing Type and for Graphics System 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
ed2cf5a8b5 Add Improved Window Management Support
When we click into the CheckBox the following effects are being enabled:

*kwin4_effect_desktopgrid
*kwin4_effect_presntwindows
*kwin4_effect_dialogparent

If one of the above effects gets disabled, then the checkbox is unchecked.
Our CheckBox can detect if our effects are enable at the start time.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
609c4c5470 Add ExclusiveGroup support to the checkboxes of the ListView.
Only ONE of the following effects can be active at the same
time.

*kwin4_effect_slideEnabled
*kwin4_effect_cubeslideEnabled
*kwin4_effect_fadedesktopEnabled
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
16a066db78 Check if OpenGLisBroken 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
e5da335fcf Add unit test for our model
Add a QSortFilterProxyModel in order to search our effects
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
dac370fc61 Move effectStatus and syncConfig from EffectView class to EffectModel 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
34cccc91ed Make our model able to be reloaded.
Also fix the coding style and make krazy happy.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
f44691b61c Move findImage method from EffectView to EffectModel 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
2f30411106 Make our QAbstractListModel smarter, give better names to
the enumenators.
Rename struct Effect to EffectData
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
fc662d175d Add method findImage
Qt QuickControls require an abosolute path to the image
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
2431da8222 Buttons are enable only when they have something to do 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
837c44434d Load the configuration UI for the Effects 2014-04-03 07:23:13 +02:00