Commit Graph

35 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 cb88b602fe minor tweaks
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-12-05 14:33:38 +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 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 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 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 7a35b09a74 add limited qmake support
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-08-31 16:34:30 +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 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
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 093040ec93 make windowFixedSize a Qt property
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-23 15:17:34 +08:00
Yuhang Zhao 5754f2ec20 common: improve robustness
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-20 17:36:44 +08:00
Yuhang Zhao 8042a78b8f various fixes and improvements
1. Make all demo applications be able to record and restore the previous window geometry.
2. Improve the robustness of the widgets and quick implementation.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-13 14:19:50 +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 81e736570f refactor widgets interface
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-05-03 19:02:39 +08:00
Yuhang Zhao 2915d1f33a Widgets: move FramelessWidgetsHelper to source directory
It's pure implementation detail, so should not be publicly visible

Also fixed the crash of the QOpenGLWidget demo application.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-24 11:33:05 +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 68296cc1ae linux: update the implementation based on previous commit
When implementing macOS functionalities, some functions changed signature, update accordingly.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-18 19:11:23 +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 bb42c69d36 linux: minor improvements
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-04-17 18:30:16 +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 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 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
Julien 06c23aaba5
FIX #92 do not call startSystemMove2 in MousePressEvent (#105)
* FIX #92 do not call startSystemMove2 in MousePressEvent

* Add same fix for QtQuick

Co-authored-by: Julien Maille <julien.maille@data-pixel.com>
2022-03-29 15:38:20 +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 56f2638363 adjust the project structure again
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
2022-03-21 14:28:52 +08:00