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
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
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
07101273bd
win: refactor & simplify
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-26 11:18:13 +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
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
7dda58deaf
free all resources during destruction
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-06 13:40:16 +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
5018d9ea82
widget: add support for changing title font
...
Not needed for Qt Quick, because you can easily to change it:
```qml
StandardTitleBar {
titleLabel {
font {
family: "Arial"
pointSize: 10
italic: true
}
}
}
```
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-09-02 10:39:45 +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
7a35b09a74
add limited qmake support
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-31 16:34:30 +08:00
Yuhang Zhao
463ac0a999
add window icon support
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-31 10:21:24 +08:00
Yuhang Zhao
e55afa2fe3
simplify a function
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-28 20:08:44 +08:00
Yuhang Zhao
ce78c037b1
add some helper functionalities
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-28 19:25:22 +08:00
Yuhang Zhao
406c801383
Remove unneeded function
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-25 11:16:50 +08:00
Yuhang Zhao
1bce57445b
win: use qt own functions more
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-19 10:53:46 +08:00
Yuhang Zhao
a49756ee45
registrykey: rename
...
RegistryKey is a better name than Registry.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-17 10:42:48 +08:00
Yuhang Zhao
0535276f55
win: use Qt functionalities as much as possible
...
If Qt provides the functionalities we need, use it
instead of reinventing the wheel.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-16 15:24:14 +08:00
Yuhang Zhao
3dbeb2721a
minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-06 12:01:12 +08:00
Yuhang Zhao
beb16bfdc2
linux: minor improvement
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-04 10:32:32 +08:00
Yuhang Zhao
f4f56498c2
win32: minor improvement
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-30 17:26:27 +08:00
Yuhang Zhao
775b1a2aab
minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-30 11:34:14 +08:00
Yuhang Zhao
7616161699
Implement homemade Mica material & other improvements
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-16 15:25:15 +08:00
Yuhang Zhao
4f8106a009
minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-10 14:26:01 +08:00
Yuhang Zhao
7e3a735a7d
minor tweaks and improvements
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-09 12:10:41 +08:00
Yuhang Zhao
9a93475f2b
fix typo: snap layouts --> snap layout
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-07 17:00:15 +08:00
Yuhang Zhao
011b4a85f5
fix Qt5 build
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-07 16:22:34 +08:00
Yuhang Zhao
2806cc811b
code simplification, minor re-structure
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-07 13:43:09 +08:00
VerySimple
b413d0b1e6
修改了几个地方 ( #139 )
...
* merge 3 commits
modify a few lines
Update framelesshelper_windows.h
* improve syntax
2022-07-07 10:26:14 +08:00
Yuhang Zhao
464e2af515
finish the chrome palette implementation
...
And with some other minor tweaks that improve user experience.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-06 14:24:41 +08:00
Yuhang Zhao
e8dcb6e6fe
add api to set title bar and chrome button color
...
TODO:
1. Special handling for the close button
2. Move QuickChromePalette class to own files
3. More testing
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-05 17:58:04 +08:00
Yuhang Zhao
aed1673855
win32: remove the limit to the manifest file
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-05 10:36:34 +08:00
Yuhang Zhao
df5ff50c7f
win32: minor improvement
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-04 18:05:04 +08:00
Yuhang Zhao
cbf34ea0ec
win32: try to fix bug
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-04 13:03:23 +08:00
Yuhang Zhao
71f8a5aab1
add blurBehindWindowEnabled property
...
Current only implements for Windows,
macOS will be implemented later,
Linux won't be supported in the near future.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-03 16:01:19 +08:00
Yuhang Zhao
f90b49538a
add support for qmltc tool
...
Also remove one useless enum.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-07-01 15:52:28 +08:00
Yuhang Zhao
7b769a71a0
minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-06-26 14:57:18 +08:00
Yuhang Zhao
a89f19af96
2.1.7 release
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-06-25 19:38:41 +08:00
Yuhang Zhao
888f9d0aca
standardsystembutton: use icon font instead of svg images
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-06-24 18:04:49 +08:00
Yuhang Zhao
45b3657d7e
minor tweaks
...
Doesn't seem to affect the final appearance
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-13 20:51:03 +08:00
Yuhang Zhao
d13d74783f
quick: simplify implementation
...
1. Merge the three system buttons into one class.
2. Fixed some color calculation errors of system button.
3. Removed some not used bundled resources.
4. Added function to retrieve runtime version of FramelessHelper.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-13 17:33:01 +08:00
Yuhang Zhao
a1acc3e06f
common: minor tweaks
...
Code simplification, format changes, etc ...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-11 17:32:14 +08:00
Yuhang Zhao
a10ac4e32d
demos: simplify some code
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-08 18:24:09 +08:00
Yuhang Zhao
053d6b104e
centralize how we handle global options
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-08 16:09:00 +08:00
Yuhang Zhao
286811c9df
expose private headers, someone may need
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-07 18:02:44 +08:00
Yuhang Zhao
c936a7da80
minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-06 21:00:07 +08:00
Yuhang Zhao
cfb0842726
win: make sure we can still compile this project using some old windows sdks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-04 17:09:30 +08:00
Yuhang Zhao
81e736570f
refactor widgets interface
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-03 19:02:39 +08:00
Yuhang Zhao
ff8252aaf4
Add initial snap layout implementation
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-30 12:47:51 +08:00
Yuhang Zhao
fbe241f29e
internal refactor
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-29 18:03:39 +08:00
Yuhang Zhao
fd2b3f5e84
Linux: fix mouse release event not being sent due to wrong parameter
...
Also simplifies a little Windows implementation.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-25 13:48:19 +08:00
Yuhang Zhao
a0a9b8d108
Final code of version 2.0.0!
...
Some minor issues are known to exist and they'll get fixed before 2.1 is officially released.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-23 14:59:27 +08:00
Yuhang Zhao
130d174dc2
misc: improve old Qt version support
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-21 21:13:16 +08:00
Yuhang Zhao
701d8d0927
fix build on 5.12 & add initial opengl demo
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-21 15:10:16 +08:00
Yuhang Zhao
b5eebada2c
minor general improvement
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-20 13:09:11 +08:00
Yuhang Zhao
d86e9144a2
general improvement
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-19 17:01:07 +08:00
Yuhang Zhao
5173fb51af
macos: add initial implementation
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-18 16:56:58 +08:00
Yuhang Zhao
dee635c0b9
misc: minor improvements
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-17 21:09:24 +08:00
Yuhang Zhao
079c8ff6b6
misc: minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-17 09:03:11 +08:00
Yuhang Zhao
2c0ec868ab
finish the linux implementation
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-16 16:55:51 +08:00
Yuhang Zhao
859912ae25
misc: minor tweaks
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-16 10:09:51 +08:00
Yuhang Zhao
cd05b6ecdf
quick: finish qml -> cpp migrating
...
Convert all qml files to pure c++ implementation.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-16 09:52:38 +08:00
Yuhang Zhao
a57011bd11
win32: half implementation of max btn docking
...
Now the problem is how to send mouse click events to our system buttons
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-09 12:53:55 +08:00
Yuhang Zhao
1839c968db
finish the implementation of StandardSystemButton
...
Convenient button widget to emulate the standard system button
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-07 10:17:16 +08:00
Yuhang Zhao
4eac2b2970
implement TransparentWindowBackground option
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-06 13:15:29 +08:00
Yuhang Zhao
e19dad5b82
some wip code
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-05 19:54:43 +08:00
Yuhang Zhao
b5d2ae5888
quick: improve the standard titlebar's appearance
...
And some minor tweaks to the initialize() function.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-02 17:56:45 +08:00
Yuhang Zhao
d4bacdcab6
quick: fix running on qt5
...
Previously Qt5 can't recognize the Anchor enum, it's fixed now.
Also rename framelesshelper_quick to framelessquickhelper, the
former name was to avoid conflict with an already removed class.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-02 13:07:26 +08:00
Yuhang Zhao
3a466492c2
win32: fix 32bit compilation failure, for real
...
I misunderstands the 32bit build failure in the previous
commit. The fix in the last commit didn't fix anything
but break the compilation on 32bit platforms.
Fixes : #109
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-02 09:56:32 +08:00
Yuhang Zhao
eb1c6f4a62
win32: minor improvements
...
1. Fix build on 32bit platforms: the "Ptr" suffixed APIs not available on 32bit platforms
2. Reduce the confusion caused by the original "UseStandardWindowLayout" option
3. Minor tweaks of the quick implementation
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-01 20:06:48 +08:00
Yuhang Zhao
5c7434ea35
misc: refactor, take 2
...
add byte array literals handling
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-01 15:18:44 +08:00
Yuhang Zhao
6166422e37
misc: internal refactor
...
centralize how we handle string literals.
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-01 14:09:14 +08:00
Yuhang Zhao
3525dfee58
win32: nitpck: don't highlight the first entry of the system menu if brought by mouse
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-31 15:59:49 +08:00
Yuhang Zhao
f13238312b
win32: fix dark mode detection
...
global dark mode was first introduced in Win10 1607, not 1809
1809 was the first version that file explorer supported dark mode
really sorry for the wrong information
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-30 14:15:12 +08:00
Yuhang Zhao
90ad8d281a
little simplify
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-30 13:16:19 +08:00
Yuhang Zhao
c49b971983
internal refactoring
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-29 13:34:05 +08:00
Yuhang Zhao
d4e711d679
win implementation is mostly settled now
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-26 15:31:16 +08:00
Yuhang Zhao
533bbeac82
wip - QtQuick impl on win mostly done
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-25 15:44:59 +08:00
Yuhang Zhao
fd3b815924
wip
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-24 16:37:37 +08:00
Yuhang Zhao
6ffc894213
wip
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-23 16:38:14 +08:00
Yuhang Zhao
d94f8221d3
wip
...
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-23 10:48:22 +08:00