Commit Graph

284 Commits

Author SHA1 Message Date
Yuhang Zhao 8683a14a3c fix compilation error
fixes: #191

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-15 13:09:51 +08:00
1bbb 4844257fc8 支持嵌套无边框组件 2022-12-15 11:32:57 +08:00
Yuhang Zhao 493663a787 win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-14 16:17:07 +08:00
Yuhang Zhao 45225d11d8 remove needless terminate character
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-13 16:31:00 +08:00
Yuhang Zhao d4293e0a55 win: refactor
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-13 11:36:41 +08:00
Yuhang Zhao c849217d43 fix build on linux and macos
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-12 14:55:17 +08:00
Yuhang Zhao d04eaabde7 minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-12 13:42:18 +08:00
Yuhang Zhao f00adba67c replace QScopedPointer with std::unique_ptr
QScopedPointer is being deprecated in latest qtbase code.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-12 11:59:53 +08:00
Yuhang Zhao ed3771c949 replace qRound with std::round
It's better to do so.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-12 09:34:46 +08:00
Yuhang Zhao b1f52837d2 replace qAsConst with std::as_const
qAsConst is being deprecated in latest qtbase code.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-12 09:30:16 +08:00
Yuhang Zhao e77341d128 win: adjust one version condition
It's decided that the fix will not be cherry-picked to the 6.2 branch.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-08 15:36:27 +08:00
Yuhang Zhao 61eb467f94 remove license header from qrc files
They may break compilation.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-08 11:37:21 +08:00
Yuhang Zhao 8003f79e17 icon: replace Micon with our own custom one
Because Micon has some license issues.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-06 16:53:37 +08:00
Yuhang Zhao 64ef4b25ca fix MSVC warning found by /W4
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-06 16:06:13 +08:00
Yuhang Zhao 1e429b363b cmake: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-06 14:35:04 +08:00
Yuhang Zhao 87953f1382 cmake: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-06 11:43:05 +08:00
Yuhang Zhao f956c1c002 cmake: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-05 17:12:17 +08:00
Yuhang Zhao cb88b602fe minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-05 14:33:38 +08:00
Yuhang Zhao 7daa1facc7 fix build on Qt version < 6.2.1
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-04 14:49:16 +08:00
Yuhang Zhao 48a1106fc0 Allow build with no private Qt modules
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-04 14:25:09 +08:00
Yuhang Zhao d14a0e62d9 bump version
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-29 19:51:33 +08:00
Yuhang Zhao 40058a1e79 cmake: allow disable resource bundle
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-26 16:44:41 +08:00
Yuhang Zhao a26df61c33 win: fix multi-monitor bug, take 3
#141
#184

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-24 10:38:21 +08:00
Yuhang Zhao ff5b171566 win: final fix of the multi-monitor bug
#141
#184

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-23 14:54:46 +08:00
Yuhang Zhao ebd3d6573f win: fix the multi monitor window expand issue
#141
#184

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-22 15:03:11 +08:00
Yuhang Zhao 648876b6b0 win: add a little delay to some operations
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-20 12:56:36 +08:00
Yuhang Zhao 04f254556d minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-17 10:24:45 +08:00
Yuhang Zhao 3791802d3b win: add support for mica alt and other tweaks
Add some more comments to the windows header.
Remove the usages of UseRoundWindowCorner.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-16 14:10:49 +08:00
Yuhang Zhao b09acecac6 try re-trigger ci
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-13 13:29:41 +08:00
Yuhang Zhao 2c93d7fe38 some minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-13 13:24:30 +08:00
Yuhang Zhao 524f65cc9b win: some minor improvements
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-11 15:25:39 +08:00
Yuhang Zhao 766c1e148e linux & macos: add missing code
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-11 11:46:44 +08:00
Yuhang Zhao 027780429d win: add more safe guards to dpi hacks
And some other minor improvements.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-11 11:38:06 +08:00
Yuhang Zhao ddb2dcc7f7 win: fix some rare bugs, add more comments
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-10 16:53:25 +08:00
Yuhang Zhao 70a71822da use better solution to disable logging
Thank very much to @SineStriker !

Fixes: #181

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-10 14:15:05 +08:00
Yuhang Zhao b8a3ff604f win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-10 11:17:29 +08:00
Yuhang Zhao c86a3fe35e win: reshuffle code a bit
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-09 14:40:03 +08:00
Yuhang Zhao 8c35eb9b70 win: add more dpi hacks & fix some bugs
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-09 13:22:58 +08:00
Yuhang Zhao b88ac1591d minor tweak of the logo message
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-08 09:36:29 +08:00
Yuhang Zhao 9dc2e0086a fix build, take 3
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 19:40:23 +08:00
Yuhang Zhao 4463a61834 fix build, take 2
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 19:37:10 +08:00
Yuhang Zhao e83c00f0cb fix build with qt5
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 19:33:48 +08:00
Yuhang Zhao 07bd39d1aa win: minor improvement
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 19:28:25 +08:00
Yuhang Zhao 378f59f462 win: fix a rare bug
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 16:35:30 +08:00
Yuhang Zhao 32d29e39f6 win: use same code style
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 16:04:34 +08:00
Yuhang Zhao ac6a2c11a7 win: minor improvement
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 15:52:25 +08:00
Yuhang Zhao 9715bd9d4b minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-03 13:52:57 +08:00
Yuhang Zhao c75712d3f1 Add option to suppress debug messages
Fixes: #177

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-02 15:13:47 +08:00
trbogdanov 78638a3e23
call gtk_init() before gtk_settings_get_default() to avoid Q_ASSERT triggering (#173)
As stated in GTK documentation about gtk_init():

* "Call this function before using any other GTK+ functions in your GUI
applications. It will initialize everything needed to operate the toolkit
and parses some standard command line options."

* "It is possible to pass NULL if argv is not available or commandline
handling is not required."

Fixes: #170
2022-10-31 09:39:43 +08:00
Yuhang Zhao 4c88bc5ab2 Fix build error on macOS
Fixes: #174

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-29 18:52:39 +08:00
Yuhang Zhao 90116239cf win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-21 09:41:35 +08:00
Yuhang Zhao 53bf6016df win: simplify code a little
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-20 17:26:55 +08:00
Yuhang Zhao af6d3c7380 win: minor tweaks
1. Avoid name collision of original Win SDK
2. Enable non-client area DPI scaling when building with Qt < 5.9.0

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-20 14:15:11 +08:00
Yuhang Zhao fe6fb8ef5f win: add new win10 subver
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-19 17:15:23 +08:00
Yuhang Zhao 439a5d569b fix issues found by ci
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-18 17:03:28 +08:00
Yuhang Zhao eb43a60094 cmake: use more strict qt
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-18 16:50:29 +08:00
Yuhang Zhao fe81fb80bd cmake: fix install error
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-18 10:08:43 +08:00
Yuhang Zhao 85366ba667 Revert "misc: use better code style"
This reverts commit 3889e49583.

Reason for revert: breaks CI, and no siginificant improvement.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-18 09:22:00 +08:00
Yuhang Zhao 3889e49583 misc: use better code style
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-17 18:01:41 +08:00
Yuhang Zhao 1ae0bd8fd6 examples: reuse common code
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-17 13:43:38 +08:00
Yuhang Zhao e2f7c76c88 win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-16 13:41:41 +08:00
Yuhang Zhao 8097a30a68 fix macos build
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-13 11:55:06 +08:00
Yuhang Zhao 2dc7951f7a fix unix build, issue found by ci
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-13 11:38:20 +08:00
Yuhang Zhao 87da6cb5da move static_assert to cpp source files
To speed up compilation time.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-13 09:44:50 +08:00
Yuhang Zhao f15ca8daf0 fix various issues
1. Fix mica material doesn't work normally when used on multiple windows.
2. Fix build on Qt5.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-12 14:08:58 +08:00
Yuhang Zhao b9f5cf79c0 win32: add support for dark theme menu
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-11 16:17:04 +08:00
Yuhang Zhao fcf51d6d73 refactor
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-11 11:52:49 +08:00
Yuhang Zhao 1e43ba2e81 improve windowborder element
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-10 22:12:01 +08:00
Yuhang Zhao 1fc23e1c6a cmake: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-10 15:13:18 +08:00
Yuhang Zhao 55be173c31 minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-10 13:59:00 +08:00
Yuhang Zhao 92415fb61c Add WindowBorderPainter and WindowBorder
1. Added WindowBorderPainter for QtWidgets
2. Added WindowBorder for QtQuick (uses WindowBorderPainter internally)
3. Adjust some header includes
4. Limit a Linux workaround to the appropriate Qt versions

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-10 13:35:37 +08:00
Yuhang Zhao b50a2dcd72 fix Qt5 compilation error
And change to lazy initialization for Mica Material.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-09 10:08:49 +08:00
Yuhang Zhao d483c39b9a add way to disable window maximization
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-08 15:25:22 +08:00
Yuhang Zhao cb107b127a win: add one more workaround of Qt bug
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-29 15:01:59 +08:00
Yuhang Zhao 57a4d8875c cmake: improve the build scripts
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-27 21:13:46 +08:00
Yuhang Zhao 07101273bd win: refactor & simplify
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-26 11:18:13 +08:00
Yuhang Zhao f97f000cc7 avoid potential deadlocks
And some other minor tweaks.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-25 10:35:00 +08:00
Yuhang Zhao c914992aa4 adapt to latest qtbase
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-24 17:57:38 +08:00
Yuhang Zhao 684ebc3fa3 minor improvement
Code simplification & adapt to latest Qt code.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-23 14:04:47 +08:00
Yuhang Zhao eeda750a61 finalize api update
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-21 13:22:03 +08:00
Yuhang Zhao 81ec19d2aa remove unsafe compile params
Not sure whether MinGW supports it or not.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-20 17:39:24 +08:00
Yuhang Zhao 47bf4da5ae allow user to remove a window from the frameless window list
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-20 15:56:59 +08:00
Yuhang Zhao 3d3607af7b refactor
and maybe avoid potential bugs.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-16 17:38:13 +08:00
Yuhang Zhao 91bb8273b8 routine code quality improvement
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-15 18:24:34 +08:00
Yuhang Zhao 8667d1996e cmake: add some experimental flags, but commented out
Uncomment out if they are verified to work well.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-13 20:02:02 +08:00
Yuhang Zhao 0ceb0e85c1 win: remove one confusing assert
It works well for msvc but it also confuses a lot of people, so let's remove it.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-13 17:46:23 +08:00
Yuhang Zhao 221f1c12aa fix button size can't be changed
widget: fix the bug
quick: add the interface to change size

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-13 17:38:10 +08:00
Yuhang Zhao 119d10930b win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-13 11:02:53 +08:00
Yuhang Zhao 55fe04000e add more comments
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-11 10:43:48 +08:00
Yuhang Zhao 9cf8ba959d mac: fix build 2022-09-10 17:56:39 +08:00
Yuhang Zhao 33c3eaa05a win: add missing definitions for mingw
Fixes: #153
Fixes: #154

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-10 16:04:17 +08:00
Yuhang Zhao 34596db939 fix various issues found by user
Issue list:

1. MinGW lacks some definitions so there's compilation errors
2. The chrome buttons' foreground color is incorrect when the window is inactive.
3. Adapt to new macros from Qt dev branch.
4. Remove unneeded parameter from setApplicationOSThemeAware().

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-10 13:11:55 +08:00
Yuhang Zhao 6fe35a667e cmake: fix build error
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-07 13:44:08 +08:00
Yuhang Zhao 7dda58deaf free all resources during destruction
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-06 13:40:16 +08:00
Yuhang Zhao fb13ff1c1b improve macos experience [2/2]
Add support for old Qt version and old macOS version.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-06 11:31:07 +08:00
Yuhang Zhao f2a6d35908 improve macos code [1/2]
1. Simplify code a little
2. Use Qt functionalities as many as possible.
3. Prepare for adding old Qt support.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-05 16:55:55 +08:00
Yuhang Zhao b9f65aa783 add frameless dialog & demo
And some other minor fixes.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-05 15:00:02 +08:00
Yuhang Zhao ba343fbbd4 win: fix bug when using Qt 5.14 and below
Fixes: #152

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-01 16:45:32 +08:00
Yuhang Zhao 6b1a37a82a win: fix null pointer access in some rare cases
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-01 10:51:50 +08:00
Yuhang Zhao 7a35b09a74 add limited qmake support
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-31 16:34:30 +08:00