Commit Graph

211 Commits

Author SHA1 Message Date
Sergio Martins
73d627554a Remove Frame.h/cpp to Group.h/cpp
It's a better name.
Files only for now. Contents will come in a followup.
2022-06-21 08:51:52 +01:00
Sergio Martins
d1de3a29b4 CMakeLists.txt - Python bindings are not supported in Unity builds
fixes #284

(cherry-picked from commit c6ce421432)
2022-06-19 12:30:57 +01:00
Sergio Martins
67bb7c16cf CMakeLists.txt - find COMPONENTS to search for Qt modules
(cherry-picked from commit 8b8ef7f2b0)
2022-06-19 00:22:01 +01:00
Sergio Martins
2faecc68c0 Don't build the "Fuzzer"
It hasn't been needed in a long time.
I'll enable it once it's needed. Build needs fixing though
2022-06-18 19:48:19 +01:00
Sergio Martins
f7bb0c1dbd Fix examples trying to be installed to /
Only worked when being built from within kddw.
2022-06-18 12:42:24 +01:00
Sergio Martins
e2870dbe4f cmake: Fix warning about KDDockWidgets_LIBRARY_QTID not being defined 2022-06-18 10:35:19 +01:00
Sergio Martins
3b2a395668 Fix build with Wweak-vtables
Have to move kdbindings to its own target so we can use -isystem
with it, as it doesn't support Wweak-vtables
2022-06-15 05:01:10 +01:00
Sergio Martins
755bc6ac14 cmake: Don't add src/ to include path
Fully qualify includes instead
2022-06-14 16:57:22 +01:00
Sergio Martins
ebaf0d170f examples: Rename minimal_mdi to mdi
There's not much functionality to show, so no point in saying it's
minimal
2022-06-13 22:39:31 +01:00
Sergio Martins
6c589f0500 Postpone some m2 TODOs to m3
m2 will focus on QtQuick being usable
2022-06-12 15:25:35 +01:00
Sergio Martins
c12da6b6d5 cmake: Don't link against QTTest in release builds 2022-06-12 14:51:57 +01:00
Sergio Martins
ab2b481a80 cmake: QtQuick frontend no longer needs to link against QtWidgets 2022-06-12 14:43:17 +01:00
Sergio Martins
b75a10b9eb examples: Normalize names of examples 2022-06-11 13:06:41 +01:00
Sergio Martins
f1f722f1ce Replace TODOv2 tags with TODOm2 and TODOm3 tags
Not all todos are required for milestone m2
2022-06-04 19:53:25 +01:00
Sergio Martins
20546acc4e cmake: Remove unneeded condition for old Qt
5.15. is the minimum nowadays
2022-06-04 12:07:51 +01:00
Sergio Martins
87319c69d2 cmake: Swap if/else branches to remove a negation 2022-06-04 12:05:59 +01:00
Sergio Martins
dc36435b35 cmake: Make the frontend discovery shorter
The fatal messages aren't needed, replaced by a REQUIRED find_package.
Added missing QtQuickControls find package from one branch, it was
only looking for QtQuick.
2022-06-04 12:03:26 +01:00
Sergio Martins
ea9bf1ef0f cmake: Remove unneeded negation 2022-06-04 11:48:53 +01:00
Sergio Martins
adbaedef89 cmake: Don't require the user to specify a frontend.
It would error-out with "OFF is not a frontend"
Just use find_package instead and enable any compatible frontend.
2022-06-03 19:18:53 +01:00
Sergio Martins
2fafef87df cmake: Replace ${PROJECT_NAME} with the actual project name
Because:
 - Doesn't select the whole option name on double-click
 - Not easily greppable on the terminal

It make's sense for any reusable cmake code though, we can replace
with ${PROJECT_NAME} again after factoring out any of our non-reusable
cmake code into a reusable module, if any.
2022-06-03 19:14:01 +01:00
Waqar Ahmed
cd88e19648 cmake: Add KDDockWidgets_FRONTENDS option 2022-06-03 16:10:41 +05:00
Sergio Martins
a2f1c1347a cmake: Explicitly add QtWidgets as dependency of our widgets frontend 2022-06-02 23:33:20 +01:00
Sergio Martins
529cedfcbf Remove the last occurrences of KDDOCKWIDGETS_QTWIDGETS
Don't define it in cmake anymore as it's official dead
2022-05-31 22:43:35 +01:00
Sergio Martins
6289e92e54 qtquick: Fix resizing root view
And uncommented the qtquick test for this, which now passes.
Moved the test to its own qtquick tests file.
2022-05-31 14:06:36 +01:00
Sergio Martins
403f0626b4 tests: Comment the QtQuick examples one by one
so we can uncomment them one by one too as we port them
2022-05-30 10:15:16 +01:00
Sergio Martins
1c0c594abe cmake: Add qtwidgets/qtquick ifdefs
Code now builds without QtQuick if needed
2022-05-28 16:02:14 +01:00
Sergio Martins
a3750ea79a cmake: allow to build qtquick and qtwidgets independently
Still hardcoded to on, but the sources are now separated
2022-05-28 15:13:22 +01:00
Sergio Martins
4cd362dc33 cmake: Set minimum Qt6 version to 6.2
Anything else is untested
2022-05-28 14:31:39 +01:00
Sergio Martins
812892f3f2 bump version to 2.0 2022-05-28 14:25:25 +01:00
Sergio Martins
73dd788fa1 cmake: Remove unneeded -DKDDOCKWIDGETS_QTQUICK 2022-05-26 23:20:27 +01:00
Sergio Martins
ac51ffc7d4 tests: Add tests for DockWidget and FloatingWindow ctor
To catch potential QML errors in the .qml files.
2022-05-23 23:06:32 +01:00
Sergio Martins
bab0c99d13 tests: Added tst_separator
Helps finding problems in the respective qml file
2022-05-23 19:12:32 +01:00
Sergio Martins
79ef648a27 tests: Added tst_stack and tst_tabbar
Finds errors in the respective qml files
2022-05-23 19:00:21 +01:00
Sergio Martins
0f55a2f87a tests: Add tst_titlebar
At least for the ctor, which already helps to find bugs in
the .qml file
2022-05-23 18:07:56 +01:00
Sergio Martins
87e9cbc388 tests: Add tst_frame 2022-05-23 17:15:43 +01:00
Sergio Martins
46968556bb tests: Add missing viewwrapper ctest 2022-05-23 14:59:48 +01:00
Waqar Ahmed
df00c13899 Add code coverage 2022-05-09 16:45:41 +05:00
Sergio Martins
22a43eb9af Add 3rdparty/doctest
It's header only.
2022-04-30 00:56:28 +01:00
Sergio Martins
c55cac97d0 tests: Add unit-test for View::setParent() 2022-04-29 18:46:28 +01:00
Sergio Martins
bcd639599a Port tst_viewguard.cpp to doctest
doctest will be the unit-test framework for new tests, since we'll
have a lot of non-Qt code.
2022-04-26 23:35:25 +01:00
Sergio Martins
d5cec9f5de tests: Move QtWidget specific tests to tst_qtwidgets.cpp
Let's have less ifdefs
2022-04-19 19:07:57 +01:00
Sergio Martins
ccd7557c75 Add View::beingDestroyed signal
It's emitted in ~View
2022-04-05 10:11:37 +01:00
Sergio Martins
2a379d8735 Add Platform_qtquick
CMake hacked for now. Not sure if we should allow building
both QtWidgets and QtQuick frontends at the same time
2022-04-04 16:30:57 +01:00
Sergio Martins
c6d95c42a8 Split most widgets into a Controller and a View
Controllers don't have any GUI and don't depend on the frontend
technology.

Views are implemented in a specific GUI tech (QtWidgets, QtQuick, etc).

For now only QtWidgets work. There's still a lot to decouple.

This will make it easier to introduce non-Qt backends.
2022-03-24 16:05:37 +00:00
Sergio Martins
bef7aab7f6 Move kdbindings to src/3rdparty 2022-02-12 14:45:12 +00:00
Sergio Martins
81abb3cea5 Fix build on OpenBSD
Fixes #265
2022-02-11 14:31:00 +00:00
Allen Winter
2fbe4f872e Merge branch '1.5' 2022-01-20 08:15:23 -05:00
Allen Winter
93e60a743e update copyright year 2022-01-20 08:05:26 -05:00
Sergio Martins
5b87fb4435 Add an examples/mdi_with_docking/ example 2022-01-07 17:31:20 +00:00
Sergio Martins
b20ce0895b X11: Add support for robust z-order detection
Qt doesn't provide any way to know which window is directly
bellow the cursor. Generally this is fine since floating windows
are always on top of the main window. However, if Qt::Tool is removed,
then they can be behind, and KDDW can't know which window to overlay
the drop indicators onto.

This patch uses XLib's XQueryTree to solve this.
This is still experimental, hence disabled by default.

For now it's disabled by default, since it's experimental.
You can turn it on by passing -DKDDockWidgets_XLib=ON

Fixes bug #256
2021-11-25 20:59:16 +00:00