QStateMachine was moved to qtsxml module, which is not ported to
Qt6 yet.
We use QStateMachine for the semantics it gives us, not because of
its implementation. The implementation is trivial, so do it outselves.
We used very little from QStateMachine.
You can drag a floating window and drop it somewhere
- Only works with segmented indicator style. Classical indicators
require us being able to positioning an overlay, which wayland
doesn't allow us to.
- Detaching inner tabs and dock widgets not implemented yet.
- polishing needed
Introduces StateDraggingWayland. Wayland is the alien, so don't want
to introduce hacks in the existing clean code.
StateDraggingWayland will deal with the wayland workarounds.
Although the impl only has placeholders for now I'm committing it
because it's already an improvement: broken detachment is no longer
possible. Detached windows were going to a random place on screen.
If there's some other floating window over our drop zone, then it's
very difficult to drop if there's no outter indicators.
Now we'll show the outter indicators if we suspect there's some other
window obscuring
Installed more private headers.
TabWidget_p.h was moved into widgets/ as the QtQuick impl won't
use that abstraction. Could even be folded into TabWidgetWidget.
Fixes#65