Sergio Martins
3bcfcc40c0
Minor decoupling between DropArea and DockWidgetBase
2021-02-09 16:23:49 +00:00
Sergio Martins
e3b0feb967
DockWidgetBase.cpp uses MultiSplitter's base class now
2021-02-09 15:54:47 +00:00
Sergio Martins
51dc666181
Added DockWidget::setFloatingGeometry()
...
Closes #144
2021-02-07 17:26:01 +00:00
Allen Winter
a421cb0b01
various - include private header first, remove header dupes
2021-02-07 07:07:49 -05:00
Sergio Martins
44bf1ef322
qtquick: Move dummy QAction class into the pimpl header
...
No need for it to be in the public header
2021-02-06 18:20:44 +00:00
Sergio Martins
863691c313
Remove some private API from DockWidgetBase.h
...
Moved it into the pimpl
2021-02-06 16:32:13 +00:00
Sergio Martins
38443048b8
Merge branch '1.2'
2021-02-05 16:42:07 +00:00
Sergio Martins
621c3dbeca
Also clear the overlay internals when floating an overlay
...
Fixes a crash.
Relates to #162
2021-02-05 16:32:41 +00:00
Sergio Martins
249d1b6790
Remove from the sidebar when floating a widget
...
Fixes #162
2021-02-05 12:35:03 +00:00
Sergio Martins
6ccd98ca01
Move DockWidgetBase::eventFilter() into the private class
...
Fixes issue #151 where the user is overriding eventFilter too
and getting into some edge cases.
Could be worked around in user code, but it's always good to have
less protected and private API in public classes.
2021-01-29 20:20:01 +00:00
Sergio Martins
b50d301f44
Add DockWidget::tabIndex()
2021-01-29 18:32:10 +00:00
Sergio Martins
ee759a5459
Don't trigger "Delete on Close" when sending to the sidebar
2021-01-28 22:40:41 +00:00
Sergio Martins
e9d19805d7
Add a force close to DockWidgetBase::Private
...
So we can add an argument there, without changing public API
2021-01-28 22:19:21 +00:00
Sergio Martins
bc1e686455
Create DockWidgetBase_p.h and move the pimpl there
...
So we can reuse the pimpl and not have to expose public API
for implementation details
2021-01-28 21:44:12 +00:00
Sergio Martins
db06c496cf
Remove dependencies to LayoutSaver_p.h
...
Only the impl needs to include it
2021-01-27 22:51:41 +00:00
Sergio Martins
17638bc29f
Fix regression with DockWidget::toggleAction()
...
Added unit-test too.
While we're processing the toggle action triggering isOpen() is
always false.
2021-01-21 16:16:29 +00:00
Sergio Martins
40a549ca29
Fix double delete screwing with lastPositions()
...
Fixes #141
2021-01-18 23:37:17 +00:00
Sergio Martins
44587cb947
Don't require LayoutSaver_p.h to be installed
...
It's impl detail that doesn't need to be installed
2021-01-18 20:37:22 +00:00
Sergio Martins
e6bdb28484
Added convenience DockWidgetBase::skipsRestore()
2021-01-15 20:17:45 +00:00
Sergio Martins
c52446f3b0
Merge branch '1.2'
2021-01-15 09:27:17 +00:00
Sergio Martins
9cadfb26d9
Fix toggleAction() when dock widget is in the sidebar
...
It should toggle the overlay, not dock the widget
Fixes #139
2021-01-15 09:24:11 +00:00
Sergio Martins
8dd7a90b34
Add convenience DockWidgetBase::isInSideBar()
2021-01-15 08:52:17 +00:00
Sergio Martins
7ddb95a417
Add a single TitleBar::updateButtons()
...
updateCloseButton() can now be private
2021-01-13 23:07:49 +00:00
Sergio Martins
8f61e57b57
Add DockWidget::Option::Option_DeleteOnClose
2021-01-13 12:54:18 +00:00
Sergio Martins
e0e6f55868
Introduce DockWidgetBase::LayoutSaverOptions enum
...
The first enumerator is "Skip", meaning the dock widget won't
be affected by save/restore. It won't disappear while restoring,
and won't be shown if already hidden. (only applies to floating widgets)
2021-01-11 23:33:32 +00:00
Sergio Martins
36eef80192
Also pass InitialOption to addDockWidgetToContainingWindow()
...
So you can control initial size and such
2021-01-09 13:58:56 +00:00
Sergio Martins
306bf26f66
Remove some qCDebug I never needed
2021-01-09 13:27:30 +00:00
Sergio Martins
e07fb7f121
DockWidget::addDockWidgetToContainingWindow() now accepts docking to main window
...
Was already stated in the docs that it would work with a main window but implementation
only allowed floating window.
Fixes #132
2021-01-09 13:24:06 +00:00
Sergio Martins
c73c26e5cb
tests: Fix overloaded signal "parentChanged()"
2021-01-08 18:24:51 +00:00
mateoconlechuga
f1f555d5ab
Add support for setting toggle action icon
...
This adds support for a custom icon to be displayed in a QMenu.
2021-01-03 19:36:56 -07:00
Allen Winter
875544a449
Merge branch '1.2'
2021-01-02 09:32:20 -05:00
Allen Winter
a2f4c972a6
update copyright year
2021-01-02 09:27:50 -05:00
Sergio Martins
02bf43b468
Add InternalFlag_DontShowWhenUnfloatingHiddenWindow
...
It's an internal knob you can turn so that setFloating(false)
doesn't show the dockwidget. Only adding this flag in case you need
to support both KDDW and QDW at the same time, or during porting/evaluation.
Fixes #125
2020-12-28 19:19:46 +00:00
Sergio Martins
5582f37a18
Introduce InitialOption struct
...
addDockWidget() received a AddingOption enumerator. But that
enum isn't enough, as we also want to be able to specify an initial
QSize.
So, instead of adding yet another parameter to addDockWidget(), we
create a struct to old those "initial settings".
Implies a minor source break, but trivial to fix in user code,
just rename the enumerator.
Honouring preferredSize will be a followup.
Needed for issue #95
2020-12-27 20:22:02 +00:00
Sergio Martins
a2a80df5df
Add static function DockWidgetBase::byName()
...
So users don't have to use private API.
Fixes issue #126
2020-12-27 11:41:16 +00:00
Sergio Martins
ccbd15c922
Merge branch '1.2'
2020-12-19 14:12:10 +00:00
Sergio Martins
d1f48b0685
Save the last overlayed size
...
We might want to restore it
2020-12-19 14:09:27 +00:00
Sergio Martins
5e64463a8c
Remove some Item_p.h/multisplitter includes
...
that's private API for the layouts, don't want them exposed higher
in the stack
2020-12-17 13:48:50 +00:00
Sergio Martins
e897ce6e8e
qtquick: Add a replacement for QAction
...
So we don't depend on QtWidgets lib
2020-11-29 18:44:00 +00:00
Sergio Martins
a0fb47af58
Fix -Woverloaded-virtual
2020-11-26 14:52:04 +00:00
Sergio Martins
864670b0a1
qtquick: Fix some cases where floating windows didn't have parent
...
Happened because floatingWindow->parentWidget() was null. On QtWidgets
this works because QWidget::parentWidget() will return the transient parent
without a problem.
2020-11-19 17:47:02 +00:00
Sergio Martins
1393ae224f
Fix DockWidget::windowActiveAboutToChange() being emitted too much
...
Was being emitted even when it didn't affect our window.
This caused an explosion of signals when we had many dock widgets.
2020-11-17 18:52:54 +00:00
Sergio Martins
e9a321039f
Renamed signal to windowActiveAboutToChange()
...
Added the 'aboutTo', as the event hasn't been caught by the top-level
window yet
2020-11-09 13:46:16 +00:00
Sergio Martins
b93f115b53
Added DockWidget::windowActiveChanged() signal
...
Tracking the top-level window's 'isActiveWindow' property is difficult
since the dock widget's top-level window is changing all the time
when docking and undocking. So added a convenience signal
2020-11-09 13:35:05 +00:00
Sergio Martins
420ac9044e
Merge branch '1.1' into master
2020-10-23 17:11:45 +01:00
Sergio Martins
392dac5691
Use Qt::WA_PendingMoveEvent instead of Qt::WA_Moved
...
We check if the user provided position before putting a floating
window in a default position. Qt::WA_Moved however has the problem
that it's not cleared, so second time you show a window, it will
have it, even if user didn't set geometry.
Use Qt::WA_PendingMoveEvent instead, which was made for tracking
moves made before the first show.
2020-10-23 17:07:14 +01:00
Sergio Martins
926103325c
qtquick: Fix close events not being delivered
...
Also ported some tests from tst_docks to tst_common, which
were failing due to close events not working. Fixed now
2020-10-11 12:42:20 +01:00
Sergio Martins
6aa4e979dc
Added DockWidgetBase::hasPreviousDockedLocation()
2020-10-05 13:52:36 +01:00
Sergio Martins
4a49dbc6b4
Add a DockWidget::isFloatingChanged() signal
...
For issue #73
2020-09-25 19:25:58 +01:00
Sergio Martins
ac7d06d4fe
When closing overlay, remove it from side bar too
...
Added test.
2020-09-20 23:46:37 +01:00