Commit Graph

971 Commits

Author SHA1 Message Date
Allen Winter
df692686e7 various - update copyright year 2020-01-07 11:36:56 -05:00
Sergio Martins
a25435fc2d Remove leftover duplicate close button
also fixes a weird hover effect when mouse is over the title bar
2020-01-07 15:53:59 +00:00
Sergio Martins
fbfbf2d801 Fix crash only reproducible in debug mode
don't dereference 'this' after it's deleted
2020-01-05 22:58:15 +00:00
Sergio Martins
63a75d7be9 Fix window decorations on Windows + Qt-5.9
For some reason our WC_NCCALCSIZE tricks aren't working and we need
to explicitly create the window. Works correctly since 5.10

Fixes #22
2020-01-05 18:37:53 +00:00
Sergio Martins
2ff2b78f5a Fix unit-tests on Windows with Qt 5.9
Our RAII class that ensures that each test leaves 0 top-levels behind
was being initialized with somthing bigger than 0 since the
rectForDrop() test wasn't doing proper cleanup.

Not sure why only repro with 5.9, but it's correct now.
2020-01-04 22:24:11 +00:00
Sergio Martins
6be2490c08 tests: When cleanup fails print the top-levels that we compared to
Since qApp->topLevels() contains buttons which will be deleted later
2020-01-04 21:15:39 +00:00
Sergio Martins
f37ecc0765 tests: Remove test with hardcoded values
It's flaky as the min sizes are varying with Qt versions. Also what
it tests is already tested in previous tests and elsewhere.
2020-01-04 18:33:43 +00:00
Sergio Martins
3b20f99092 tests: Add some missing window cleanup checks 2020-01-04 18:27:20 +00:00
Sergio Martins
9f5c7b5e6a tests: Use fusion style on all platforms
To make the tests more robust, as some widgets min size will
vary
2020-01-04 18:19:26 +00:00
Sergio Martins
4b0b11acee tests: Use QElapsedTimer instead of QTime::start()
The later is deprecated
2020-01-04 18:11:34 +00:00
Sergio Martins
9b8709724c Fix namespaced build 2020-01-03 11:29:29 +00:00
Sergio Martins
e5df8db045 tests: Add some tests for double close 2019-12-29 18:29:27 +00:00
Sergio Martins
9c6fd9ba0e Add support for lazy resize
In this mode the resize is only done when mouse is released.

Fixes #21
2019-12-29 17:55:19 +00:00
Sergio Martins
927510dfff Support re-ordering tabs with mouse
Just set KDDockWidgets::Config::Flag_AllowReorderTabs before creating
the dock widgets.

Fixes #20
2019-12-26 15:19:27 +00:00
Sergio Martins
a29a33a46d Abstract starting a drag
So draggables can give their opinion on when to start a drag.
So we can support movable tab-bars.
2019-12-24 10:18:20 +00:00
Sergio Martins
53238e4f29 Add a comment about isPositionDraggable 2019-12-24 10:02:59 +00:00
Sergio Martins
6be6aee56a Fix dock widgets not filling their complete available space
To repro:
 - stack 3 dock widgets vertically
 - close the top one
 - close the top one
 The remaining one should now fill the whole window but it wasn't.

Culprit was the code that makes sure that when a dock is closed that
the adjacent ones get to share their space
2019-12-23 14:28:40 +00:00
Sergio Martins
7452520662 Add DockRegistry::dockWidgetForGuest()
So you can find out the dock widget which hosts a widget
2019-12-20 10:57:05 +00:00
Sergio Martins
cdc70ec34b Support MainWindow being embedded into a widget on Linux/macOS too
Dragging indicators weren't being shown.

Suprisingly we already had a test for this: tst_embeddedMainWindow
But it passed on offscreen, just failed with xcb, which we don't
usually run
2019-12-18 18:00:11 +00:00
Sergio Martins
4a2a718f78 Add .cmake to .gitignore 2019-12-18 17:51:08 +00:00
Sergio Martins
617bfa4801 Add DockRegistry::topLevels() 2019-12-18 17:50:35 +00:00
Allen Winter
71160b38c6 various - use secure urls 2019-12-10 15:10:30 -05:00
Allen Winter
41d07ef8c6 examples - include guards. use qrand() 2019-12-10 14:48:10 -05:00
Allen Winter
1723f001c9 src/private/quick/QmlTypes.h - add include guard 2019-12-10 14:47:32 -05:00
Allen Winter
f2123ffb41 src/private/quick/qml/*.qml - add license+copyright header 2019-12-10 14:46:30 -05:00
Allen Winter
572a5cc6b5 .krazy - add more EXCLUDEs and SKIPs 2019-12-10 14:45:43 -05:00
Allen Winter
04d91863c6 README.md - add github url 2019-12-10 12:03:49 -05:00
Sergio Martins
89dbd20e1d Honour the widget's initial size when adding it to the layout
In MultiSplitterLayout::lengthForDrop(), we use frame's size
as the suggested size to use when add a dock widget. So give
the frame the size of the dock widget.

User can now do:
    dockwidget->resize(foo);
    mainwindow->addWidget(); and it will respect the size
2019-12-08 17:24:30 +00:00
Sergio Martins
7bb0a29aea Fix resizing height not preserving correct relative sizes
Because the percentage code was always using widths. It should
use height when the anchor orientation is horizontal.
2019-12-08 16:39:43 +00:00
Sergio Martins
af1a26ef59 Debug++ 2019-12-08 16:37:53 +00:00
Sergio Martins
2d0b7f1bee Add Frame::isInMainWindowChanged() signal 2019-12-03 19:53:50 +00:00
Sergio Martins
f351e5ed9c README: Mention that Qt >= 5.9 is required
Fixes: #17
2019-12-01 13:47:30 +00:00
Sergio Martins
945dbc1f27 Fix build with namespaced Qt
Fixes #18
2019-11-27 16:17:48 +00:00
Sergio Martins
5ce5c5ed41 Merge pull request #16 from KDAB/readmegif
Optimize screen capture
v0.1
2019-10-29 13:27:27 +00:00
Jean-Michaël Celerier
f8a77d3b4f Optimize screen capture 2019-10-29 11:30:26 +01:00
Sergio Martins
10330a2edf Revert "README: Use a screenshot of the new demo instead of the old"
This reverts commit f5442ddc52.

The new screenshot has too much resolution and shows very small
on github. Restoring the old one.
2019-10-23 10:44:57 +01:00
Sergio Martins
f5442ddc52 README: Use a screenshot of the new demo instead of the old 2019-10-23 10:42:07 +01:00
Sergio Martins
c534efdb95 Minor readme fixes 2019-10-22 16:52:23 +01:00
Sergio Martins
a3556e3f78 Explain in README how to test the example 2019-10-22 16:51:09 +01:00
Sergio Martins
8e437f598b Remove old readme from the example, it's no longer relevant 2019-10-22 16:44:18 +01:00
Sergio Martins
afbe092f7c readme improvements 2019-10-22 16:03:39 +01:00
Sergio Martins
9f01261f9a Update README 2019-10-22 16:02:06 +01:00
Sergio Martins
83f6bb8daf Remove some sanity checks, no longer needed
Silenced a false-positive warning about anchor visibility.
It was invisible because we're within a main window show()

It will be checked by the unit-tests and fuzzer anyway. No need to
do it in production.
2019-10-22 15:28:50 +01:00
Sergio Martins
e4eac7a688 demo: Fix startup delay 2019-10-22 14:17:57 +01:00
Sergio Martins
44bcfdf53c Simplify the demo, make it more verbose
So people see how the API is used.
using vectors of structs with parameters is very compact but
is harder on the reader of a new API
2019-10-22 13:39:41 +01:00
Sergio Martins
a9f5917a54 demo: Make it look nice
Logo now scales better
2019-10-22 13:10:01 +01:00
Sergio Martins
fa8aaeff50 Use KDAB artwork for the dockwidgets example
Work in progress but already looks good.
2019-10-21 23:08:59 +01:00
Sergio Martins
38949fac2a Fix build without find_package()
Some of our projects have kddockwidgets directly in their build
2019-10-21 14:30:04 +01:00
Sergio Martins
de42a4a33c Remove some asserts that aren't needed anymore
They were useful during development.
They have a warning anyway, so the tests and fuzzer will still fail
if something bad happens
2019-10-20 20:32:35 +01:00
Sergio Martins
787f7802be Move the private code into a private/ folder
It's nice to have a similar include hierarchy at build time and install
time.

It also makes things more explicit
2019-10-20 19:24:54 +01:00