Allen Winter
6f6679d6be
update copyright year to 2023
2023-01-06 12:24:12 -05: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
25b04d7ed8
MDI: Fix another case of showing resize handles wrong
...
the logic for 'y' only makes sense if 'x' is bounded and vice-versa
2022-03-10 10:55:17 +00:00
Sergio Martins
e345e89c35
MDI: Fix case where resize cursor would be shown for frame bellow
...
Was already fixed a few days ago, but this is the case for nested
mdi.
2022-03-09 19:08:29 +00:00
Sergio Martins
e6b8636e88
MDI: Fix resize cursor appearing for frames that had others on top
2022-03-04 11:34:35 +00:00
Allen Winter
93e60a743e
update copyright year
2022-01-20 08:05:26 -05:00
Allen Winter
4f4a5de700
fix misspellings found by codespell
2021-07-15 09:46:53 -04:00
Allen Winter
7001aa58ce
clang-format on code base
2021-07-12 17:05:37 -04:00
Sergio Martins
3088f33837
Fix non-windows build
2021-07-10 06:44:48 -07:00
Sergio Martins
1d598d2585
windows: Fix all clang-cl warnings
...
Mostly int vs uint conversions.
In preparation to add -Werror
2021-07-10 06:43:04 -07:00
Sergio Martins
768c51f01c
windows: Fix a -Wunused-lambda-capture warning
2021-07-10 06:27:23 -07:00
Sergio Martins
7c63da18ed
Remove some dead code
...
Both if branches already return something
2021-06-17 13:03:00 +01:00
Sergio Martins
759cf33f08
Windows: Link to Dwmapi.lib via pragma
...
So I don't have to figure out some exotic non-cmake build systems
It's more self-contained this way anyway.
2021-06-16 12:41:40 +01:00
Sergio Martins
77279d21ef
Fixed a MSVC warning about unreachable code
2021-06-16 12:32:25 +01:00
Sergio Martins
cc1347adf8
qtquick: Don't use native windows drop shadow with round corners
...
When using the Windows native drop shadow, the client area needs
to be rectangular, otherwise a white line appears at the top
2021-04-23 11:47:37 +01:00
Sergio Martins
02515d8956
MDI: Fix dock widget size getting out of sync with the layout item
...
When resizing with mouse, update the layout item too.
Wasn't a big deal, as this is MDI, layout doesn't do much. But
last used geometries werent being saved
2021-03-09 20:30:41 +00:00
Sergio Martins
9fe11a7ad5
qtwidgets|MDI: Fix showing resize handles
...
if there was no frame being resized it would be nullptr, and hence
enter that block.
QtQuick not affected since it uses mouse areas to change the cursor
shape
2021-03-05 12:19:16 +00:00
Sergio Martins
b099994ac5
qtquick|MDI: Remove the QtQuick special case
...
Now behaves as QtWidgets
2021-03-05 12:05:19 +00:00
Sergio Martins
c81ca45e41
qtquick|MDI: Improvements for resizing
2021-03-03 15:21:22 +00:00
Sergio Martins
9ce50fa305
qtquick: Minor refactoring, deal in CursorPosition
2021-03-03 14:59:24 +00:00
Sergio Martins
bc17c8e5b3
MDI: Don't active other resize handlers when resize in progress
...
When we're resizing a docked dock widget, the other dock widget's
resize handlers should be disabled
2021-03-02 22:21:12 +00:00
Sergio Martins
4ef2ddbfec
Add DockRegistry::frameInMDIResize()
...
Only emitted in a MDI layout. Emitted when one dockwidget is
being resized
2021-03-02 22:00:54 +00:00
Sergio Martins
cb2ffe66af
qtquick|MDI: Fix resizing inner MDI dock widgets
...
It was flaky. The mouse move events came from global event filter
but the mouse press came from the Frame's mouse area. Sometimes the
QQuickWindow wouldn't deliver the press to the frame if it was done
outside, while the moves were changing the cursor shape since
we had a treshold
Now we guarantee that whenever the cursor changes the resize
will really happen
2021-03-02 14:40:42 +00:00
Sergio Martins
14ff8bb26b
Fix mingw build
2021-02-19 11:33:01 +00:00
Sergio Martins
615bb0ee3f
Fix linux developer-build
2021-02-19 11:25:02 +00:00
Sergio Martins
986fd8c13b
CustomFrame: Don't use QWindow::fromWinId()
...
as that creates a new QWindow
2021-02-18 18:43:43 +00:00
Sergio Martins
3874e2d886
CustomFrame: Added a recursion guard
2021-02-18 18:32:14 +00:00
Sergio Martins
1afcf21529
CustomFrame: Same some cpu cycles in case we don't care about the events
2021-02-18 18:21:32 +00:00
Sergio Martins
9aafa2a662
CustomFrame: the native event handling now honours the features
2021-02-18 15:50:12 +00:00
Sergio Martins
029ba1202e
CustomFrame: Add a NativeFeatures enum
...
Replaces the htCaptionRect. As we don't want to pass many arguments,
instead just pass a struct which describes which native features
to enable
2021-02-18 15:14:52 +00:00
Sergio Martins
b5043b2b87
CustomFrame: Move the features enum up 1 level
2021-02-18 14:40:20 +00:00
Sergio Martins
52ce80fd97
CustomFrame: Use an enum instead of bool return in our callback
2021-02-18 14:22:26 +00:00
Sergio Martins
cd19c5eb38
CustomFrame: Allow to specify a callback for QWindow opt-in
...
Which QWindows should get a custom frame is up to you. Just
return true in the callback.
2021-02-18 14:10:40 +00:00
Sergio Martins
0d101d779f
Fix unused variable warning
2021-02-18 11:29:02 +00:00
Sergio Martins
98d892f643
CustomFrame: Apply the drop-shadow code initially
2021-02-17 19:46:56 +00:00
Milian Wolff
cc80afff7d
Fix compile on Linux
2021-02-17 20:36:37 +01:00
Sergio Martins
8b23769ccc
Remove some debug code
2021-02-17 18:17:48 +00:00
Sergio Martins
feadc1ff9e
Add a CustomFrameHelper class
...
So we can reuse the custom frame for arbitrary windows
2021-02-17 18:02:51 +00:00
Sergio Martins
e6135f49fb
Make WidgetResizeHandler::handleWindowsNativeEvent() more generic
...
Decoupled it from the KDDW specific parts. Can now be used
by non FloatingWindow widgets
2021-02-16 20:28:59 +00:00
Sergio Martins
94ee2e55fd
Move FloatingWindow::setupWindow() into a reusable function
...
So other QWindow can use this
2021-02-15 22:03:44 +00:00
Sergio Martins
e3c370eb6b
Revert "Move FloatingWindow::setupWindow() into a reusable function"
...
This reverts commit 6fea5af585 .
Need to fix the windows build first
2021-02-15 10:43:15 -08:00
Sergio Martins
6fea5af585
Move FloatingWindow::setupWindow() into a reusable function
...
So other QWindow can use this
2021-02-15 18:29:19 +00:00
Sergio Martins
8941f41d1c
Moved NCHITTESTEventFilter to WidgetResizeHandler
...
It's a better fit there.
2021-02-15 17:36:22 +00:00
Sergio Martins
c52db1945b
Minor rename for readability
2021-02-14 17:52:36 +00:00
Sergio Martins
09a10cd791
Minor rename for readability
2021-02-14 17:42:35 +00:00