Commit graph

633 commits

Author SHA1 Message Date
Sebastian Kügler
999baabcfa [kwin] Streamline Comment fields of KCMs
This patch applies a common language and type-setting to the
systemsettings modules in kwin.

Considerations:
- The comment field might repeat the name, or give more detail about the
  specific settings on this page, this makes sense with how
  systemsettings and kcmshell present it
- Mentioning the words settings, configure, options, etc. is avoided --
  it is clear from the context that these are settings and options.
- Title-case throughout in line with human interface guidelines, see
  http://techbase.kde.org/Projects/Usability/HIG/Capitalization
- The comment ends up being the title, so the
- tech slang is avoided as much as possible, but left in where really
  necessary
- I've left the Name field "mostly untouched", as that one is key for
  the user to find the right module in systemsettings' icon view and in
  the sidebars

The most prominent change is "Compositor" to "Graphics Compositor" (in
the Title field). This is more like a "suggestion", if you don't like
it, I'll take it out again. Reasoning: "Compositor" is a very technical
term, people who know graphics might recognize it. Others might not
understand that "composite" is about graphics -- hence the
specialization. Please enter the commit message for your changes. Lines starting

REVIEW:118338
2014-06-04 13:31:33 +02:00
Martin Gräßlin
c16472e535 [kcmkwin/compositing] Use a classic ui file for the Compositor settings
For a classic user interface like the advanced compositor settings the
good old widgets are still better suited than the new QuickControls.

REVIEW: 118273
2014-06-02 14:58:00 +02:00
Martin Gräßlin
b259dda336 [kcmkwin/compositing] Carry the changed argument in the changed signals 2014-06-02 14:58:00 +02:00
l10n daemon script
b70107b463 SVN_SILENT made messages (.desktop file) 2014-06-01 08:11:53 +00:00
Martin Gräßlin
7292938520 [kcmkwin/compositing] Improve initialization of kdeclarative
We need kdeclarative for i18n support. This needs to be done before we
load the source. By that we don't need to import Plasma.Core which isn't
used by the views at all.

Also we don't need to link twice against declarative.
2014-05-26 11:34:40 +02:00
Martin Gräßlin
39d7ac71c2 [kcmkwin/compositing] Accept StrongFocus on the QuickView's WidgetContainer
This ensures that we can tab to the UI written in QtQuick. Unfortunately
it doesn't get initial focus, which seems to be a general problem of
KCMShell (QWidget based KCMs also do not get focus) and it's not possible
to tab out of quick ui again.

BUG: 335195
2014-05-23 11:20:45 +02:00
Martin Gräßlin
9292b7e475 [kcmkwin/compositing] Accept focus on the EffectView
This allows keyboard navigation with cursor keys in the list view.

CCBUG: 335195
2014-05-23 11:10:17 +02:00
l10n daemon script
979071a44c SVN_SILENT made messages (.desktop file) 2014-05-23 08:15:19 +00:00
Martin Gräßlin
0532280689 [kcmkwin/compositing] Switch Text to Label
BUG: 335193
REVIEW: 118262
2014-05-22 17:09:46 +02:00
Martin Gräßlin
8ea5792677 [kcmkwin/compositing] Improve the spacing in the Effects list
Spacing needs to be specified on the ListView instead in the delegate.
This fixes incorrect vertical alignment of the buttons in each row.

In addition a proper background is set on the ScrollView.

CCBUG: 334372
REVIEW: 118260
2014-05-22 16:40:26 +02:00
Martin Gräßlin
45f1060da0 [kcmkwin/compositing] Set a maximumWidth on the text elements in Effect
By properly setting Layout.maximumWidth the buttons are not moved out of
the layout. Instead the text wraps to a new line.

BUG: 335078
REVIEW: 118222
2014-05-22 15:38:12 +02:00
l10n daemon script
203d043a09 SVN_SILENT made messages (.desktop file) 2014-05-16 08:23:41 +00:00
Martin Gräßlin
220c3caf14 [kcmkwin/compositing] Fix storing of PluginEnabled states
BUG: 334812
2014-05-15 17:10:40 +02:00
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
5e1e58d197 Enable i18n for kwincompositing
Was missing Messages.sh, extracts from cpp and qml.

REVIEW: 117892
2014-05-05 08:04:00 +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
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
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
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
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