Commit Graph

1157 Commits

Author SHA1 Message Date
Sergio Martins
e08ce5a636 Remove basic example, as the basic_external is enough 2019-10-06 13:19:09 +01:00
Sergio Martins
b5fad9a601 docs++ 2019-10-05 12:54:25 +01:00
Sergio Martins
0d4551d42a Update .gitignore 2019-10-04 17:34:31 +01:00
Sergio Martins
eb96288534 docs: Improved @file docs 2019-10-04 17:33:42 +01:00
Sergio Martins
3c482e743a Fix invalid downcast detected by ASAN
~Frame() triggers MultiSplitterLayout to emit visibleWidgetCountChanged()
which the Frame being destroyed is connected to. So disconnect before
~QWidget runs.
2019-10-02 12:53:27 +01:00
Sergio Martins
8663e02614 Minor indentation fix 2019-10-02 12:06:34 +01:00
Sergio Martins
62b32208a1 Merge pull request #14 from albert-astals-cid-kdab/add_const_ref
Add a few const &
2019-09-30 18:38:49 +01:00
Albert Astals Cid
262d57b890 Add a few const &
as suggested by clang-tidy
2019-09-30 15:57:03 +02:00
Sergio Martins
c5149ab13c Fix title bar being visible with Flag_HideTitleBarWhenTabsVisible
Frame::updateTitleBarVisibility() was bailing out early. That
guard looks like some leftover, m_dropArea isn't even dereferenced
there, so just remove the guard.
2019-09-30 11:00:38 +01:00
Sergio Martins
cf90980094 Fix toggleAction() not emitting its signals
User might connect to it.
Use a less violent way of guarding against recursion
2019-09-24 22:08:57 +01:00
Sergio Martins
b5d83e68a2 Unit-test the state of toggleAction() ttoo 2019-09-24 18:35:03 +01:00
Sergio Martins
35b67a2cd3 Don't use 0 width/height static anchors on Windows yet.
It doesn't like 0 sized widgets
2019-09-24 17:23:48 +01:00
Sergio Martins
566c7d0f41 React to QTabWidget::tabCloseRequested 2019-09-24 17:13:50 +01:00
Sergio Martins
ef78c032d5 Also don't dereference after the warning 2019-09-24 16:44:02 +01:00
Sergio Martins
1c81fa9202 Move qDebug down so we don't dereference a null pointer
We don't usually get this warning, but got it now on Windows.
2019-09-24 16:37:48 +01:00
Sergio Martins
25f0d67309 Offscreen platform shouldn't use windows specific paths
It should use the same paths regardless of OS.
Fixes a unit-test that was broke as the tests didn't detect the
window under it. I guess due to using windows api and not having
a valid HWND.
2019-09-24 16:24:52 +01:00
Sergio Martins
8adecaf256 Merge pull request #13 from KDAB/feature/cmakepackage
Make KDDockWidgets installable, find_packageable and useable from ext…
2019-09-23 19:46:17 +01:00
Sergio Martins
68a536bb67 Minor renaming, deserialize() no matches serialized() 2019-09-21 16:18:19 +01:00
Sergio Martins
f9e1a54317 Remove unneeded forward declare 2019-09-21 15:18:07 +01:00
Sergio Martins
c80a16d2c1 Also use the intermediate representation when serializing 2019-09-21 15:15:44 +01:00
Sergio Martins
65c9693a62 Restoring now reads from the intermediate representation
Only the intermediate representation is filled in from the stream
now. TODO: GUI->intermediate.
2019-09-20 17:24:22 +01:00
Jean-Michaël Celerier
f6909b0fa5 Make KDDockWidgets installable, find_packageable and useable from external projects 2019-09-19 11:35:54 +02:00
Sergio Martins
1ecc42433b Don't update size constraints while adding an item
It's run at the end
2019-09-18 17:49:58 +01:00
Allen Winter
f75aa4da26 README - add more info
Change-Id: I72ae2a1c49052fbf92d05212c1d0a94aa5dae5f1
Reviewed-on: https://codereview.kdab.com/70211
Reviewed-by: Sérgio Martins <sergio@kdab.com>
2019-09-13 10:22:18 +01:00
Olivier JG
d749f166c5 Add operators for Config::Flags 2019-09-12 18:09:38 +01:00
Sergio Martins
f3eb032eff Move the Flag_TabsAlwaysVisible logic into Frame.cpp
So it works with custom framework factories too
2019-09-12 18:06:06 +01:00
Sergio Martins
8df3eddd9b Fix crash when trying to drag a single tab
and the tab was in a floating window and we were using "TabsAlwaysVisible"
2019-09-12 17:22:29 +01:00
Sergio Martins
254dde64c7 Tests++ 2019-09-12 15:58:17 +01:00
Sergio Martins
9ef006bce4 tests++ 2019-09-12 15:50:11 +01:00
Sergio Martins
7abe7fffa2 Introduce Flag_AlwaysShowTabs
Makes the tab bar always show tabs
2019-09-12 15:21:24 +01:00
Sergio Martins
005bcbf279 Don't drag the window when dragging inner tab bars
When there's a floating window with several nested dock widgets
when dragging via the tab bar we should detach, not move the window
2019-09-12 15:11:02 +01:00
Sergio Martins
496cd9529c Don't always create a FloatingWindow when dragging via tab widget
If we're already in a FloatingWindow then there's no detachment to
happen, we just drag the window instead.

This fixes the drag not being smooth and stopping sometimes.
2019-09-12 14:13:59 +01:00
Sergio Martins
778402896d Fix build on Windows 2019-09-11 11:22:02 +01:00
Sergio Martins
370780cf22 Don't run the sanity checks during a restore
During a restore the layout is in an intermediate state, so we're
not suppose to do such tight checks.
2019-09-10 19:41:39 +01:00
Sergio Martins
cde4bd9bbd LayoutSaver: Add more validation 2019-09-10 19:19:22 +01:00
Sergio Martins
5a3727deae LayoutSaver: Also validate anchors upper bound 2019-09-10 19:03:49 +01:00
Sergio Martins
4261e831d6 Fix build 2019-09-10 18:55:14 +01:00
Sergio Martins
d38221f52c minor rename 2019-09-10 18:53:43 +01:00
Sergio Martins
a348274bc4 Add LayoutSaver::Layout::isValid() 2019-09-10 18:52:33 +01:00
Sergio Martins
21afb04555 Use LayoutSaver::DockWidget by pointer
As we're changing it's shared and we're changing its members.
This way the members changes everywhere, as there's only 1 instance
of each dock widget
2019-09-10 17:21:09 +01:00
Sergio Martins
b2c9acc2f5 Fix a serialization mistkae
now matches how it was before
2019-09-10 16:52:09 +01:00
Sergio Martins
5448c9655e Introduce an intermediate serialization format for save/restore
QDataStream is opaque and is not good for validation.
With this intermediate format we'll be able to:
- manipulate stuff
- validate that the saved layout is correct, before restoring it
- decide about some restore heuristics which would have been impossible
because before we needed to restore as we read the stream, now we can
look at the state before restoring it

LayoutSaver isn't using the new format yet, but the LayoutSaver::Layout
is already useful to debug some bogus saved states
2019-09-10 16:24:14 +01:00
Sergio Martins
e616dad5b1 Fix detecting z-order of floating candidates for drop 2019-09-09 17:23:02 +01:00
Sergio Martins
607abc62ef Convert a file to linux line endings 2019-09-09 17:12:05 +01:00
Allen Winter
29c41cade3 various - minor spelling, include guard fixes
also clean duplicate includes

Change-Id: I3fdd02fd1d07e7061003dd5fbed9e04b7b9ca928
Reviewed-on: https://codereview.kdab.com/70210
Reviewed-by: Sérgio Martins <sergio@kdab.com>
2019-09-09 17:10:36 +01:00
Sergio Martins
681d7283f4 Add a QtQuick TitleBar 2019-09-08 20:16:32 +01:00
Sergio Martins
f2e3c6d8b6 Implement minimum size for QtQuick 2019-09-07 16:39:29 +01:00
Sergio Martins
4d2944280b Implement onResize for QtQuick 2019-09-07 16:33:21 +01:00
Sergio Martins
abbc79f0e0 Progress with the QtQuick port 2019-09-07 16:20:22 +01:00
Sergio Martins
3b041c3145 quick: Fix the base class of MainWindowBase
Should only inherit from QMainWidget in QtWidget mode.
2019-09-04 15:55:04 +01:00