Skip to content

Move popups away from Dialog, introducing new semantic window positioning

David Edmundson requested to merge work/d_ed/dialog_popups into master

This merge requests introduces two new classes.

PlasmaPopupWindow: This is a Plasma Themed window positioned relatively to another item in another window. Processing the move is batched and happens in sync with the rendering.

TransientPlacementHint: The API for this class maps closely to the wayland xdg_positioner. We specify the position semantically and using code similar to kwin's position the window obeying relevant constraints.

For now on both platforms this then maps to a global co-ordarinte that we move the window to, longer term the wayland side can use the positioner directly.

These will both be re-used for Applet popups.

There are some minor behavioural differences introduced in this MR:

  • Popups are resized to the tooltip's implicitSize
  • ToolTipDialog loses all (hopefully) irrelevant properties from Dialog
  • ToolTipDialog changes from having a "location" property to a "popupDirection"

TooltipArea is untouched, so clients shouldn't have to change

Merge request reports