Sergio Martins
913cc16371
Fix failing test on Windows due to the button hack
...
During tests, our mouse button isn't really pressed, as we
send fake press events. Only use the workaround in production.
2021-05-20 18:47:32 +01:00
Sergio Martins
cd0f2f4e33
Introduced Config::setDropIndicatorsInhibited(bool)
...
Allows you to disable support for drop indicators while dragging
2021-05-18 18:00:04 +01:00
Sergio Martins
fc028ec0be
Minor refactoring
2021-05-18 17:49:14 +01:00
Sergio Martins
2dbdb9f7eb
qtquick: Fix restoring QWindow's geometry
...
We need to resize the QWindow.
Fixes issue #196
2021-05-17 22:46:56 +01:00
Sergio Martins
c6af93adcb
qtquick: When saving geometry, save the QWindow geometry
...
As that's what we'll restore. The "MainWindow" isn't an actual
main window, and it's parented in some QtQuick hierarchy.
Will help with issue #196 , which isn't fixed yet.
Should be fixed in the restore part next.
2021-05-17 22:20:44 +01:00
Sergio Martins
bd985781b9
Minor refactoring
2021-05-17 22:13:17 +01:00
Sergio Martins
d732be4e17
Merge branch '1.3' into master
2021-05-04 23:41:23 +01:00
Sergio Martins
18dbbb291a
Cancel drag when Qt doesn't detect that mouse was released
...
On Windows there can be a case where Qt doesn't receive the mouse
release event. When releasing very fast after starting the drag.
Fixes #166
2021-05-04 23:36:50 +01:00
Sergio Martins
3bb7922f2c
comments++
2021-05-02 13:05:27 +01:00
Sergio Martins
4aedba3b2b
Minor: Pass QPoint by value, as it's a small POD class
2021-05-02 13:01:27 +01:00
Eism
99c0e99b26
Implemented the method for adjusting the position of a dragged item
2021-05-02 13:00:43 +01:00
Sergio Martins
28ab554cb3
comments++
2021-05-02 12:49:07 +01:00
Sergio Martins
cd80a47c93
qtquick|tests: Fix tst_layoutEqually
...
Resizing QtQuick's QWindow is async, doesn't propagate the size
immediately to the content QQuickItem.
Meaning we were passing a too small/old size to the layout.
Add qMin() so we don't pass sizes that are smaller than the layout's
min-size.
2021-05-02 12:30:53 +01:00
Sergio Martins
eb05b54b0e
Added DockWidgetInstantiator::close()
2021-05-02 11:35:16 +01:00
Sergio Martins
bbbce6f694
qtquick: Fix close() not hidding the widget
...
QtQuick will emit a "visibleChanged(true)" when setting nullptr,
which we need to inhibit so it behaves like QtWidgets.
2021-05-02 11:22:26 +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
66ac5e9d2f
qtquick: Install DockWidgetQuick.h too
2021-05-01 20:46:01 +01:00
Sergio Martins
4924b951cc
qtquick: Don't include private header in public header
...
Q_PROPERTIES in Qt6 don't support forward declarations.
Return a QObject instead.
2021-05-01 20:38:06 +01:00
Sergio Martins
4556f1c949
quick|cmake: Don't install a few qtwidgets includes
...
Install their qtquick counterparts instead
2021-05-01 20:20:59 +01:00
Sergio Martins
a4cca3bcc2
Merge pull request #195 from RomanPudashkin/setTabbingAllowedFunc_fix
...
Fixed the API for disabling the tab indicator
2021-05-01 20:10:44 +01:00
Sergio Martins
a24f5e31b9
Merge pull request #192 from RomanPudashkin/setMaximumSize_fix
...
Fixed changing of the maximum size for widgets
2021-05-01 20:00:26 +01:00
Sergio Martins
8ab8e0524b
Workaround Qt bug which broke the focus chain
...
Focusing a tab widget would focus an hidden tab bar, which makes
the propagation stop
Fixes #180
2021-04-30 15:59:27 +01:00
Sergio Martins
affb48f44d
Fix restoring side-bar widget when it was deleted previously
...
We need to consult the user's widget factory, just as we do
for other cases where the dock widget is missing
2021-04-29 21:36:56 +01:00
Sergio Martins
d5b2336b69
refactoring: Move the dockWidgetFactoryFunc() call
...
It's now an impl-detail of DockRegistry::dockByName().
Just pass DockByNameFlag::CreateIfNotFound.
Allows this functionality to be used in other places
2021-04-29 21:29:58 +01:00
Sergio Martins
580e3a6a2c
Coding style: Replace a bool argument with an enum
...
Since we'll be adding more enumerators
2021-04-29 21:20:26 +01:00
Roman Pudashkin
e3d5203f1a
fixed the API for disabling the tab indicator
2021-04-29 21:50:17 +02:00
Sergio Martins
ce93c3b739
qtquick: Fix memory leak
2021-04-29 18:15:33 +01:00
Sergio Martins
0b5a99860f
qtquick: Fix calling QWindow::setTitle()
...
For QtWidgets, it happens fine in FloatingWindow's constructor,
because we get the corresponding QWindow already. But for QtQuick
the QWindow is only created afterwards, so we have to delay
setting the title.
2021-04-29 17:18:35 +01:00
Sergio Martins
3f012a2ef1
Remove a bogus setWindowTitle()
...
Setting a widget would change the top-level window title!
By luck people set the widget before docking, but doesn't have
to be that way.
2021-04-29 16:23:22 +01:00
RomanPudashkin
a102e4ae1e
fixed changing of the maximum size
2021-04-29 13:20:56 +02:00
Sergio Martins
03f5817488
Merge branch '1.3'
2021-04-28 22:08:57 +01:00
Sergio Martins
0f2edfdb4e
Fix hidding the pin/auto-hide icon when side-by-side in floating
...
An else {} branch was missing.
Also just simplify the code, and call supportsAutoHideButton()
which wasn't being used.
Also removed some bogus updateAutoHideButton() calls from
the CTOR, needs to use singleShot() since the method is virtual,
the derived class isn't constructed yet
2021-04-28 22:06:42 +01:00
Sergio Martins
7958eeeded
Fully qualify LayoutSaver_p.h includes
...
Now that it's installed
2021-04-28 21:13:44 +01:00
Sergio Martins
f29f773555
Add a LayoutSaver_p.h fwd header
2021-04-28 21:10:23 +01:00
Sergio Martins
a113205881
Install LayoutSaver_p.h
...
Moved it into private/ too, not sure why it was in src/
For issue #175
2021-04-28 21:08:41 +01:00
Sergio Martins
7830ccb017
Move LayoutSaver::Private to the header
2021-04-28 21:00:26 +01:00
Sergio Martins
6a205a5406
Move some Layout::Private method definitions out of the class
...
In preparation to move the class to an header
2021-04-28 20:55:16 +01:00
Sergio Martins
d91a42930d
Expose LayoutSaver::Private
2021-04-28 18:01:37 +01:00
Sergio Martins
6f3df707f4
Split RestoreOption_RelativeToMainWindow into more granular options
...
Mostly so we can have RestoreOption_RelativeToMainWindow but
without restoring floating windows
Said options are internal (for now?), we'll need more feedback before
turning them public (since once public forever public)
For issue #175
We'll add some private API so users can change the flags in the next
commit
2021-04-28 17:43:24 +01:00
Sergio Martins
f388b11d0d
Added MainWindowBase::frameCountChanged()
...
So you can know when the layout added or removed dock widgets
Fixes #190
2021-04-28 16:28:04 +01:00
Sergio Martins
83c744041e
Merge branch '1.3'
2021-04-27 23:52:17 +01:00
Sergio Martins
dcac39a35f
Don't restore window's maximized state when using RestoreOption_RelativeToMainWindow
...
We don't restore main window's geometry either
Fixes issue #184
2021-04-27 23:50:40 +01:00
Sergio Martins
c4d3ba71b2
Fix crash due to MainWindow not clearing m_overlayedDockWidget
...
When we close the overlayed widget we need to clear this variable
Added 1 real fix and a prophylactic check too.
2021-04-27 23:49:26 +01:00
Sergio Martins
74c74593e2
Don't restore window's maximized state when using RestoreOption_RelativeToMainWindow
...
We don't restore main window's geometry either
Fixes issue #184
2021-04-26 19:19:06 +01:00
Sergio Martins
62591bc360
quick: Use logical dpi factor of 1 for now
...
Only physical dpi scaling suported currently
2021-04-25 21:24:56 +01:00
Sergio Martins
82967435ea
Added QtQuickHelpers::logicalDpiFactor()
2021-04-25 10:37:47 +01:00
Sergio Martins
7738354be1
Minor coding style fix
2021-04-25 10:26:09 +01:00
Sergio Martins
0d2166770e
quick: Add a QtQuickHelpers class into the context
...
Will have some useful stuff there. Don't have a better place to put them.
2021-04-25 10:24:07 +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
aa76dfba02
LayoutSaver: Support the user's factory func doing remapping
...
While restoring a layout, we expect all widgets to exist already,
but we allow the user to create them delayed, by providing
us a factory function.
What we're supporting in this commit is the ability of the user's
factory function returning a dock widget with an ID different
than the one that was requested. We then save that mapping so the
rest of the layout restore works with the new ID.
2021-04-23 14:55:01 +01:00