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
Sergio Martins
b2b75cd5bb
Fix typo in snippet
2022-06-02 14:44:14 +01:00
Sergio Martins
90ad1a7f23
Added MultiSplitter::numSideBySide_recursive()
...
Since ItemBoxContainer isn't exported.
2022-06-02 14:01:47 +01:00
Sergio Martins
f5622732ce
Added ItemBoxContainer::tst_numSideBySide_recursive()
2022-06-02 13:59:20 +01:00
Sergio Martins
4727c9c7fc
MainWindow: Allow to avoid the immediate QWidget::create()
...
In case you're going to put the main window into a layout you
don't want to have it create a QWindow.
2022-05-25 00:36:40 +01:00
Allen Winter
f8ca5ca1ef
KDDockWidgetsConfig.cmake.in - make sure QuickControls2 is found
...
if building for QTQUICK we'll have dependencies
on the Qt libraries QtQuick and QuickControls2
2022-05-24 17:20:16 -04:00
Allen Winter
ea00ecf33d
qt6-kddockwidgets.dsc - fix package list
2022-05-23 12:00:29 -04:00
Allen Winter
bf255c104f
distro/ - update for ubuntu22.04 and fedora36
2022-05-22 10:04:17 -04:00
Albert Astals Cid
9b8759c472
Add the possibility of setting the margin used for overlay docks
2022-05-17 15:32:28 +01:00
Sergio Martins
58b8633e3d
Added KDDockWidgets::InitialVisibilityOption::PreserveCurrentTab
...
So you can insert into a tab group without changing the current
tab, if you want.
2022-05-05 14:28:07 +01:00
Sergio Martins
a743eafca1
Added DockWidgetBase::currentTabIndex()
2022-05-05 10:45:55 +01:00
Albert Astals Cid
2446519024
SideBar_p.h: Fix includes to make it usable from external projects
2022-05-03 10:43:37 +01:00
Sergio Martins
6166e5805c
Don't show middle dock indicator if frame isn't dockable
...
This was implemented but the logic was wrong.
Fixes central persistent showing the central indicator.
2022-04-19 15:53:42 +01:00
Allen Winter
b1379f0bef
.pylintrc - initial pylint config file
2022-04-14 12:40:17 -04:00
Allen Winter
f3da0f0547
various - fix some misspellings
2022-04-14 12:27:29 -04:00
Allen Winter
b2fc0c3eb1
various - update copyright year
2022-04-14 12:01:05 -04:00
Sergio Martins
6e7268e42a
Workaround QTBUG-102430, don't move still maximized window
...
When dragging a maximized window we show normal, but we can
only start moving it when the window managers acknowledges the new
state. The state in QWidget isn't reliable.
2022-04-12 16:37:14 +01:00
Sergio Martins
7e6c5b2d9f
Save the last known window state from the window manager POV
...
Required for QTBUG-102430
2022-04-12 14:56:20 +01:00
Sergio Martins
9a9676cb7a
Add a TODOv2 comment about writing the same fix for QtQuick
2022-04-11 22:33:45 +01:00
Sergio Martins
aff86c3e0f
Add a comment regarding QTBUG-102430
2022-04-11 22:31:26 +01:00
Sergio Martins
d4fe17a0bf
Workaround FloatingWindow::windowStateChanged regarding QTBUG-102430
...
QWidget::windowStateChanged isn't useful as it's emitted once sync
and another async, with the same value. Only the async one is useful
as it will represent the real window manager state. Then we can do
further moves.
The QWindow one happens to be good (async), so use that one instead.
2022-04-11 22:10:30 +01:00
Sergio Martins
ab2843f3ef
Update ChangeLog
2022-04-08 14:12:35 +01:00
Sergio Martins
0e5247e039
Use FloatingWindow::isMaximizedOverride() instead of isMaximized()
...
This is for issue #286 .
Allows users to workaround buggy window managers.
2022-04-08 14:12:35 +01:00
Sergio Martins
6413266df3
Linux: Fix dragging of maximized floating windows
...
They should restore their normal size when the drag starts
(cherry picked from commit 1305dee081 )
2022-04-08 14:12:35 +01:00
Allen Winter
c6ce421432
CMakeLists.txt - Python bindings are not supported in Unity builds
...
fixes #284
2022-04-08 08:42:06 -04:00
Sergio Martins
1f638d2c7a
tests|qtquick|Windows: Stabilize a test
...
The warning is benign and unrelated to anything kddw is doing
2022-04-05 17:26:38 +01:00
Albert Astals Cid
7b73393095
Fix position of right overlay dockwidgets when there's a toolbar on the left
2022-04-05 17:13:29 +01:00
Sergio Martins
1a85363faf
Preserve order of tabs when re-docking a tabbed group
...
Since our workaround isn't an atomic operation, each dock widget
was saving its new tab index while we were in the middle of a restore.
So be sure we set their correct index and restore "current" at the end.
Fixes #279
2022-03-30 15:26:11 +01:00