Move the WindowBasedEdge into the X11 platform and create Edge through Platform
ClosedPublic

Authored by graesslin on Apr 15 2016, 12:46 PM.

Details

Summary

Remove the AreaBasedEdge class

No difference to Edge.

Add ::window() and ::approachWindow as virtual methods to Edge

This allows to no longer needing to dynamic cast the Edge to
WindowBasedEdge for the X11 specific event handling.

Create screen edge through the Platform

Removes a diversion between X11 and Wayland. The base class Platform
creates an instance of class Edge with plugin implementations being
able to create a different type.

The X11StandalonePlugin does that and creates a WindowBasedEdge. For
this the implementation of WindowBasedEdge is moved from screenedges
into the plugin.

Unfortunately an ifdef is needed to make the screenedge test still
work as expected. This should be improved in future, e.g. have a good
way to load the platform plugin from the tests.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 3356.Apr 15 2016, 12:46 PM
graesslin retitled this revision from to Move the WindowBasedEdge into the X11 platform and create Edge through Platform.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added a reviewer: Plasma.
Restricted Application added a project: Plasma. · View Herald TranscriptApr 15 2016, 12:46 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart accepted this revision.Apr 19 2016, 7:59 AM
mart added a reviewer: mart.
This revision is now accepted and ready to land.Apr 19 2016, 7:59 AM
This revision was automatically updated to reflect the committed changes.