Sergio Martins
68e01c70ee
nested mdi: Delete wrappers once we close the last nested DW
2022-01-23 21:46:37 +00:00
Sergio Martins
296b2a3370
nested mdi: Fix MDI's frame title not being updated
...
Before we didn't need to update it because there was only 1
dock widget. But now, if there's more than one we need to set the
application's name instead of the dock widget's name as title.
2022-01-23 21:46:37 +00:00
Sergio Martins
65ced9604f
nested mdi: Fixed title bar visibility
...
When there's only one docked widget we only show 1 title bar.
Just like happens with a FloatingWindow
2022-01-23 21:46:37 +00:00
Sergio Martins
8c8f5a8fda
Introduce Option_MDINestable
...
Should allow MDI dock widgets to also accept drops.
Befor, each MDI "window" only had 1 dock widget, but now each
MDI "window" a layout of dock widgets.
This is implemented by nesting the actual dock widget inside
a wrapper drop area. This drop area gives the drop support.
There's still bugs and more tests to fix before merging.
2022-01-23 21:46:37 +00:00
Allen Winter
2fbe4f872e
Merge branch '1.5'
2022-01-20 08:15:23 -05:00
Allen Winter
93e60a743e
update copyright year
2022-01-20 08:05:26 -05:00
Sergio Martins
37567d3980
Introduce MDIArea, a widget that can host MDI dock widgets
...
This is a public wrapper to MDILayoutWidget. The latter is private
and has internals we don't want to expose. Instead create a public
class with a thin API.
You no longer need to create a MainWindowMDI to have MDI support.
You can now have a normal MainWindow (with normal docking) and
add some dock widget that as a MDIArea as widget.
2022-01-07 17:13:16 +00:00
Sergio Martins
6cef4cea2c
Port frameParent() to firstParentOfType()
2022-01-07 14:59:33 +00:00
Sergio Martins
aea2bf971b
Add TestDocks::tst_mdi_mixed_with_docking
...
Tests that we can dock a MDI Layout.
Meaning the main window would support both docking and MDI.
This basic test passes. But there's still a lot of bugs to fix
2022-01-07 12:50:25 +00:00
Sergio Martins
c8b22e7ea5
Fix "Unpin" button not showing up in overlayed widgets
2021-11-18 12:15:23 +00:00
Sergio Martins
8dcaaaf853
tests|Qt6: Ignore benign warning coming from QQC material style
...
Needs to be fixed in Qt
2021-11-17 17:00:16 +00:00
Sergio Martins
099c7eafc8
tests: Fix QtQuick tests
...
normal geometry isn't supported for QWindow, only QWidget.
2021-11-17 15:41:50 +00:00
Sergio Martins
f872d6fbc1
tests: Fix issue found by ASAN
...
We need to ungrab the window before deleting it.
2021-11-17 15:12:06 +00:00
Sergio Martins
a5f37f851b
Fix relative inner resizing not working properly
...
When we resize the main window then we also resize the inner
dock widgets in the same proportion (based on saved percentages),
during a resize we should not recompute those percentages due to
rounding errors.
They were being recomputed by mistake, since only the root Item
was blocking them, but the function recurses into inner items
Fixes #186
2021-10-13 18:33:45 +01:00
Sergio Martins
052d8680dc
Add a test for #186
...
Was hard to reproduce, doesn't happen with many other layouts
2021-10-13 15:37:02 +01:00
Sergio Martins
21e8aae823
Add a test for #238
...
Which I can't reproduce yet, but at least tests another case.
2021-10-12 18:36:50 +01:00
Sergio Martins
a8bd6ba840
Fix corrupt layout when restoring old JSON
...
If the old *.json file doesn't know about some new docked widget
then we need to float it before restoring the main window
Fixes #237
2021-10-12 11:16:15 +01:00
Sergio Martins
96aefdd3c7
Make tst_restoreNonExistingDockWidget more minimal
...
dock1 isn't required
And it's ok that dock2 remains open, the bug is actually that it
doesn't get resized when we resize the main window
2021-10-11 00:50:53 +01:00
Sergio Martins
753fe57b30
Add a failing test for bug #237
2021-10-11 00:25:10 +01:00
Sergio Martins
9587c1b1e3
Add a test for issue #245
...
I can't repro still. Will wait for more feedback from reporter.
2021-10-10 19:32:27 +01:00
Allen Winter
463dd2261e
various - spelling fixes
2021-09-28 16:45:44 -04:00
Sergio Martins
33c5647e57
Don't create duplicate central frame with restoring
...
When using MainWindowOption_HasCentralFrame we have a persistent
central frame which is never destroyed. When restoring a layout
we shouldn't create it, as it exists already.
2021-09-20 12:26:45 +01:00
Waqar Ahmed
8307598d5d
tests: Fix tests, only repro in some distros
2021-09-11 12:17:50 +01:00
Sergio Martins
fafc0b7946
Fix "normal geometry" not being restored
...
When restoring a maximized window, calling QWidget::showNormal()
on it wouldn't set it's previous non-maximized size.
QWidget::normalGeometry() doesn't have a setter, so use private API.
2021-09-04 19:59:03 +01:00
Sergio Martins
3b9773f872
Add support for restoring minimized/maximized floating window state
2021-09-02 18:32:35 +01:00
Sergio Martins
a0c97e3388
Fix layout save restore when using MainWindowOption_HasCentralWidget
...
Those checks don't make sense anymore
2021-09-02 11:05:57 +01:00
Sergio Martins
d2a3968897
tests: Add tests for MainWindowOption_HasCentralWidget
2021-09-02 10:53:08 +01:00
Allen Winter
d40580c550
buildsystem - rename QT_MAJOR_VERSION to Qt_VERSION_MAJOR
...
as this is consistent with CMake style and other projects
2021-08-04 16:18:31 -04:00
Allen Winter
3940228b59
various cmake files - minor coding style
2021-07-16 09:18:03 -04:00
Sergio Martins
34676f016f
qtquick: Blacklist a Qt6 test
...
Works fine manually.
Qt6 refactored input event handling, which broke our Tests::doubleClickOn(QWindow).
2021-07-15 23:50:06 +01:00
Sergio Martins
4448891315
tests: Increase timeout when trying to active dock widgets
...
When running with ASAN everything is slower.
Added a warning to tests fail sooner if this happens.
2021-07-15 20:50:58 +01:00
Allen Winter
22a709a39e
fix more misspellings
2021-07-15 10:14:04 -04:00
Sergio Martins
8800c02403
Fix persistent central frame becoming invisible
...
Wouldn't affect functionality but would have a different color.
Fixes #220
2021-07-13 08:19:05 +01:00
Sergio Martins
4b06706d61
Port away from deprecated QWidget::isTopLevel()
...
Fixes Qt6 warnings about it
2021-07-10 07:18:27 -07:00
Sergio Martins
a6e62ec74d
qtquick|tests: trying to stabilize a test in CI
...
Can't repro locally.
2021-07-10 13:44:15 +01:00
Sergio Martins
330f5aebdf
cmake: Add -Wundef
2021-07-09 22:26:01 +01:00
Sergio Martins
54233085a4
tests: Add a warning to the blacklist
...
Don't abort on:
"Populating font family aliases took"
2021-07-03 21:51:02 +01:00
Sergio Martins
f9f270980d
tests: Fix flaky test
...
The center indicator isn't exactly at the center of the window,
so this would fail sometimes. This is a quick workaround.
Will all API to the dock indicator interface if this isn't enough.
2021-07-03 10:46:26 +01:00
Sergio Martins
d3d040adee
qtquick: Fix tab current widget being wrong when current is removed
...
When the current dock widget is removed we need to assign another
one. QTabBar does this automatically.
Fixes #215
2021-07-02 22:54:20 +01:00
Sergio Martins
362f2d5750
qtquick: Add a failing test for #215
2021-07-02 16:56:40 +01:00
Sergio Martins
701df72db6
Remove some ifdefs regarding 5.9
...
The one missing QT_VERSION_CHECK was even wrong and triggering
even with Qt 5.15.
2021-07-01 16:54:44 +01:00
Sergio Martins
18b49686f1
tests|qtquick: Remove the XFAIL, fixed by #211
2021-06-29 00:15:48 +01:00
Sergio Martins
2fe8117e80
tests: Add a QVERIFY
2021-06-28 23:46:58 +01:00
Sergio Martins
89623eb8b4
tests|qtquick: Add a test for weirdness reported in #211
...
Not the exact issue from #211 , but more tests will follow
2021-06-28 22:27:11 +01:00
Eism
0ab701bab6
qtquick: Fix detecting top level geometry
...
For QtQuick we want the QWindow geometry. For QtWidget it just works,
as the top level widget as the same geometry as the window, unlike
QQuickItem.
Fixes issue #199
2021-05-24 11:45:37 +01:00
Sergio Martins
1721415799
Fix more warnings at shutdown
2021-05-23 22:42:26 +01:00
Sergio Martins
675da6b2e2
qtquick: Fix test on linux
...
Querying drop indicator doesn't work if indicator window
isn't visible, so actually do a full drag.
For issue #199
2021-05-23 22:06:05 +01:00
Sergio Martins
517bfca259
Add a unit-test for issue #199
2021-05-23 12:20:20 +01:00
Sergio Martins
b981fc4b7d
qtquick: Fix tst_dockWindowWithTwoSideBySideFramesIntoCenter()
...
Moving windows around is async for QtQuick and needs a wait
2021-05-20 22:44:58 +01:00
Sergio Martins
4b2f268921
qtquick: fix tst_positionWhenShown on Windows
2021-05-20 22:44:26 +01:00