It was a way to speed up test execution, but at the expense of
being weird and non-standard. It would block tst_docks from appearing
as qttest with children, as tst_docks wasn't passed to add_test.
Solution will be to instead split tst_docks into smaller executables,
which was done in 2.0 branch already.
Not worth maintaining, as the layouting code is mature now.
Was useful when we had flaky code for layouting, but that has since
been rewritten.
Reducing maintenance burden.
Since the layout is nested, we need to look further for the main window.
I don't know however if restoring layouts even works with MDI.
Needs to be tested and implemented.
It's not supported but it shouldn't crash.
For #352, leaving it open still, as the reporter actually experiences
an assert, not a segfault. To be investigated further
1.7 introduced per-floating-window "flags" in the saved layouts. When
that value is not present in the saved layout, we need to fallback from
reading from Config global settings
Usually, it's closed. "delete" isn't very well tested.
When it's deleted the container item becomes empty, so needs
to be resized to QSize(0,0) as well.
There's already a codepath for that but was too restrictive.
It now handles that case too.
Fixes#336
If the factory returned null for some dock widget, then the layout
would have holes. They need to be turned into placeholders, which
will be invisible.
Move the test into the QtWidgets guard. There's no point in making
it agnostic, since the bug is in the layouting.
Nested FloatingWindows already supported it, so make it consistent.
Personal take: In a non-docking world, users can override their
main window close event and prevent a close, to save a document
or such. However, in a docking world, the main window developer
won't know which widgets are docked, so forwarding needs to happen,
as some might have documents to save.
TitleBar::isFloating() was returning false, while it should
have returned true.
Fixed by making isFloating() simpler and dumb. isFloating() should
only say if it belongs to a floating window or not. It shouldn't
contain any logic about whether button should be visible or not.
There's already logic elsewhere that will hide the float button
in case there's nesting.
Fixes issue #96 and #44
They now honour Option_MDINestable.
Before they would bail out assuming they weren't in a MDI area.
Now they look further up the hierarchy to find our MDIArea, if any.
Dragging was always detecting the main window's drop indicator
overlay. Make it transparent for mouse events, so that
QWidget::childAt() doesn't pick it, and we can see the inner
drop areas.