Commit Graph

159 Commits

Author SHA1 Message Date
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 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 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 1cf5a53ecb fix build error
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-24 10:47:55 +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 3961ecb505 quick: fix a regression
Looks like we can't use overloads in QML documents.

Should fix #183

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-21 17:12:33 +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 524f65cc9b win: some minor improvements
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-11 15:25:39 +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 b8a3ff604f win: minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-10 11:17:29 +08:00
Yuhang Zhao 3842f4e353 win: fix typo
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-09 14:43:44 +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 07bd39d1aa win: minor improvement
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-11-06 19:28:25 +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
trbogdanov 31849d1c12
gcc and qt-5.12.0 compilation error fix (#171)
Compililation with gcc (any version) and Qt 5.12.0 (important) fails with error:
```
Core/private/sysapiloader_p.h:59:26: error: no matching function for call to ‘QMutex::QMutex()’
     static inline QMutex m_mutex;
                          ^~~~~~~
include/QtCore/qmutex.h:165:5: note: candidate: ‘QMutex::QMutex(const QMutex&)’ <deleted>
     Q_DISABLE_COPY(QMutex)
     ^~~~~~~~~~~~~~
```

`QMutex` in Qt 5.12.0 has explicit (!) one-parameter constructor with a
default value: `QMutex(QMutex::RecursionMode mode = NonRecursive)` and no
default constructor. In this case declaring static inline member without
initializer causes the above error.
2022-10-26 17:13:53 +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 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 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 994b02ad6c quick: add FramelessApplicationWindow element
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-10-12 10:47:41 +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 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 ac9a05209e quick: fix misleading and annoying warning
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-30 12:58:13 +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 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 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 47dcb8f032 quick: emulate Windows behavior more, just like widget
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-14 17:07:06 +08:00
Yuhang Zhao 1b36587f14 widgets: emulate Windows behavior more
On Windows, when you left click the window icon in the title bar, the system menu will be triggered.
And when you double click it, the window will be closed.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-14 13:30:08 +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 55fe04000e add more comments
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-11 10:43:48 +08:00
Jan Kowalewicz 6a46844853
win: Qt version check for #155 (#157) 2022-09-11 10:23:01 +08:00