Commit Graph

2028 Commits

Author SHA1 Message Date
Sergio Martins
8cffba3e22 Merge branch '1.1' into master 2020-10-19 21:25:39 +01:00
Sergio Martins
8f62004f5b cmake: Remove QTQUICK option for 1.1
Leave it in master only.
2020-10-19 21:23:44 +01:00
Sergio Martins
4fff6edb7b qtquick: Port another test 2020-10-19 21:03:47 +01:00
Sergio Martins
64cff4ba49 qtquick|tests: use auto instead of QPointer<QWidget> 2020-10-19 21:00:18 +01:00
Sergio Martins
ce3c4d5661 qtquick|tests: pass parent to main window
Those tests pass now
2020-10-19 20:58:00 +01:00
Sergio Martins
5f333f0934 qtquick: port more tests 2020-10-19 20:53:40 +01:00
Sergio Martins
f70722934c qtquick: Port more tests 2020-10-19 20:47:09 +01:00
Sergio Martins
b9eb9f10d4 qtquick: Port more tests 2020-10-19 20:26:09 +01:00
Sergio Martins
6f89d94eef qtquick: Emit Frame::layoutInvalidated() when needed
When min/max size changes it needs to be emitted, so layout
notices
2020-10-19 20:06:29 +01:00
Sergio Martins
3a494d706a qtquick: Implement missing QWidgetAdapter::floatingWindow() 2020-10-19 19:05:10 +01:00
Sergio Martins
2ffbe07bcf Updated README-Wayland.md 2020-10-19 11:46:22 +01:00
Sergio Martins
371fd361a8 Detach when double-click on tab bar background, if no title bar
When a title bar isn't visible, we need a way to detach an entire
group of tabs by double clicking, required for wayland.

Implemented for all platforms, as it makes sense
2020-10-19 11:42:39 +01:00
Sergio Martins
97416607e5 qtquick: Allow to set min-sizes on items 2020-10-18 23:27:10 +01:00
Sergio Martins
51ccbe7c7c Move TabBar::detachTab() to Frame
As the code doesn't have anything specific to QTabBar.
Means QtQuick can reuse it without needing a TabBarQuick.

tst_crash now passes for QtQuick too
2020-10-18 23:07:13 +01:00
Sergio Martins
65599399c7 qtquick: port a bunch of tests 2020-10-18 22:23:51 +01:00
Sergio Martins
c0816d4924 qtquick: Fix tst_negativeAnchorPosition5
min sizes weren't bounded
2020-10-18 21:58:46 +01:00
Sergio Martins
2988e97e14 qtquick: Fix build 2020-10-18 20:29:44 +01:00
Sergio Martins
046ceae500 Remove unneeded null check from DropArea::drop() 2020-10-18 12:31:04 +01:00
Sergio Martins
33c0cda582 Minor readability, just call setWindowBeingDragged(true)
It's always true here.
2020-10-18 12:28:10 +01:00
Sergio Martins
df7acc1075 Added README-Wayland.md to explain some differences
Fixes issue #10
2020-10-17 12:30:57 +01:00
Sergio Martins
3859e4b277 Added Wayland to the README 2020-10-17 12:18:05 +01:00
Sergio Martins
26253b65c7 wayland: Silence warning about qpa not supporting activating
"qt.qpa.wayland: Wayland does not support QWindow::requestActivate()"
2020-10-17 12:13:58 +01:00
Sergio Martins
424453ab57 Double clicking on a tab will make it float
Also really required for Wayland, where we don't another way to
float a single tab, as the float button affects all of them.
2020-10-17 12:09:47 +01:00
Sergio Martins
d7de0ebd20 Updated ChangeLog
- Added wayland for 1.2, it's done. Might need more polishing.
- Removed 1.0.1, let's release 1.1 instead
- Moved QtQuick to 1.3. The december target is still there, but I want
to release 1.2 sooner, since the wayland support is done.
2020-10-17 11:44:45 +01:00
Sergio Martins
bf1c5140cd Wayland: Fix another missing mapToGlobal
Hovering indicators was fine, but dropping was off by a few pixels
vertically due to the menu bar
2020-10-17 11:41:19 +01:00
Sergio Martins
fb7a35db5b Wayland: Fix indicator hover being off
Drag events are in local coords, while DropArea wants it in
global
2020-10-17 11:05:56 +01:00
Sergio Martins
5872c2fbe3 Wayland: Support classical indicators too
The Indicator Window is top-level, but on Wayland that can't do,
as we have no way to position it. So parent it. The indicators
are now under the window being dragged, but that's no so bad, as it's
smi-transparent, so you still see the indicator.
2020-10-17 11:02:49 +01:00
Sergio Martins
ba04c70d5a Minor code re-ordering 2020-10-17 10:30:26 +01:00
Sergio Martins
de1e2d301f wayland: Support affinities too 2020-10-17 10:27:43 +01:00
Sergio Martins
b67bdf779e Don't dereference windowBeingDragged->floatingWindow()
Add a level of indirection instead, and support for the wayland case
2020-10-16 23:06:30 +01:00
Sergio Martins
78a3221395 Merge branch '1.1' into master 2020-10-16 22:05:14 +01:00
Sergio Martins
f698b56dad relax test
Seems to happen with 5.15 static. It's benign anyway
2020-10-16 22:02:45 +01:00
Sergio Martins
4ed18fdf1d Introduce Config::setTabbingAllowedFunc(<lambda>)
This gives a lot of power to the user to disallow tabbing two dock
widgets, while still allowing them to be docked side by side. As
this can't be achieved with affinities.

Instead of adding API which might not be enough soon, just allow
the user to pass a lambda and implement his very custom requirement.

Fixes #91
2020-10-16 21:56:33 +01:00
Sergio Martins
6e05f13c77 Added FloatingWindow::dockWidgets() 2020-10-16 21:48:47 +01:00
Sergio Martins
cb51d0af11 Merge branch '1.1' into master 2020-10-16 20:53:17 +01:00
Sergio Martins
a146cd81b2 Fix mac tests build 2020-10-16 20:52:22 +01:00
Sergio Martins
8dbd6df456 Merge branch '1.1' into master 2020-10-16 20:35:56 +01:00
Sergio Martins
ac6d845c8d Skip tests on macOS+offscreen if Qt <= 5.15.0
There's a bug in Qt qpa only fixed in 5.15.1
2020-10-16 20:35:04 +01:00
Sergio Martins
cfc9d1abcd cmake: Fix indentation 2020-10-16 19:43:50 +01:00
Sergio Martins
a66748f6ca relax test
Seems to happen with 5.15 static. It's benign anyway
2020-10-16 17:10:40 +01:00
Sergio Martins
e5f46ead3b qtquick: Fix build 2020-10-16 17:08:36 +01:00
Sergio Martins
171023558e Introduce WindowBeingDraggedWayland
This is just a cleanup. Instead of having WindowBeingDragged
having both code paths, let's keep the non-wayland platforms code
small and clean.
2020-10-16 17:08:36 +01:00
Allen Winter
059a424b88 Merge branch '1.1' 2020-10-16 08:39:26 -04:00
Sergio Martins
307b22deaf Wayland: Also allow to drag by tab widget
For when we don't have title bar
2020-10-16 13:30:20 +01:00
Sergio Martins
e405688f67 Fixing build with msvc 2013
error C2876: 'QMimeData' : not all overloads are accessible
2020-10-16 13:16:13 +01:00
Sergio Martins
68554119f4 Fix -Werror build on mac 2020-10-16 11:46:02 +01:00
Sergio Martins
86a4a740ef wayland: dropping a single tab or frame now works too 2020-10-16 11:33:09 +01:00
Sergio Martins
0a004b83ca Add WindowBeingDragged::draggable() getter 2020-10-16 11:16:49 +01:00
Sergio Martins
4fa47403c5 Make DragArea::drop() deal in WindowBeingDragged()
Preparing for wayland case.
2020-10-16 10:49:42 +01:00
Sergio Martins
9e418ced53 wayland: Finish WindowBeingDragged::maxSize() and minSize
Supports now single dock widgets or single frames
2020-10-16 10:40:34 +01:00