Sergio Martins
c30a266c01
Don't try to restore to previous position if there isn't any
...
(cherry-picked from commit 524dff9105 )
2022-06-19 00:14:33 +01:00
Sergio Martins
66b91c1de3
Make redocking floating windows with tabs possible
...
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
(cherry-picked from commit 0099a19a82 )
2022-06-19 00:09:21 +01:00
Sergio Martins
55620a5d10
TODO cleanup
...
Removed stale TODOs and promoted some to TODOm2 , as they should
be tackled next
2022-06-12 16:07:29 +01:00
Sergio Martins
61fb31b62a
tests: Move a qtquick only test to tst_qtquick
2022-05-31 15:05:27 +01:00
Waqar Ahmed
39c058cd29
Fix messageHandler installation for Qt backends
2022-05-30 20:28:44 +05:00
Sergio Martins
07fc7d0437
tests: Move waitForDeleted() into Platform
...
So each platform can implement their own.
Meaning old Testing.cpp can be deleted too.
2022-05-20 16:41:59 +01:00
Sergio Martins
cc1f75b1b3
tests: Move our message filter into Platform_qt
...
So it can be reused by other tests
2022-05-20 16:29:14 +01:00
Sergio Martins
be75247dba
tests: Remove some unused includes
2022-05-16 22:37:22 +01:00
Sergio Martins
6bc68fece8
tests: Remove instances of QTextEdit in tests
...
It's generic now
2022-05-16 22:30:57 +01:00
Sergio Martins
8372ffc0d7
tests: Remove all instances of QPushButton from tst_docks
...
Now uses generic alternatives that will work with other frontends too
2022-05-16 21:29:46 +01:00
Sergio Martins
721d344533
tests: Delete platform when test finishes
2022-04-29 15:47:54 +01:00
Sergio Martins
9dc53f9755
tests: Create the QApplication in Platform ctor
...
Other frontends won't use QApplication, and QtQuick might even use
just QGuiApplication eventually
2022-04-29 15:36:16 +01:00
Sergio Martins
099a9018df
Make it easier for tests to init the platform
...
Only a single static method is needed now, instead of 2.
2022-04-29 14:34:32 +01:00
Sergio Martins
d5cec9f5de
tests: Move QtWidget specific tests to tst_qtwidgets.cpp
...
Let's have less ifdefs
2022-04-19 19:07:57 +01:00
Sergio Martins
05deea3cd8
tests: Move some ifdefed code to their respective platforms
2022-04-19 17:44:36 +01:00
Sergio Martins
037140b980
Add KDDockWidgets::initPlatform()
...
Instead of using the static variable, which is initialized before
having QApplication.
Will allow us to remove the QTimer from Platform init
2022-04-11 00:55:28 +01:00
Sergio Martins
558bd42447
tests: Remove more QWidget dependencies
2022-04-07 00:49:36 +01:00
Sergio Martins
e593233b8f
Renamed views_qtwidgets/ into qtwidgets/views/
...
As there will be some files that are specific to QtWidgets and
but aren't views
2022-04-03 23:51:02 +01:00
Sergio Martins
27007184aa
Rename MainWindow.h to MainWindow_qtwidgets.h
...
Just like the other views.
2022-03-25 10:27:25 +00:00
Sergio Martins
7e2f448ae1
Moved MainWindowBase/MainWindow into controllers/view folder
...
This is just the move, not ported yet
2022-03-25 10:21:07 +00:00
Sergio Martins
c6d95c42a8
Split most widgets into a Controller and a View
...
Controllers don't have any GUI and don't depend on the frontend
technology.
Views are implemented in a specific GUI tech (QtWidgets, QtQuick, etc).
For now only QtWidgets work. There's still a lot to decouple.
This will make it easier to introduce non-Qt backends.
2022-03-24 16:05:37 +00:00
Sergio Martins
481dae64c3
nested_mdi: Fix floating windows not going back to their previous location
...
When floating a mdi window that was nested in a drop area, clicking the
float button should put it back to the MDI area.
2022-01-30 02:55:02 +00:00
Sergio Martins
d0dcac6b03
Make DockWidgetBase::setMDIPosition|setMDISize support nesting
...
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.
2022-01-25 20:14:04 +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
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
099c7eafc8
tests: Fix QtQuick tests
...
normal geometry isn't supported for QWindow, only QWidget.
2021-11-17 15:41:50 +00: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
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
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
Sergio Martins
3b9773f872
Add support for restoring minimized/maximized floating window state
2021-09-02 18:32:35 +01:00
Sergio Martins
d2a3968897
tests: Add tests for MainWindowOption_HasCentralWidget
2021-09-02 10:53:08 +01: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
362f2d5750
qtquick: Add a failing test for #215
2021-07-02 16:56:40 +01:00
Sergio Martins
18b49686f1
tests|qtquick: Remove the XFAIL, fixed by #211
2021-06-29 00:15:48 +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
Sergio Martins
517bfca259
Add a unit-test for issue #199
2021-05-23 12:20:20 +01:00
Sergio Martins
70ecdaf54c
Add a failing test for issue #196
2021-05-17 21:12:59 +01:00
Sergio Martins
2836edd32d
qtquick: Add a test to see that main window position is restored
...
Will improve it with QtQuick corner cases
2021-05-10 23:04:37 +01:00
Sergio Martins
ba0d515330
qtquick: Don't run tst_maxSizedFloatingWindow
...
We only support max-size constraints for QtWidgets, for now.
2021-05-02 00:19:47 +01:00
Sergio Martins
69154c0384
qtquick: Make setParent(nullptr) to hide the widget too
...
As done for QtWidgets.
Fixes a case where closing the dock widget wouldn't hide it.
As reported by Roman
2021-05-02 00:11:58 +01:00
Sergio Martins
9e42b11272
Minor coding styling
2021-04-29 18:15:45 +01:00
Sergio Martins
d289134b15
Add a unit-test for disabling RelativeFloatingWindowGeometry
...
Fixes #175
2021-04-28 21:27:47 +01:00
Sergio Martins
66d12fef82
fix build
2021-04-27 23:56:58 +01:00
Sergio Martins
9d7de9ea4d
Fix sizing of widgets that skip LayoutSaver's restore
...
LayoutWidget::onResize() was bailing out early, but the actual
restore hadn't even started
2021-04-23 19:39:07 +01:00
Sergio Martins
b330f902fd
tests: Move class into the header
...
File is getting too big
2021-04-23 18:03:49 +01:00