Where possible it is changed to Cursor::pos(), where we cannot use the
Cursor class (e.g. Aurorae) we can at least try to limit the usage to
prevent roundtrips to the X server.
REVIEW: 109178
The Borders element provides the four properties:
* left
* right
* top
* bottom
And is used directly in Decoration for all the different kind of settings
following this pattern:
* normal borders
* maximized borders
* padding
* extended borders
These properties replace the existing used borderLeft & co. This makes
the code in the C++ side easier as the various border elements can now be
read with a shared implementation.
The Borders provide some convenient methods to set the sizes of the
borders. E.g. it's possible to just set the side borders to a specific
value. This should simplify the implementation of the no-side-borders
feature in new decoration.
The aurorae qml and plastik are adjusted to use the new way. Existing
3rd party decorations would break, but there's a good reason why there's
no documentation for QML based decorations ;-)
REVIEW: 108436
BorderNoSides is what is known from Oxygen as "No Side Borders". The name
should indicate that there is only a border at the bottom. BorderNone is
a mode with no borders at all.
The new enums are added to KDecoration and the KCM so that all decos can
make use of it.
Aurorae is adjusted to support the new sizes for QML themes (it breaks
the old svg based themes) and Plastik makes use of it, by rendering a
one-pixel border around the window, which illustrates that it's still up
to the decoration to decide how to make use of the setting.
REVIEW: 108164
Fixed krazy warning about invalid ifdef guard in include
Fixed Krazy warning about signal/slot normalization.
fixed Krazy spelling warning in comments.
Removed x10 multiplicative factor when rendering shadow;
added x10 mutiplicative factors for config UIs with respect to what's actually saved in config
file;
remove kconfupdate for shadowoffset.
- move Shadow configuration UI to libs
- removed useDropShadow and useOxygenShadow options, and replaced by activeShadow::enable and inactiveShadow::enable
- use kcfg for decoration configuration. The handling of exceptions requires dedicated readConfig and writeConfig methods, implemented in oxygenutils
- changed sizegrip combobox into a check box and rephrased for clarification
Aurorae Themes can make use of the extended borders feature to allow
resizing outside the window decoration area. So far only Plastik makes
use of it in the Tiny border case.
This should be extended in future by adding generic NoSideBorders and
NoBorders sizes as used by Oxygen.
FEATURE: 308992
FIXED-IN: 4.11
REVIEW: 107936