Commit Graph

1038 Commits

Author SHA1 Message Date
Sergio Martins
ae5cf1d723 More renaming of "frame" to "group" 2022-06-23 16:01:43 +01:00
Sergio Martins
bc767cefac Rename asFrameController to asGroupController 2022-06-21 17:32:38 +01:00
Sergio Martins
0aec6dfdb1 Rename more frame variables to group 2022-06-21 17:31:28 +01:00
Sergio Martins
9469273c7a Rename "frame" variables to "group" 2022-06-21 17:12:11 +01:00
Sergio Martins
fe7a8d450c Rename Frame class to Group 2022-06-21 16:34:20 +01:00
Sergio Martins
73d627554a Remove Frame.h/cpp to Group.h/cpp
It's a better name.
Files only for now. Contents will come in a followup.
2022-06-21 08:51:52 +01:00
Sergio Martins
4fa43c7ba1 Make numSideBySide_recursive() ignore invisible items
We have invisible items that just remember the position of
other items.

(cherry-picked from commit 9f96eff663)
2022-06-19 14:37:06 +01:00
Sergio Martins
7b4e04703d Added MultiSplitter::numSideBySide_recursive()
(cherry-picked from commit f5622732ce)
2022-06-19 13:52:30 +01:00
Sergio Martins
08518e02e0 various - fix some misspellings
(cherry-picked from commit f3da0f0547)
2022-06-19 13:00:06 +01:00
Sergio Martins
f8b1745c68 Forward QCloseEvent to the MDI widgets too
Fixes case where docked MDI widgets were not able to block a close

(cherry-picked from commit 61cca1e5ec)
2022-06-19 00:56:42 +01:00
Sergio Martins
30f43d7579 Fix MainWindow not propagating close events to docked widgets
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.

(cherry-picked from commit 7db9938b85)
2022-06-19 00:46:49 +01:00
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
d5e46dff31 MDI: Fixed closing dock widget in MDI would close main window
We only close the window when the window is a FloatingWindow and
it's the last frame

(cherry picked from commit 86419fd979)
2022-06-18 23:37:02 +01:00
Sergio Martins
2faecc68c0 Don't build the "Fuzzer"
It hasn't been needed in a long time.
I'll enable it once it's needed. Build needs fixing though
2022-06-18 19:48:19 +01:00
Sergio Martins
60c6ffaabb Rename MDIArea class to MDIArea_qtwidgets
To match the filename now
2022-06-18 18:15:19 +01:00
Sergio Martins
408fe315ed Rename MDIArea.h to views/MDIArea_qtwidgets.h
As done for all other views. This one was missing
2022-06-18 17:51:19 +01:00
Sergio Martins
1b0bae7780 Don't include Window.h in DockRegistry.h
As the latter is installed while the former is not.
Window.h depends on KDBindings so would rather not require it publically.
2022-06-18 13:06:29 +01:00
Sergio Martins
7017ce8396 Move KDBindings usage from View.h to View_p.h
KDBindings is implementation detail. User won't have to install
it, at this point.
2022-06-18 12:15:42 +01:00
Sergio Martins
e63a34a4a5 Rename DockRegistry_p.h -> DockRegistry.h
People use it.
2022-06-18 09:28:03 +01:00
Sergio Martins
8be6183543 Include cleanup
Removed unneeded controllers/ includes from headers
2022-06-18 09:15:30 +01:00
Sergio Martins
26ba2199cb Moved 2 more DockWidget enums to KDDockWidget.h
So users don't have to include controllers/DockWidget.h
2022-06-18 08:16:16 +01:00
Sergio Martins
a609f2233b Move DockWidgetOption enum to KDDockWidget.h
controllers/DockWidget.h is not something users will include directly
2022-06-18 00:27:58 +01:00
Sergio Martins
01b2bbc11c Rename "persistent widget" to "persistent view" 2022-06-15 19:27:04 +01:00
Sergio Martins
e6dd002ca8 qtquick: Rename MainWindowLayout to DockingArea
Since it's not an actual Window, it's just a QQuickItem. QtQuick has
proper Window items that mean an actual Window.
2022-06-15 00:27:41 +01:00
Sergio Martins
627b6a1593 qtquick: Bump qml imports to 2.0 2022-06-15 00:15:44 +01:00
Sergio Martins
755bc6ac14 cmake: Don't add src/ to include path
Fully qualify includes instead
2022-06-14 16:57:22 +01:00
Sergio Martins
a4d337e891 Fully qualify header paths when including controllers
so this still works when private headers are installed
2022-06-13 23:24:43 +01:00
Sergio Martins
3ab3076263 Fix some low hanging TODOs 2022-06-13 02:37:03 +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
c12da6b6d5 cmake: Don't link against QTTest in release builds 2022-06-12 14:51:57 +01:00
Sergio Martins
ab2b481a80 cmake: QtQuick frontend no longer needs to link against QtWidgets 2022-06-12 14:43:17 +01:00
Sergio Martins
fb844bc989 Don't use QAction directly
In prepartion for qtquick frontend not needing QtWidgets
2022-06-11 18:48:37 +01:00
Sergio Martins
1acbf48786 Don't depend directly on QSizePolicy, as that's QtWidgets
Introduce our own enum. Soon our qtquick frontend won't link
against QtWidgets
2022-06-11 18:22:38 +01:00
Sergio Martins
e120f6f318 tests: Fix windows tests regarding frame pos vs client pos confusion
It's also more readable now.
Might break on linux though, will need to investigate further if that's
the case. In many cases it's just a timing issue, as some platforms are
"more async" than others to add frame
2022-06-11 16:17:10 +01:00
Sergio Martins
29fd6f4a40 qtquick: Fix binding loops
This also restores behaviour with v1.x regarding setParent
2022-06-11 14:03:41 +01:00
Sergio Martins
6aed1508af tests: Don't run tst_qtwidgets if only qtquick tests were specified 2022-06-11 12:38:57 +01:00
Sergio Martins
1070cbce87 tests: Remove unneeded test skipping on Qt < 5.15
Minimum is 5.15 nowadays
2022-06-10 23:12:10 +01:00
Sergio Martins
cfd90b6779 tests: Enable tests for QtQuick as they pass now 2022-06-10 19:25:37 +01:00
Sergio Martins
8e85e46ee9 tests: Make the view min size be the same as it was in 1.x 2022-06-08 19:02:01 +01:00
Sergio Martins
118fe3d32e qtquick: Fix guest view not getting parented when getting added
To be improved on milestone 3
2022-06-08 12:22:57 +01:00
Sergio Martins
3c13f51017 tests: Also resize the view, not only the window when creating main window
Both are needed. This is how it worked in v1
2022-06-07 00:24:38 +01:00
Sergio Martins
31992dcb83 tests: Fix tst_honourGeometryOfHiddenWindow on XCB
The suggested height should be smaller than the floating window
min-size.
2022-06-06 23:35:31 +01:00
Sergio Martins
a5ecfbdd91 tests: Fix createMainWindow having different behavior between frontends 2022-06-06 23:03:53 +01:00
Sergio Martins
0929fb1c75 qtquick: Fix showing qtquick window not setting the root item visible 2022-06-06 15:43:53 +01:00
Sergio Martins
5faf36700b Use qGuiApp instead of qApp
As QtQuick applications might not have QApplication.
2022-06-06 13:24:38 +01:00
Sergio Martins
eb198736b8 qtquick: Fixed drag indicators not working on main window
ViewWrapper::asDropArea() was dummy. Will remove it.
2022-06-06 10:23:48 +01:00
Sergio Martins
e8f390f2ad tests|qtquick: Don't create lots of spurious QQuickView
Most of the times we just want to create a dock widget which
will be parented immediately, we don't need the window.
2022-06-06 10:13:19 +01:00
Sergio Martins
7e3a82ed3e qtquick: Fix setting of transient parent window
We need to go through Window, not through View.
This even makes things cleaner, as parentView() shouldn't go across
window boundaries. That's the case for QtWidgets but it's not consistent
with QtQuick. Our View abstraction has saner rules
2022-06-05 14:12:22 +01:00
Sergio Martins
ce88a00b4b tests: Don't enable these qtquick tests yet
Was commited by mistake
2022-06-05 01:14:32 +01:00