Commit Graph

1069 Commits

Author SHA1 Message Date
Sergio Martins
1e3782b73b Add DockWidget::tabWidget() getter 2019-08-04 19:15:37 +01:00
Sergio Martins
b487a31edc Use 5px as top margin 2019-08-03 16:06:48 +01:00
Sergio Martins
b2a3e974fa Initialize the layout's min size
Fixes a unit-test on platform offscreen
2019-08-03 16:06:23 +01:00
Sergio Martins
fe49790170 MainWindow: Put the central widget into a layout
So we can add margins
2019-08-03 15:41:39 +01:00
Sergio Martins
5915c2b70f When trying to drag a TabWidget don't allow to click everywhere
We can only click the background next to the tabs
2019-08-03 12:42:07 +01:00
Sergio Martins
ea9bbe324c Allow to drag a tabwidget by it's background
So you can click next to the tabs instead of the title bar
2019-08-03 12:20:23 +01:00
Sergio Martins
0cac8f7b7c Fix some clazy warnings 2019-08-03 12:15:14 +01:00
Sergio Martins
2916495f7a Update the FloatingWindows title when the frame's tab changes
When we have a single frame with multiple dock widgets, the window's
title and icon should be of the current dock widget
2019-08-03 12:07:42 +01:00
Sergio Martins
29c42443ef Add a missing setIcon call to FloatingWindow 2019-08-03 12:01:12 +01:00
Sergio Martins
cb7d1086b9 tests: Don't use QStringLiteral or any fancy Qt restrictions
It's very verbose and its preformance benefits aren't important
for the tests
2019-08-03 11:55:27 +01:00
Sergio Martins
369703a0bd tests: Remove a bunch of qobject_casts<FloatingWindow*>
By adding DockWidget::floatingWindow()
2019-08-03 11:22:06 +01:00
Sergio Martins
ae7ea032d0 Get rid of actualTitleBar() hack and simplify logic
Instead of having both FloatingWindow::updateTitleBarVisibility()
and Frame::updateTitleBarVisibility() have logic, simplify it:

- FloatingWindow's title bar is always visible
- Frame's title bar is visible if in a nested FloatingWindow
or in a MainWindow
2019-08-03 11:11:49 +01:00
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