Commit graph

2231 commits

Author SHA1 Message Date
Martin Gräßlin
61c631c94e [kwincompositing-kcm] Add a config option for the OpenGL Platform Interface
A small model is added which holds the available platform interfaces read
from KWin through DBus.

REVIEW: 117699
2014-05-13 09:23:03 +02:00
Martin Gräßlin
75cac7632b [kcmkwin/kwinoptions] Drop kcmkwm.png icons
According to git grep it's not used anywhere.

REVIEW: 117998
2014-05-07 11:50:22 +02:00
l10n daemon script
a87567a271 SVN_SILENT made messages (.desktop file) 2014-05-07 08:26:38 +00:00
Martin Gräßlin
5e1e58d197 Enable i18n for kwincompositing
Was missing Messages.sh, extracts from cpp and qml.

REVIEW: 117892
2014-05-05 08:04:00 +02:00
Martin Gräßlin
1c2f27945c Adjust kcmkwins to new ki18n
Define the TRANSLATION_DOMAIN in each of the kcms and use
ki18n_wrap_ui.
2014-05-05 08:03:55 +02:00
l10n daemon script
7dec86078c SVN_SILENT made messages (.desktop file) 2014-05-04 08:44:36 +00:00
l10n daemon script
7553c411c2 SVN_SILENT made messages (.desktop file) 2014-05-03 08:32:58 +00:00
l10n daemon script
2f28437e24 SVN_SILENT made messages (.desktop file) 2014-05-02 08:51:14 +00:00
l10n daemon script
2838a9b606 SVN_SILENT made messages (.desktop file) 2014-04-29 10:12:33 +00:00
l10n daemon script
15aa971aab SVN_SILENT made messages (.desktop file) 2014-04-29 04:54:44 +00:00
Martin Gräßlin
ee20101142 Fix deprecated warnings for KAboutData
Ctor with catalog name got deprecated, use ctor without it.
2014-04-28 17:11:20 +02:00
Aleix Pol
36e93e9c5a Adapt to changes in KDEInstallDirs
Plugins of non kf5 frameworks are not in a kf5/ subdir anymore

REVIEW: 117838
2014-04-28 15:36:44 +02:00
Martin Gräßlin
336a870f5e [kcmkwin] Fix locating the effect configurations
No longer in kf5/ prefix.
2014-04-28 14:06:18 +02:00
Martin Gräßlin
7fcecc616c Drop "kwin4_effect_" prefix for BuiltIn Effects
This removes all the hacks to add kwin4_effect_ to the name of the Effect
and adjusts the desktop files of the effect configuration's parent
component.

Note: the scripted effects still start with kwin4_effect_ prefix.

REVIEW: 117367
2014-04-28 13:52:50 +02:00
Martin Gräßlin
4da220adef [kcmkwin/tabbox] Use BuiltInEffects to find CoverSwitch and FlipSwitch
Instead of using the KServiceTypeTrader we use the BuiltInEffects to get
the name of CoverSwitch and FlipSwitch.

Showing the configuration dialog is migrated to KPluginTrader which fixes
the showing of the dialog.
2014-04-28 13:51:30 +02:00
Martin Gräßlin
a20903986a [kcmkwin/screenedges] Use BuiltInEffects to find the Desktop Effects
Instead of using the KServiceTypeTrader we just ask the BuiltInEffects
for the name of our Effects.
2014-04-28 13:51:30 +02:00
Martin Gräßlin
98d813050e [kcmkwin/desktop] Use BuiltInEffects for integration with Effects
The desktops KCM allows selecting between the virtual desktop switching
effects. For those it offers configuring and showing the information.

The KServiceTypeTrader based search is adjusted to be only used for the
scripted effects. The built-in effects are queried through the
information available through the BuiltInEffects namespace.
2014-04-28 13:51:30 +02:00
Martin Gräßlin
a784c91844 [kcmkwin/compositing] Use BuiltinEffects to find all built-in effects
The EffectData in BuiltinEffects is extended by all the data needed for
the desktop effects KCM:
* display name
* comment
* category
* video-url
* exclusive group
* internal

This information is taken directly from the desktop files.

The Built-in effects are now also resolved through the BuiltInEffects
namespace and the KServiceTypeTrader query is adjusted to only find the
scripted effects.

Unfortunately this introduces another round of adding "kwin4_effect_" to
load and save the effects correctly. This will be removed once all KCMs
are adjusted to use the new BuiltInEffects.
2014-04-28 13:51:30 +02:00
l10n daemon script
e1f418f4d0 SVN_SILENT made messages (.desktop file) 2014-04-28 09:00:35 +00:00
l10n daemon script
f44575ddbf SVN_SILENT made messages (.desktop file) 2014-04-28 05:16:52 +00:00
l10n daemon script
69c3289c18 SVN_SILENT made messages (.desktop file) 2014-04-27 21:02:43 +00:00
l10n daemon script
ac9c8f6852 SVN_SILENT made messages (.desktop file) 2014-04-27 05:24:22 +00:00
Aleix Pol
220da8a4e5 Adapt to changes in KDEInstallDirs
kde5/services is kservices5
kde5/servicetypes is kservicestypes5
2014-04-26 19:27:52 +02:00
Martin Gräßlin
b92f4a6991 [kwincompositing-kcm] Fix the reinit signal invocation
REVIEW: 117700
2014-04-25 10:04:04 +02:00
l10n daemon script
4242a0e009 SVN_SILENT made messages (.desktop file) 2014-04-23 04:57:49 +00:00
l10n daemon script
8d83f165d1 SVN_SILENT made messages (.desktop file) 2014-04-20 04:39:49 +00:00
Michael Palimaka
1bca6c3dfa Disable testing if QtTest is not found.
REVIEW: 117393
2014-04-18 16:43:24 +10:00
l10n daemon script
09d421fbb4 SVN_SILENT made messages (.desktop file) 2014-04-14 05:00:20 +00:00
l10n daemon script
d117d38efa SVN_SILENT made messages (.desktop file) 2014-04-13 05:18:57 +00:00
Marco Martin
7380379fcf we don't have different widgets for vd anymore 2014-04-11 16:46:28 +02:00
l10n daemon script
003ba3f343 SVN_SILENT made messages (.desktop file) 2014-04-10 05:10:58 +00:00
l10n daemon script
d630b657cd SVN_SILENT made messages (.desktop file) 2014-04-09 04:58:31 +00:00
l10n daemon script
f13d89a9b6 SVN_SILENT made messages (.desktop file) 2014-04-08 06:22:50 +00:00
l10n daemon script
bd7047929c SVN_SILENT made messages (.desktop file) 2014-04-07 04:54:14 +00:00
l10n daemon script
43fd082b0a SVN_SILENT made messages (.desktop file) 2014-04-06 05:11:55 +00:00
l10n daemon script
c92da6202f SVN_SILENT made messages (.desktop file) 2014-04-05 04:53:22 +00:00
l10n daemon script
e6db000065 SVN_SILENT made messages (.desktop file) 2014-04-04 05:29:27 +00:00
Martin Gräßlin
28b4cfaa9a Drop build dependency on kde4support for the build system
* Ported last qt4_wrap thingy to qt5_wrap thingy
* Include KF5Init (needed for kdeinit_executable
* Optionally include KF5DocTools and bind the docs subdirectory to it
* Include GenerateExportHeaders
2014-04-03 10:15:57 +02:00
Martin Gräßlin
ceecc5be27 [kwincompositing] Integrate the new kcmkwin subdirectory into build tree
* root CMakeLists.txt finds Declarative and Qt5Multimedia (Runtime)
* kwincompositing CMakeLists.txt is cleaned up to not be a project
2014-04-03 07:23:17 +02:00
Martin Gräßlin
388cd21adf Add Reset, Default and Apply button to config dialog
Makes it more like when starting KCMShell.

REVIEW: 117110
2014-04-03 07:23:17 +02:00
Martin Gräßlin
b14cae83a0 Translate the names of the categories
The category gets read from the KService and is not translated.
Because of that the KCM needs to do the translation of the categories.
This was also the case in the old KCM.

REVIEW: 117111
2014-04-03 07:23:17 +02:00
Martin Gräßlin
30dd9b7820 Fix the initial size of the KCMs
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
2014-04-03 07:23:17 +02:00
Martin Gräßlin
1b7f66243d qtextracomponents becomes kquickcontrolsaddons 2014-04-03 07:23:16 +02:00
l10n daemon script
a50e5da307 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
Martin Gräßlin
39b61238e5 Load generic scripted config plugin for scripted effects
We check whether the effect is scripted and provides a config. If that
is the case our normal approach for getting the config plugin fails and
we use this case to try to load it again through the generic scripted
config plugin.

REVIEW: 116863
BUG: 332186
2014-04-03 07:23:16 +02:00
Martin Gräßlin
ca725b437f Use KPluginTrader to find the effect configuration and show it
The model data contains a new role ConfigurableRole. This is used to
decide whether the configure button is available.

The value for the role is set by searching for a KPlugin which has the
effect's service name as X-KDE-ParentComponents. All available configs
are expected to be in kf5/kwin/effects/configs/ and are located through
the KPluginTrader thus binary effect configs need to provide json meta
data.

REVIEW: 116855
2014-04-03 07:23:16 +02:00
l10n daemon script
e5ef7602ba SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
l10n daemon script
1cbdb96c9a SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
l10n daemon script
5ef9359f6f SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
l10n daemon script
de968730e3 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
l10n daemon script
75ccceef47 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
l10n daemon script
211e5c2ab9 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
Martin Gräßlin
cd5c5498af Fix spacing of Effect row
Using implicitHeight of the row layout as the height.

REVIEW: 116757
2014-04-03 07:23:16 +02:00
Martin Gräßlin
7166bdad61 Filter on internal effects
By default internal effects are excluded from the list, but by
checking the option in the config menu, they get included in the
list.

REVIEW: 116755
2014-04-03 07:23:16 +02:00
Martin Gräßlin
24626b8cb0 Accept row if filter can be found in the Category name
Idea: searching for virtual did not return all effects in the
"Virtual Desktop Switching Animation" category.

REVIEW: 116752
2014-04-03 07:23:16 +02:00
l10n daemon script
b9f00690e6 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
Martin Gräßlin
38e18a1d4c Improve the sorting of the effects list
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
2014-04-03 07:23:16 +02:00
Martin Gräßlin
8573bb6bed Fix i18n in about item 2014-04-03 07:23:16 +02:00
Martin Gräßlin
f934829e0f Remove the enableWindowManagement functionality
It's all dead code as the glue in the view got removed.
2014-04-03 07:23:16 +02:00
Martin Gräßlin
7d63ab03bc Support for mutual exclusive effects
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
2014-04-03 07:23:16 +02:00
Martin Gräßlin
503c221733 Add supported to EffectData
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
2014-04-03 07:23:16 +02:00
l10n daemon script
b70928fce6 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
Martin Gräßlin
9e81a26c2a Improve section heading
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
2014-04-03 07:23:16 +02:00
l10n daemon script
5c9ddcfff2 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:16 +02:00
Martin Gräßlin
d0ee2ca0d1 Boldify effect name 2014-04-03 07:23:16 +02:00
Martin Gräßlin
86748a4bc8 Use "Search" as placeholder text 2014-04-03 07:23:16 +02:00
Martin Gräßlin
05db7b9f7c Use xml interfaces to interact with KWin's DBus interfaces
It's a little bit more type safe.

REVIEW: 116649
2014-04-03 07:23:16 +02:00
Martin Gräßlin
edc399a444 Drop OpenGL 1
KWin doesn't support OpenGL 1 any more so we should not allow the
user to switch to it.

REVIEW: 116636
2014-04-03 07:23:16 +02:00
Martin Gräßlin
e4fe1b360f Improve layout of Effect View
* 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
2014-04-03 07:23:16 +02:00
Martin Gräßlin
e551e34403 Use TextField of QtQuickControls instead of Plasma
Prefer the native widget. Disadvantage: clear button is missing.

REVIEW: 116691
2014-04-03 07:23:16 +02:00
Martin Gräßlin
a31efea704 Export CompositingTypeIndex enum to QML
Use the dedicated enum values instead of trying to map the indices.

REVIEW: 116690
2014-04-03 07:23:16 +02:00
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
l10n daemon script
02d4d039ce SVN_SILENT made messages (.desktop file) 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
Martin Gräßlin
b48ebd300c Add a .reviewboardrc 2014-04-03 07:23:15 +02:00
l10n daemon script
18b352f0d2 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
l10n daemon script
30e58bbba3 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
l10n daemon script
6abb7b7874 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
l10n daemon script
2f0cb89078 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
l10n daemon script
81c171e6c8 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
l10n daemon script
0543714532 SVN_SILENT made messages (.desktop file) 2014-04-03 07:23:15 +02:00
Martin Gräßlin
b1429c0d60 Adjust to KDeclarative changes 2014-04-03 07:23:15 +02:00
Hrvoje Senjan
9042431106 Be less noisy when Qt5Multimedia is not present in build enviroment 2014-04-03 07:23:15 +02:00
Hrvoje Senjan
95ac83921b Declare runtime dependency on Qt5Multimedia via CMake
It's imports are needed for the effect video playback

REVIEW: 114918
2014-04-03 07:23:15 +02:00
Hrvoje Senjan
e3a83463a1 Fix includes...
...and thus, build.
Jenkins will still fail due to:
"set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")"

REVIEW: 114902
2014-04-03 07:23:15 +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
8e1aea4ec6 Adjust CMakeList to kf5 lib renaming 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
0bd7c5e0e2 Add support for videos in the model 2014-04-03 07:23:15 +02:00
Martin Gräßlin
6006a91e8a Invoke the reinit Compositor signal when the advanced options changed
Therefore we track whether the options got changed and if they did
we emit the reinit signal once the configuration is saved.
2014-04-03 07:23:15 +02:00
Martin Gräßlin
450888df50 Fix connection to KWin through DBus
Not 100 % perfect yet as KWin needs to have the compositor connect
to the signals.
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
e3c944feb2 Implement KCModule::load 2014-04-03 07:23:15 +02:00
Martin Gräßlin
891af9cf54 Handling saving the changes of the KCM
Save method added to the EffectView which invokes the specific methods
on the effect model and compositing object.
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
bfab98839c Fix typo 2014-04-03 07:23:15 +02:00
Martin Gräßlin
2ed5b375ea Make EffectView::init private
Called from the ctor, no need to be public.
2014-04-03 07:23:15 +02:00
Martin Gräßlin
aa39bb192f Connect changed from QML to the C++ side
Connected in the view and further emited as a signal our KCM
connects to.
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
Martin Gräßlin
7372a7f784 KWinCompositing becomes a KCModule
Instead of a binary it's a library installed as a plugin. main.cpp
defines the KCModule which just loads the EffectView into a widget
container.
2014-04-03 07:23:14 +02:00
Martin Gräßlin
dd23f40c81 Clean up CMakeLists.txt
Find only required modules and not everything kde-workspace used to find.
Also properly set the target link targets.
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
ca453a9939 make it build 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
bf52f952b2 make it build 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
5ab8e740d4 Fix spacing 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
bd79162710 make it build 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
af25c1d11d Try to fix the linking issues 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
d24a463a27 make it more simple 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
de7b09b011 Enable effects by the service file should always be enabled,
if there is not a relevant entry in the kwinrc
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
12f8544b0f Make sure that the enableWindowManagement and handleWindowManagement
will not crash
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
50dd943e7d Check if the m_effectsList is valid before we try to access it 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
159bccc2d5 Use the new Singal and Slot syntax, now we are able to check
for errors at the build time.
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
f4e412f244 Add missing i18n 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
14b66445e3 should be const 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
11c59b7abe We don't need anymore the effectModel PROPERTY 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
842bacab23 Fix typo 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
afcc19815e Now we are able to search our effects based on their name
and their description
2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
853c817c80 make it build 2014-04-03 07:23:14 +02:00
Antonis Tsiapaliokas
578f43292b Fix copyright 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
973a2e8f22 Remove deprecated ctor 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
081d1fc7c9 Don't load all the effects from the kwinrc.
Let KWin to handle that.
2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
517e248c1c Fix the coding style 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
4534cd03b9 EffectFilterModel::findImage should always return a QString
Also translate the rowIndex from the EffectFilterModel to the EffectModel
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
Martin Gräßlin
934d675b73 Add missing Q_UNUSED 2014-04-03 07:23:13 +02:00
Martin Gräßlin
46c395e8ac Specify override on overriden methods in model.h
Let's use C++11 - the good parts ;-)
2014-04-03 07:23:13 +02:00
Martin Gräßlin
cf5ba0378a setRoleNames is deprecated
Instead implementing roleNames().
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
cc375dab36 remove deprecated ctor 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
3ab4e1a84a make it build and fix linking 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
025f3eba5a KWidgets are gone. Make it build 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
16a066db78 Check if OpenGLisBroken 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
52fd2c12a2 Make all of our unit test to pass 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
f9706e0734 Make our dbus call async 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
abaf03c1d0 We should have only 1 proxy, not 2 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
8081e2eb53 Add buttons to the effect config dialog 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
Antonis Tsiapaliokas
51549d3ec9 Make our effects able to be enable and disable 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
32ee949a8d Add an about button for the author and the license of the effect 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
738f730a62 Load the real effects from the system 2014-04-03 07:23:13 +02:00
Antonis Tsiapaliokas
e816a0823c Replace -std=c++11 with -std=c++0x
c++0x is being supported for gcc < 4.6
2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas
4305fb79b8 Add support for c++11 and fix building issues 2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas
52326ac892 Fix license 2014-04-03 07:23:12 +02:00
Antonis Tsiapaliokas
1d6dee92fc Initial commit 2014-04-03 07:23:12 +02:00
l10n daemon script
eef56c98b2 SVN_SILENT made messages (.desktop file) 2014-04-03 05:10:09 +00:00
Alex Richardson
5977545ee6 Fix invalid escape sequence 2014-03-25 22:17:15 +01:00
l10n daemon script
10f89d6019 SVN_SILENT made messages (.desktop file) 2014-03-24 04:35:26 +00:00
Martin Gräßlin
b274fb9297 InputRedirection emits a signal when the modifiers change
Used by Cursor to properly emit the mouseChanged signal which for
historic reasons includes the keyboard modifiers.

Again some fiddling around with the autotests and kcmrules needed to
make it compile. This needs improvement!
2014-03-19 14:14:56 +01:00
Martin Gräßlin
704e42163d [kwin] Add missing includes
Were missing if built stand-alone.
2014-03-18 14:37:01 +01:00
Martin Gräßlin
18a37d7ee8 [kwin] Fix includes of kde4support headers
* drop unused headers
* use QExplicitlySharedDataPointer instead of KSharedPointer
* drop KDE/ from includes
2014-03-18 14:34:36 +01:00
Martin Gräßlin
9874187099 [kwin] Add a KWIN_SOURCE_DIR to the CMakeLists.txt
This is used to get to KWin's sources instead of
KDEBASE_WORKSPACE_SOURCE_DIR.
2014-03-18 12:08:14 +01:00
Martin Gräßlin
642f643dff [kwin/kcmtabbox] Port away from kde4_add_ui_files 2014-03-18 11:51:35 +01:00
Martin Gräßlin
dbf2218338 [kwin] kde4_add_ui_files -> qt5_wrap_ui
Less deprecated CMake usage.
2014-03-18 11:06:56 +01:00
Martin Gräßlin
dc58fc2c32 [kwin/kcms] Another round of kdialog removals 2014-03-18 09:11:07 +01:00
Martin Gräßlin
7523c1e7d7 Integrate KWin::Cursor with InputRedirection
New inheriting class which uses the InputRedirection to track the cursor
position. It doesn't support warping of cursor.

This introduces a slight dependency loop in the startup. Cursor needs to
be created after the WaylandBackend to ensure that the operation mode is
set correctly. But the WaylandBackend itself is accessing Cursor. It
should be safe as inside the WaylandBackend it's only accessed after
callbacks.
2014-03-18 09:00:49 +01:00
Martin Gräßlin
8e4f8f0d9c [kwin/kcms] Only link KCMUtils where needed
In some KCMs we don't use anything from KCMUtils but just KCModule
which is in ConfigWidgets.
2014-03-18 07:41:30 +01:00
Martin Gräßlin
2fad6dbf46 [kwin/kcmkwinoption] Remove unused kdialog.h include
It's kde4support and we don't have that.
2014-03-18 07:34:33 +01:00
Martin Gräßlin
74a4a1cd42 [kwin/kcmkwinoption] Remove not needed config-workspace.h include
There are no ifdefs taken from that code.
2014-03-18 07:32:45 +01:00
Aleix Pol
c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Martin Gräßlin
abecbf2369 [kwin] Port away from deprecated functionality in KWindowSystem
Less warnings and more type safety.
2014-03-17 10:22:20 +01:00
Martin Gräßlin
b38722dc04 [kwin] Adjust to changes in NETRootInfo ctor
Takes flag types.
2014-03-17 08:30:58 +01:00
Martin Gräßlin
f74df28450 [kwin] Use KPluginTrader and json metadata to find KDecorations
* A KDecoration needs to include json metadata
* A KDecoration needs to be installed to kwin/kdecorations
* Aurorae and Oxygen adjusted
* kcmdeco locates all decorations through the KPluginTrader
* libkdecoration uses KPluginTrader to find the plugin
* config plugins also need to include json metadata with
  X-KDE-PluginInfo-Name being the same as the decoration
* config plugins need to get installed to kwin/kdecorations/config
* kcmdeco locates the config plugin for a deco through the name
  and KPluginTrader

REVIEW: 116765
2014-03-17 07:41:14 +01:00
l10n daemon script
4d9c6af719 SVN_SILENT made messages (.desktop file) 2014-03-14 07:37:21 +00:00
Martin Gräßlin
a51cbf7b9e [kwin/kcmdeco] Show an information if close window by dbl click gets activated
The option changes the behavior of the menu button, thus we should point
out to the user that the behavior changes.

This is only done for Auroae configurations as other decorations have to
take care about it themselves.

CCBUG: 331462
REVIEW: 116715
2014-03-12 07:33:47 +01:00
Martin Gräßlin
9fc3aabc66 [kwin/aurorae] Default to no close on double click menu button
To increase consistency with other decorations and because it changes
the behavior of the menu button in an unexpected way we default to
double click menu button doesn't close the window.

BUG: 331462
FIXED-IN: 5.0
REVIEW: 116716
2014-03-11 15:46:21 +01:00
Martin Gräßlin
2675b5d4e7 Merge branch 'KDE/4.11'
Conflicts:
	CMakeLists.txt
	kcontrol/screensaver/screensaver.desktop
	kdm/kfrontend/themes/elarun/KdmGreeterTheme.desktop
	khotkeys/kcm_hotkeys/kcm_hotkeys.cpp
	kinfocenter/main.cpp
	kscreensaver/kblank_screensaver/blankscrn.cpp
	kscreensaver/krandom_screensaver/random.cpp
	kstyles/oxygen/config/main.cpp
	kstyles/oxygen/demo/main.cpp
	ksysguard/gui/ksysguard.cpp
	kwin/clients/oxygen/demo/main.cpp
	kwin/kcmkwin/kwincompositing/kwincompositing.desktop
	kwin/tabbox/qml/clients/text/metadata.desktop
	kwin/tabbox/qml/clients/window_strip/metadata.desktop
	libs/plasmagenericshell/widgetsexplorer/package/metadata.desktop
	plasma/desktop/applets/pager/package/metadata.desktop
	plasma/desktop/shell/activitymanager/package/metadata.desktop
	plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js
	plasma/desktop/shell/desktopcorona.cpp
	plasma/desktop/shell/main.cpp
	plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
	plasma/desktop/toolboxes/plasma-toolbox-paneltoolbox.desktop
	plasma/generic/applets/batterymonitor/contents/ui/batterymonitor.qml
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.cpp
	plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.h
	plasma/generic/applets/systemtray/protocols/fdo/x11embeddelegate.cpp
	plasma/generic/runners/nepomuksearch/plasma-runner-nepomuksearch.desktop
	plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
	plasma/netbook/shell/nettoolbox/plasma-toolbox-nettoolbox.desktop
	statusnotifierwatcher/statusnotifierwatcher.cpp
	systemsettings/app/main.cpp
2014-03-10 21:21:16 +01:00
l10n daemon script
fbd985ae3d SVN_SILENT made messages (.desktop file) 2014-03-10 07:33:17 +00:00
Martin Gräßlin
aee20b4a5a Hide the OnAllDesktops button if there is only one virtual desktop
In KCommonDecoration the OnAllDesktops button gets hidden or shown
depending on the number of desktops. For that KDecoration is extended
by a new property which delegates to the bridge to return whether
onAllDesktops is available. In KWin Core this is implemented using
the number of desktops.

FEATURE: 321611
FIXED-IN: 5.0.0
REVIEW: 116076
2014-03-05 13:02:32 +01:00
Martin Gräßlin
4dff7888e3 [kwin] Drop build option to build without scripting
Scripting has proved it's point of being useful so it's time to turn it
into a mandatory part of KWin.

Also I start to use features provided by Scripting in more and more
parts of KWin core (e.g. sharing QQmlEngine) which makes it in the
long to complicated to have a build option and ifdefs for it.

REVIEW: 116587
2014-03-04 08:19:55 +01:00
Martin Gräßlin
59d91b9fd3 Use KPluginLoader to load the decoration config dialog
Straight forward update from KLibrary to KPluginLoader.

REVIEW: 115931
2014-03-03 14:20:08 +01:00
Martin Gräßlin
b3d3c45149 Use KPluginLoader to load our decoration plugins
This simplifies the plugin loading. Decorations just have to use
K_PLUGIN_FACTORY to specify how the KDecorationFactory needs to be
created. The KWIN_DECORATION macro is adjusted to generate the
boiler plate code, but it now needs to specify the name for the
pluginfactory and the KDecorationFactory.

This also transits the decoration abi version check to use
K_EXPORT_PLUGIN_VERSION which also simplifies the loading.

As a result the complete canLoad handling in DecorationPlugins is
removed.

REVIEW: 115930
2014-03-03 13:55:52 +01:00
Martin Gräßlin
3d6a77cdd7 [kwin/kcmdeco] Fix layout of button config dialog 2014-02-27 11:48:16 +01:00
Martin Gräßlin
4586767db8 [kwin] Use imported targets for all XCB libs
Requires 04f78489265b6e52cabd2980dfc417abeee3a695 from ECM
2014-02-25 15:48:39 +01:00
l10n daemon script
170c5a50bd SVN_SILENT made messages (.desktop file) 2014-02-24 07:26:52 +00:00
Martin Gräßlin
b8f9fb254f Fix config dialog of Aurorae decorations
Install the layout on the dialog not on the KCM.
2014-02-21 12:12:05 +01:00
Martin Gräßlin
b901928801 Fix position of buttons in decoration config dialog
Add after the main item, not before.
2014-02-21 12:08:31 +01:00
l10n daemon script
fab5def5e9 SVN_SILENT made messages (.desktop file) 2014-02-18 09:04:31 +00:00
l10n daemon script
6f8c3dd771 SVN_SILENT made messages (.desktop file) 2014-02-18 05:12:30 +00:00
Bhushan Shah
be8920d76c kwin is now free of KDE4Support
REVIEW: 115760
2014-02-16 00:31:01 +05:30
Hrvoje Senjan
814ff851b4 Use correct Activities, they are now a proper framework 2014-02-13 20:06:33 +01:00
Martin Gräßlin
3ea8f0c217 [kwin/kcmdesktop] Don't crash if run on platform Wayland
Not much use currently as we don't have any desktops to configure,
but not crashing is nevertheless quite nice.
2014-02-11 15:27:28 +01:00
Martin Gräßlin
fdee4ea8c8 Adjust kde-workspace to introduction of flags in NET classes 2014-02-05 17:40:19 +01:00
Martin Gräßlin
9414d8f7f1 [kwin] Re-enable KActivities support
* KWin lists the activities in the Alt+F3 menu
* Kcmrules though looks wrong
2014-02-03 13:40:47 +01:00
Martin Gräßlin
a6c47e0314 [kwin] Add ProvidersUrl to *.knsrc
That at least inits the GHNS download dialog.
2014-02-03 13:04:12 +01:00
Martin Gräßlin
16c44810cb [kwin] Drop more unused includes
--warnings
2014-02-03 11:45:35 +01:00
Martin Gräßlin
fcebfa799f [kwin] Fix ordering
--warnings
2014-02-03 11:37:04 +01:00
Martin Gräßlin
014cdf9267 [kwin] Mark unused variables as unused
--warnings
2014-02-03 11:36:21 +01:00
Martin Gräßlin
981e7afa96 [kwin/kcmrules] Call setupUi before accessing the ui widgets
This caused a crash with Qt 5.3 dev branch as the widgets are null
before setupUi is called. Might be a bug in Qt but still it makes
sense to first call setupUi and then do further changes to the Ui.
2014-01-30 10:39:40 +01:00
Martin Gräßlin
823222567e [kwin/kcmrules] Use a pointer for the KWindowInfo member variable
The reason for this change is that the default ctor of KWindowInfo
creates a broken object. Calling any method in it will result in a
crush. Thus it is scheduled for removal in kwindowsystem framework
causing this code to no longer compile.

The solution is to use a pointer and set it to null as long as the
window has not been detected yet. To ensure that this doesn't fail
badly an assert is added to the getter in DetectWidget.
2014-01-30 10:35:35 +01:00
Laurent Navet
d246518b9f KWin: kwinoptions: port to KF5
CMakelist ui port to KF5
clean unneeded #include

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
REVIEW: 115272
2014-01-24 14:15:34 +01:00
Laurent Navet
2fe4d47c15 KF5 port KButtonGroup -> QGroupBox
Replace deprecated KButtonGroup by QGroupBox

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
REVIEW: 114423
2014-01-22 08:27:44 +01:00
l10n daemon script
551c0c49e6 SVN_SILENT made messages (.desktop file) 2014-01-20 04:05:30 +00:00
l10n daemon script
588ad2be66 SVN_SILENT made messages (.desktop file) 2014-01-19 06:36:32 +00:00
l10n daemon script
22a5e1109f SVN_SILENT made messages (.desktop file) 2014-01-19 04:06:03 +00:00
Martin Gräßlin
544820793e And another KNS3 build fix 2014-01-15 21:21:31 +01:00
Martin Gräßlin
930a6b5e05 Ensure the KDE4Support KNS headers are not included
This should hopefully unbreak the Jenkins build.
2014-01-15 20:32:40 +01:00
l10n daemon script
eac8a41fed SVN_SILENT made messages (.desktop file) 2014-01-15 04:10:52 +00:00
l10n daemon script
45c3835fd7 SVN_SILENT made messages (.desktop file) 2014-01-14 07:28:35 +00:00
l10n daemon script
1f5b73941d SVN_SILENT made messages (.desktop file) 2014-01-14 04:06:51 +00:00
Matteo De Carlo
aad36da80b Replace NULL with nullptr in kcmkwin
Replacing all NULL to nullptr in all the files in kcmkwin folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 114803
2014-01-08 10:30:38 +01:00
l10n daemon script
723dce4e4c SVN_SILENT made messages (.desktop file) 2014-01-08 06:31:01 +00:00
l10n daemon script
ff562dc8bf SVN_SILENT made messages (.desktop file) 2014-01-08 04:01:27 +00:00
Martin Gräßlin
2837550cbb [kcm-kwintabbox] Add properties brightness and saturation to ThumbnailItem
This was missing from what is available in KWin core. The brightness and
saturation are implemented using a custom shader which uses the same
logic as what we use in the scene shader.
2014-01-03 16:54:07 +01:00
Martin Gräßlin
19d567ef7f [kcm-kwintabbox] Use QQuickItem for Thumbnail instead of QQuickPaintedItem
We are only rendering an image, so it's better to load the image into a
texture. This allows to properly scale the example preview which
magically fixes all the layouting problems which used to be there.
2014-01-03 14:10:17 +01:00
Martin Gräßlin
33921a9535 [kcm-kwintabbox] Add a debug message on failed QML loading
If the Layout Preview fails to load the Qml, at least show a debug
message to see what's going wrong.
2014-01-03 11:24:23 +01:00
l10n daemon script
938332b6ac SVN_SILENT made messages (.desktop file) 2013-12-23 06:26:56 +00:00
l10n daemon script
63165c870f SVN_SILENT made messages (.desktop file) 2013-12-23 03:57:54 +00:00
Mihail Ivchenko
26f390f4ed [kwin/kcm-tabbox] Implemented ExampleClientModel::longestCaption()
REVIEW: 114608
2013-12-22 12:38:05 +01:00
Martin Gräßlin
5339d28389 [kwin] Drop old kwincompositing KCM
It's going to be replaced by kwin-compositing-kcm, see
https://projects.kde.org/projects/playground/base/kwin-compositing-kcm
2013-12-16 13:27:56 +01:00
Martin Gräßlin
1d7ee61741 [kwin] Register QAbstractItemModel as a qml type in TabBox
It's needed if we don't import any Plasma components.
2013-12-16 11:48:41 +01:00
Laurent Navet
17d28f2639 KF5 port KTabWidget -> QTabWidget
Replace deprecated KTabWidget with QTabWidget

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>

REVIEW: 114465
2013-12-16 10:10:17 +01:00
Martin Gräßlin
2486e8e36e [kwin/kcmdeco] Add missing i18n call 2013-12-14 16:10:32 +01:00
Laurent Navet
2f62a2d1b8 KF5 Port KIntNumInput->QSpinBox
Replace deprecated KIntNumImput with QSpinBox

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>

REVIEW: 114413
2013-12-13 08:54:42 +01:00