Allen Winter
4f4a5de700
fix misspellings found by codespell
2021-07-15 09:46:53 -04:00
Allen Winter
7001aa58ce
clang-format on code base
2021-07-12 17:05:37 -04:00
Sergio Martins
1d598d2585
windows: Fix all clang-cl warnings
...
Mostly int vs uint conversions.
In preparation to add -Werror
2021-07-10 06:43:04 -07:00
Sergio Martins
79fe9c2875
cmake: Remove private/ from our PRIVATE include path
...
Because some build systems don't support public/private includes,
and would require us to add private/ to the public include path.
This allows for an easier integration with some more exotic
build systems
2021-06-15 19:53:05 +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
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
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
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
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
Sergio Martins
8a3706f6cb
docs: document LayoutSaver's internals
...
explains the 2-phase restore
2021-04-08 20:46:13 +01:00
Allen Winter
75c7744e59
move the class private header up in the include order
2021-03-23 08:36:24 -04:00
Sergio Martins
acdf03fc84
Merge branch '1.3' into master
2021-02-24 13:56:28 +00:00
Sergio Martins
2116e3741b
Improve restoring layout when RestoreOption_RelativeToMainWindow is used
...
Doesn't make much sense to apply a scalling factor to the floating window's
position. Instead we should apply the factor to the delta position between
the main window and the floating window
Fixes #171
2021-02-23 21:02:01 +00:00
Sergio Martins
1f11c732ed
Remove unused function
2021-02-23 20:16:32 +00:00
Sergio Martins
e42bee27a4
Remove unused function
2021-02-23 20:14:25 +00:00
Sergio Martins
baf5f088dc
Remove more unneeded references to DropArea
...
reference its base class instead
2021-02-09 16:58:24 +00:00
Sergio Martins
da1fddffe1
Decouple MultiSplitter from MainWindow and FloatingWidget
...
They deal in its base class instead (LayoutWidget)
2021-02-09 16:05:56 +00:00
Allen Winter
a421cb0b01
various - include private header first, remove header dupes
2021-02-07 07:07:49 -05: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
dbf357ce66
Fix restoring window maximized state
...
Fixes #81
2021-01-16 22:37:30 +00:00
Sergio Martins
ab257b3468
float docked widgets that have LayoutSaverOption::Skip before restore
2021-01-15 21:30:38 +00:00
Sergio Martins
e6bdb28484
Added convenience DockWidgetBase::skipsRestore()
2021-01-15 20:17:45 +00:00
Sergio Martins
d0b8ee606a
Honour LayoutSaverOption::Skip for floating windows with many dock widgets
...
If all dock widgets in the floating window have the Skip flag then the
FloatingWindow can too
2021-01-14 18:33:29 +00:00
Sergio Martins
c6c3b16fd2
LayoutSaver: Add some utility functions
2021-01-14 18:11:29 +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
7698584ee0
Fix potential invalid index when restoring layout
...
We save the index of each FloatingWindow when saving a layout,
but when restoring we might not want to restore all FloatingWindows,
for example, if we use a LayoutSaver with another affinity.
So, the index in Position::deserialize() should be a index to
LayoutSaver::Layout::floatingWindows, and not to DockRegistry::self()->floatingWindows()
since the later might be smaller.
2021-01-11 21:55:47 +00:00
Sergio Martins
d034722ba9
LayoutSaver: Add some utilities
2021-01-11 21:16:02 +00: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
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
c4ffe10e12
Fix non unity build
2020-12-17 12:24:12 +00:00
Sergio Martins
34cb2ae5f0
Restore the SideBars when restoring a layout
...
For issue #116
2020-12-16 18:27:29 +00:00
Sergio Martins
aa9f50d0f4
Serialize the SideBar to JSON too
...
Part 1 of 2 for issue #116
2020-12-16 17:58:05 +00:00
Sergio Martins
fad81d595a
qtquick: Remove some dependencies to QApplication
2020-11-26 19:31:32 +00:00
Sergio Martins
7bfac091ae
Rename DockRegistry::nestedwindows() to DockRegistry::floatingWindow
...
which is the naming we use everywhere else
2020-10-10 20:41:42 +01:00
Sergio Martins
5346f808f9
qml: Don't include the widgets MainWindow in LayoutSaver
2020-07-27 10:51:03 +01:00
Allen Winter
b4f49895c2
clarify: licensing is GPL2 or GPL3 or commercial licensed
...
follow the REUSE specs
2020-07-24 18:16:13 -04:00
Sergio Martins
84b0b8f6ad
Fix serializing floating window affinity
2020-07-02 17:44:16 +01:00
Sergio Martins
6bbcb8f8f2
Rename LayoutSaver::MultiSplitterLayout to LayoutSaver::MultiSplitter
2020-06-11 17:00:54 +01:00
Sergio Martins
05f93a98f0
LayoutSaver: Only close dock widgets that would be restored
...
It can happen that the JSON layout knew about less dock widgets
than there are, as there can be new ones now
2020-05-26 19:49:02 +01:00
Sergio Martins
c9fa637ae7
Add some helper methods to LayoutSaver::Layout
...
To retrieve the list of main windows and dock widgets present
in the loaded layout
2020-05-26 18:29:30 +01:00
Sergio Martins
d94263fce5
Allow each dock widget and main window to support multiple affinities
2020-05-25 14:14:17 +01:00
Sergio Martins
9779b8edc3
Deal in terms of LastPositions instead of the individual position
...
Just a refactoring to add more encapsulation
2020-05-21 17:43:51 +01:00
Sergio Martins
f260a76f8b
Rename LastPosition to Position
...
so we can have a list of them, the dock widget might have been
in several main windows
2020-05-21 14:49:49 +01:00
Sergio Martins
8a3e784ae2
Make layout saver create the main window if it's missing
...
and we have a factory. The same way it happens for dock widgets.
2020-05-20 19:19:07 +01:00
Sergio Martins
8477fdc7e1
Fix detachments
2020-05-17 19:14:50 +01:00