Commit Graph

22 Commits

Author SHA1 Message Date
Yuhang Zhao 0e4f95fe2c wip
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-11 16:23:12 +08:00
Yuhang Zhao 8e69a57039 wip
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-11 09:33:27 +08:00
Yuhang Zhao 485d9665ea Fix build on Qt versions below 5.14
QStringView introduced in Qt 5.10.0
qExchange() introduced in Qt 5.14.0
qSwap() is deprecated, use std::swap() instead

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-01-07 13:15:46 +08:00
Yuhang Zhao e3adb917a6 Fix build on Qt before 5.14
1. The QWinRegistryKey class was introduced in 5.14.0. The implementation is quite clean, so just copy the sources files from Qt repo in case the user is linking against a version older than 5.14.
2. Fixes the rounding error of the self-painted frame border of the examples.
3. Other minor tweaks.

Fixes: #95
Task-number: #94

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-01-06 11:18:33 +08:00
Yuhang Zhao 17601f386f Code refactor
1. Load dwmapi.dll and winmm.dll dynamically at runtime, to remove the dependency on those dlls
2. Use QSystemLibrary to load dlls, it can make the loading of system dlls safer, and avoid duplicating the code
3. Use QWinRegistryKey to access registry, no need to use QSettings in such scenarios
4. Adapt to new code when building against Qt 6.3 and newer.
5. Other minor tweaks.

Fixes: #94
2022-01-05 11:00:31 +08:00
Yuhang Zhao fb8f061091 Win32: Add workaround for DWM flicker
And some other minor tweaks.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-12-01 14:59:29 +08:00
Yuhang Zhao 8367331278 Win32: move all win32 staff to one header
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-09-05 13:24:12 +08:00
Yuhang Zhao 2c106ffef9 Minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-09-01 15:26:36 +08:00
Yuhang Zhao f18468dcca Win32: QMake: fix build error
Fixes: #76

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-08-16 16:24:14 +08:00
Yuhang Zhao 5a2d498445 Minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-08-11 17:58:47 +08:00
Yuhang Zhao 28144b1e74 Minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-06-09 13:27:11 +08:00
Yuhang Zhao f70158a276 Add cross-platform Acrylic Effect
Currently still lacking Linux and macOS support,
but will be added sooner.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-03-08 14:10:55 +08:00
Yuhang Zhao 8a20747ba8 Minor tweaks
Mainly cleanup the WinNativeEventFilter

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2021-03-05 10:40:52 +08:00
Yuhang Zhao b672851f51 Win32: Remove the dependency of the widgets and quick module
This commit totally removed the dependency of the widgets
and quick modules for the Windows platform. Now the library
itself only depends on the core and gui modules. Currently
no bug can be found. But there are some side effects: one is
we can't set a palette for a widget due to we can't access
QWidget specific functions so if you want to enable blur
effect, you will have to do this by yourself. Another one is
you now have to pass the window handle to WinNativeEventFilter
instead of the pointer of a QObject. Before this patch, I'm
using QWidget::winId() to get the window handle, now we have
get rid of the widgets dependency so I can't get the window
handle now, you have to pass it explicitly. And it leads to
huge refactoring of the whole repository. But I think it's
worth doing. If anyone knows how to get the window handle
without introducing new dependencies, please tell me. It will
help me a lot.

To remove the quick dependency, the FramelessQuickHelper class
is moved out of the library now. If your project needs it,
please copy the files to your project and include them directly.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-11-16 23:01:00 +08:00
Yuhang Zhao 7c255ea79e Minor tweaks.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-25 09:57:11 +08:00
Yuhang Zhao 3a17359978 Minor tweaks.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-23 14:34:51 +08:00
Yuhang Zhao 286fc26d3f Minor tweaks.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-23 12:47:37 +08:00
Yuhang Zhao af65f2d9e3 Link to system dlls by default.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-19 16:29:00 +08:00
Yuhang Zhao 72db8e7043 Improve the Win32Demo project.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-19 14:54:13 +08:00
Yuhang Zhao c0de790138 Fix Linux build.
Signed-off-by: Yuhang Zhao  <2546789017@qq.com>
2020-10-18 14:15:13 +08:00
Yuhang Zhao 5fc425fc64 Update.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-14 18:36:13 +08:00
Yuhang Zhao fe3fbf34e9 Add the QMainWindow example.
And re-arrange the examples.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2020-10-12 15:10:51 +08:00