Commit Graph

1157 Commits

Author SHA1 Message Date
Sergio Martins
4613fa20f4 Resize the adjacent anchors when adding a widget, if needed
Means that if adding to left/right then we must ensure the top/left
anchor of the group is positioned in a way that respects the widget's
minimum height. Previously we were only honouring width.

And vice-versa for the other orientation, s/left/top,s/right/bottom
2019-08-02 23:55:08 +01:00
Sergio Martins
0e6b3454cd Add AnchorGroup::adjacentAnchors() 2019-08-02 23:18:41 +01:00
Sergio Martins
16e2141ae5 Remove unneeded debug 2019-08-02 22:28:06 +01:00
Sergio Martins
454f3d1b48 Remove unneeded debug 2019-08-02 22:21:42 +01:00
Sergio Martins
76a5c79ca2 Add a sanity check 2019-08-02 20:11:56 +01:00
Sergio Martins
d9c6452d88 Relax assert, that condition can happen on hover and it's fine 2019-08-02 19:34:17 +01:00
Sergio Martins
f69b17ba7f print debug when the assert hits 2019-08-02 09:43:06 +01:00
Sergio Martins
51f76d4986 When docking to left/right also adjust height and vice-versa
Previously we were only resizing one direction
2019-08-02 09:22:29 +01:00
Sergio Martins
26dc975e11 fix build 2019-08-02 08:39:43 +01:00
Sergio Martins
089f9361c1 Remove DockWidget::titleBar, as it's not needed
DockWidget's are either floating or not. If floating they have the
title bar from FloatingWindow, otherwise from Frame
2019-08-01 23:44:25 +01:00
Sergio Martins
4cf50eeb8c Simplify MultiSplitterLayout::ensureEnoughContentsSize
It wasn't even accurate, as it was giving too much size.
Also removed the concept of 'extraUselessSpace". This was from
the time where FloatingWindow was itself a MultiSplitterLayout,
so had to make space for the TitleBar.
2019-08-01 18:23:46 +01:00
Sergio Martins
7a007c15c6 readability++ 2019-08-01 17:27:19 +01:00
Sergio Martins
2e21dd484c Minor readability improvement 2019-08-01 17:25:44 +01:00
Sergio Martins
8c8d6503f8 Don't delete the central frame when restoring
This one can be empty.

Caught by a failing unit-test
2019-08-01 17:09:03 +01:00
Sergio Martins
3f2f515553 Comment tests that are still failing 2019-08-01 16:56:30 +01:00
Sergio Martins
3303e1a682 Minor refactoring 2019-08-01 16:52:33 +01:00
Sergio Martins
9acfa2b9bf Add a failing test 2019-08-01 15:06:42 +01:00
Sergio Martins
a0dda5f0ec example: Add option to appear with the MainWindow embedded 2019-08-01 14:56:47 +01:00
Sergio Martins
1ac027c201 Don't show the DockWidget that's about to be restored 2019-08-01 10:58:37 +01:00
Sergio Martins
9fd4df484d Add test for DockWidgetFactoryFunc 2019-08-01 10:50:40 +01:00
Sergio Martins
1849010e3e Relax check, allow to set Config flags after QApplication 2019-08-01 10:05:25 +01:00
Sergio Martins
06e58c2225 Add a factory func to Config
So dock widgets can be created on demand while being restored
2019-07-31 22:52:35 +01:00
Sergio Martins
921d090461 Centralize the OS ifdefs in Config 2019-07-31 22:27:14 +01:00
Sergio Martins
08c858ba6e Add a Config.h public header, to configure behaviour
Like enabling aero snap or native title bar
2019-07-31 22:16:25 +01:00
Sergio Martins
b32e88d50d Make detaching smooth when having native title bar 2019-07-31 15:55:16 +01:00
Sergio Martins
e3f7a448f3 Make detaching smooth when using aero-snap
Needs the grabber
2019-07-31 15:48:28 +01:00
Sergio Martins
9dbe5114e2 Don't allow non-client drag while there's a client drag going on 2019-07-31 15:39:08 +01:00
Sergio Martins
95c883008c Unbreak native title bar support
Send a proper WM_NCHITTEST to know if we're on the title bar or not
2019-07-31 15:08:14 +01:00
Sergio Martins
cb07bdbacc Remove unneeded argument 2019-07-31 14:33:59 +01:00
Sergio Martins
69cc2a5f9f Dont grab mouse when using native title bar 2019-07-31 13:24:41 +01:00
Sergio Martins
4fb416f147 Don't count native resizing as a drag 2019-07-31 12:39:43 +01:00
Sergio Martins
c4e13cd949 Delete empty frames in case dock widget isn't found 2019-07-31 12:24:07 +01:00
Sergio Martins
a9bf02ec21 Set the guest widget visible when restoring dock widget 2019-07-31 11:39:24 +01:00
Sergio Martins
6754075c68 Set icon and title to native FloatingWindow title bar too 2019-07-31 11:22:08 +01:00
Sergio Martins
5dfa66b8f2 When using native toolbars make a nice transition from docked to
undocked

So movement doesn't break
2019-07-31 11:08:12 +01:00
Sergio Martins
d2f7503359 Added a comment 2019-07-31 09:54:16 +01:00
Sergio Martins
4db2c639c2 Enable aero-snap by default on windows 10 2019-07-31 09:53:35 +01:00
Sergio Martins
9c27cb7dab Enable aero-snap by default 2019-07-31 09:33:18 +01:00
Sergio Martins
73954d40ff Fix aero-snap when there's native childs eating WM_NCHITTEST 2019-07-31 09:32:43 +01:00
Sergio Martins
990a98d7d9 Fix tests
Some QToolButtons are deleted later
2019-07-30 22:52:57 +01:00
Sergio Martins
aeba3a44f2 Fix build 2019-07-30 22:52:49 +01:00
Sergio Martins
f1b7fc2f89 DebugWindow: Debug if we receive nchittest messages
Debugging a case where we don't
2019-07-30 22:28:25 +01:00
Sergio Martins
a924970da6 Add debug code to send an hit test 2019-07-30 22:06:41 +01:00
Sergio Martins
a613aba6e6 Don't crash in qtoolbutton.cpp when unfloating
unfloating will trigger a deletion of the qtoolbutton which
is still in its event handler and will still dereference 'd'
2019-07-30 20:25:56 +01:00
Sergio Martins
a0ad09e616 aero-snap: Don't allow to drag FloatingWindow by clicking anywhere
Must drag via its TitleBar
2019-07-30 18:53:43 +01:00
Sergio Martins
2101e4be26 Aero-snap: Fix maximization behavior
- Maximized windows were being clipped
- Double click no longer maximizes
2019-07-30 18:41:37 +01:00
Sergio Martins
65953c2846 Fix title bar buttons not working with aero-snap
We can't return HTCAPTION for those.

Also fixes the used title bar geometry. It was using the geometry
of the hidden titlebar. Use actualTitleBar() instead.
2019-07-30 17:43:03 +01:00
Sergio Martins
5c4c836f30 Move aerosnap implementation into cpp file 2019-07-30 17:23:30 +01:00
Sergio Martins
39dd859584 Added a comment 2019-07-30 17:14:14 +01:00
Sergio Martins
918fceb66c Cleanup 2019-07-30 17:12:39 +01:00