Shantanu Tushar
cf7f037af4
Allow custom sidebars to access its dock widgets
...
This is useful in cases where a custom sidebar wants behavior that
affects multiple dock widgets it "contains".
2022-07-19 11:39:32 +01:00
Sergio Martins
72ac856fa7
Allow to use TitleBar with non-KDDW widgets
...
For example, on EGLFS, the user might want some dialogs with similar
decorations. In the future we can make it draggable as well.
2022-07-16 23:51:39 +01:00
Allen Winter
579cd3a201
python/examples[-qt6] - minor pylint fixes
2022-07-14 15:29:51 -04:00
Allen Winter
3764feaf89
Minimum Qt6 supported version 6.3.0
2022-07-13 08:40:59 -04:00
Allen Winter
f1959e5e16
Revert "CMakeLists.txt - set QT_MAJOR_VERSION for ECM"
...
This reverts commit 084947612b .
2022-07-13 08:37:38 -04:00
Allen Winter
084947612b
CMakeLists.txt - set QT_MAJOR_VERSION for ECM
2022-07-13 06:19:28 -04:00
Allen Winter
710f71e7f0
CMakeLists.txt - fix LIB_NAME for ECMGeneratePriFile for Qt6
2022-07-12 16:03:17 -04:00
Allen Winter
4e6b49f876
CMakeLists.txt - ECMGeneratePriFiles supports Qt6 now
2022-07-12 12:53:50 -04:00
Allen Winter
d28dc745bc
buildsystem - InstallLocation.cmake -> KDInstallLocation.cmake
2022-07-12 12:09:55 -04:00
Allen Winter
ad8e14ceff
.reuse/dep5 - full project reuse licensing
2022-07-12 12:09:39 -04:00
Allen Winter
f9debe5f09
.pre-commit-config.yaml - add reuse lint checking
2022-07-12 12:08:45 -04:00
Allen Winter
b52b1335a6
Markdownlint the project
2022-07-12 11:12:33 -04:00
Sergio Martins
fedce40883
Workaround for EGLFS not supporting per window mouse cursor shape
...
When hovering over the floating window edges our mouse cursor
changes to resize shape, but when leaving and entering the main window
the mouse cursor wasn't unset.
Workaround by using a global event filter and detecting the leave.
Not using QEvent::Leave as we still allow for some margin outside
the floating window to count as a resize cursor
2022-07-12 15:29:43 +01:00
Sergio Martins
5894fd54f5
WidgetResizeHandler: Remove no-op code
...
We already bail out if o != mTarget a few lines above
2022-07-12 14:09:16 +01:00
Sergio Martins
d788cde263
minor: Improve readability
...
Mouse cursor setting is directly related to it being global or local
event filter.
2022-07-12 12:50:31 +01:00
Sergio Martins
1051e859f4
minor: Separate "toplevelness" with filter being local/global
...
It's too separate concepts
2022-07-12 12:22:39 +01:00
Sergio Martins
2fa9c06f9a
minor: Pass a dedicated enum instead of bool to WidgetResizeHandler ctor
...
bool is opaque and needs a comment, the enum is expressive just by itself.
2022-07-12 11:49:58 +01:00
Sergio Martins
4691f9bfa5
Ran clang-format over the codebase
2022-07-12 11:28:05 +01:00
Sergio Martins
c7dd7d954f
pre-commit: Don't clang-format json files
...
Not until I find out how to make vscode use clang-format for
json. It seems to be using its own formatter.
2022-07-11 21:14:15 +01:00
Sergio Martins
0f66fe853d
pre-commit: Allow for multi-document yaml files
...
Which is valid yaml.
In case we want to make settings for json formatting in .clang-format.
2022-07-11 19:23:58 +01:00
Allen Winter
025c49c583
buildsystem - sync with cmake ECM and KDAB upstream
2022-07-11 12:27:24 -04:00
Allen Winter
518724132b
fix a few missed pylint issues
2022-07-11 08:36:12 -04:00
Sergio Martins
800d97c352
Fix 2 clazy warnings
2022-07-09 14:38:01 +01:00
Allen Winter
ba7afe20b0
fix misspelling
2022-07-09 09:16:59 -04:00
Allen Winter
0b5b06dc5a
.gitignore - ignore python/examples-qt6/rc_assets.py
2022-07-09 09:12:17 -04:00
Allen Winter
460b898bea
cmake-lint, cmake-format CMake files
2022-07-09 09:11:45 -04:00
Allen Winter
6e5cfd70d1
pylint and autopep8 all python files
2022-07-08 17:34:42 -04:00
Allen Winter
4afc6b62b2
.pre-commit-config.yaml - add pylint,autopep8,cmake-lint,cmake-format
2022-07-08 17:33:12 -04:00
Sergio Martins
0785408a5c
Add fwd header for DropAreaWithCentralFrame_p.h
2022-07-08 14:09:57 +01:00
Sergio Martins
3364d8ba76
Add .pre-commit-config.yaml
...
This one is simpler than the one in 2.0 branch, does not include
cmake formatting.
2022-07-08 06:55:59 +01:00
Sergio Martins
b5d1b6d02f
vscode: Copy the compile_commands.json from build to source dir
...
No longer needed to symlink it to make clangd work
2022-07-08 06:53:59 +01:00
Allen Winter
ddf6847d4e
.krazy - fix comment
2022-07-06 09:10:04 -04:00
Sergio Martins
6f177bc2df
Assert that dock widget passed to MainWindow::addDockWidget is valid
2022-07-05 13:48:47 +01:00
Sergio Martins
e9eee0e69e
wayland: Fix StateDragging::handleMouseMove() being called
...
For wayland we override StateDragging and deal in QDrag instead
but some spurious mouse event got in and were handled in the base
class.
Fixes a crash when receiving mouse move during a drag
2022-06-21 11:17:31 +01:00
Sergio Martins
d2339d1b12
wayland: Fix QEvent::DragEnter being accepted by user code
...
Otherwise we stop receiving drag moves.
If we're dragging a window we're absolutely sure that user code
won't be interested.
As reproduced by using graphic views.
2022-06-21 11:10:11 +01:00
Sergio Martins
e980dc9bb1
Add some trace debugging to DragController
2022-06-20 14:27:28 +01:00
Allen Winter
a2f0e2e689
codespell fix
2022-06-19 16:02:29 -04:00
Allen Winter
1b1d963d3e
.krazy - exclude spelling checking -- use codespell instead
2022-06-19 15:39:24 -04:00
Sergio Martins
2dff66fb97
README: Move the supported toolchain section into the build section
...
So it's easier for users to find that they need a C++17 compiler.
Won't add exact compiler versions as I have no idea which gcc and which
clang version introduced such support.
Fixes #296
2022-06-19 17:59:09 +01:00
Sergio Martins
a44886279b
README: Move building section to before the example
...
Since you need to build kddw before building the examples.
As a drive-by, added a mention to X11Extras.
Won't mention any package names as that's distro dependent and the amount
of distros is open ended. Would rather remove our current mentions of package names
to make it consistent.
Fixes #297
2022-06-19 17:15:17 +01:00
Sergio Martins
cd1ce835d7
Add cmake presets for ci
2022-06-18 21:49:12 +01:00
Sergio Martins
74dcbd994a
Added MainWindow::internalLayout()
...
Allows the application to add more widgets next to the drop area.
2022-06-08 16:31:35 +01:00
Sergio Martins
189fc7356a
Don't install DropArea_p.h twice
...
Adding the fwd header is enough, so it builds with same include
name for both system and submodule install
2022-06-08 08:17:02 +01:00
Sergio Martins
2ef569c114
Add a fwd area for DropArea
2022-06-08 08:09:26 +01:00
Sergio Martins
d06c6e8f11
EGLFS: Don't raise the main window when docking
...
EGLFS doesn't honour that the floating windows should be
on top and will make the floating windows go behind.
It's also unneeded to raise it on eglfs, since it's fullscreen.
2022-06-03 14:42:08 +01:00
Sergio Martins
596c330a77
Make numSideBySide_recursive() ignore invisible items
...
This amends previous commit, which missed a code path
2022-06-02 16:49:12 +01:00
Sergio Martins
9f96eff663
Make numSideBySide_recursive() ignore invisible items
...
We have invisible items that just remember the position of
other items.
2022-06-02 16:30:02 +01:00
Sergio Martins
3260c65a6c
Add DropLocation_Horizontal and DropLocation_Vertical
...
So we can quickly use a bitwise and to see if an arbitrary
drop location is vertical or horizontal.
2022-06-02 16:16:24 +01:00
Sergio Martins
2c8ceb67ef
Allow segmented indicators to disable individual segments
...
The application developer might now want to show some segments.
Now he can use Config::setDropIndicatorAllowedFunc(), which previously
only worked for classic indicators
2022-06-02 16:02:00 +01:00
Sergio Martins
982904e2ba
Pass the DropArea to setDropIndicatorAllowedFunc() too
...
So the lambda can have more advanced usage and inspect the
target layout before allowing or disallowing the drop.
For our use case, we want to limit max 3 dock widgets side by side,
for example.
2022-06-02 15:19:01 +01:00