We don't have access to the margins specified in anchors resulting in
incorrect thumbnail position. To fix this we need to create a dummy item
which does the anchoring and the thumbnail needs to just be an
anchors.fill: parent.
REVIEW: 118113
Simplifies the code quite a bit by no longer needing an extra item for
the selected caption.
As a nice side effect it fixes a binding loop.
BUG: 334537
REVIEW: 118112
A new config option "GLPlatformInterface" is added to the Compositing
settings group. Valid values are "glx" and "egl". This config option is
honored by the Scene to decide which backend to create.
The setting gets sanitized by the operation mode (egl for Wayland),
the environment variable KWIN_OPENGL_INTERFACE and the compile time
support. These switches are removed from the Scene to not have them
duplicated.
The used platform interface is passed to the ::detect method as an
argument. The value is now cached in the GLPlatform instance so that
there is an easy way to figure out which platform interface is currently
used.
The hack to get the model data from the currently selected item to the
areas outside the list view apparently broke in Qt. Now we have to export
the model data elements we actually use.
BUG: 334478
REVIEW: 118047
Only used for the delayedMoveResizeTimer as timeout slot. Code is small
so a lambda makes more sense. At the same time the code is slightly
improved to ensure that startDelayedMoveResize is never called while
the timer is already active.
This means that mousePressEvents are now required to come from the
decoration.
REVIEW: 117843
We failed to implement the TODO for all of KDE4, so maybe it's a sign
that we can remove it. Also fixes two warnings:
comparison between 'enum KWin::Rules::ForceRule' and
'enum KWin::Rules::SetRule' [-Wenum-compare]
REVIEW: 117848
Also with QWindow based decorations the event filter is needed to
properly react on mouse button release and mouse move. Those are not
passed through KDecoration unlike the button press.
The event filter is adjusted to handle both filters installed on QWidget
and QWindow while QWindow only gets to see a subset of the events.
This fixes mouse interaction in Aurorae.
REVIEW: 117879
Uses Xcb::WindowAttributes and Xcb::WindowGeometry instead of XLib
variant. In addition it uses the XServerGrabber to ensure that the
xserver grab is removed in all code paths.
A new macro is added to utils.h to make the grabbing of XServer in
current context more obvious.
Setting the ApplicationDomain to kwin, both use the kwin catalog.
The left-over code for catalogs is removed. Note for adjustments:
* scripting doesn't provide an own catalog
* scripts are extracted but there are no scripts with i18n