Qaterial
Qaterial copied to clipboard
Qt6 support
😢 I tried my best but cannot make Qaterial support both Qt5 and 6 at the same time In this case, a new branch is needed, to continue working with both 5 and 6. Since WASM is still under heavy development, I think this PR can be delayed until they stabilize everything in Qt 6.2
See: https://bugreports.qt.io/browse/QTBUG-78647
Changes:
- added
qt5compat
Qt extra module in CI configuration, this is required when usingQtGraphicalEffects
- find_package now finds Qt6 only
- removed all versioned QML imports, Qt6 supports versionless QML import which ensures the latest version is used.
- updated QOlm to commit https://github.com/OlivierLDff/QOlm/commit/13a6cf91ee21f3f558fcebf0f3b683e4f21018e9
- in
qml/Qaterial/ApplicationWindow.qml
IDK whyoverlay
should be written asOverlay
- removed
qtquick_compiler_add_resources
and useqt6_add_resources
instead, since https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=36b253eebdf5169709475a8e9b4726f3d19a771b - upstream commit https://github.com/OlivierLDff/Qaterial/commit/8ab7d4678586d2afd1085441cc160f48dbe68601 and https://github.com/OlivierLDff/Qaterial/commit/61748ffdf53c8e18955685b72fce15d3da3883bb
- in
qml/Qaterial/Style.qml
the!=
and==
is replaced by!==
and===
~~(hell no javascript)~~ - added template type in
src/Qaterial/ColorTheme.cpp
,float
is used since QColor returns floats rather thandouble
-
AA_EnableHighDpiScaling
attribute is now deprecated and HiDPI scaling is always on
TODOs:
- ~~RegExpValidator needs to be replaced by QRegularExpressionValidator https://code.qt.io/cgit/qt/qtdeclarative.git/log/?qt=grep&q=RegExpValidator~~ done
Yes i think we really need 6.2 to merge into master.
- My idea is when 6.2 will go out, is to only use Qt6 and drop support for Qt5. Since they said everything should be there.
- QtGraphicalEffects will be build as a standalone library if i understand well, so we won't need compat with Qt6
Thanks for preliminary work.
Maybe some stuff can already premerged:
- RegExpValidator to RegularExpressionValidator
- The QColor stuff
- AA_EnableHighDpiScaling
I'm putting back discord of Qaterial here if you are interested : https://discord.gg/Bb5SeCD7
Thanks anyway, but I rarely use Discord, so sorry about that.
BTW I will split those commits up into smaller changesets later today so that parts of this PR can be merged separately.
just rearranged the commits, probably https://github.com/OlivierLDff/Qaterial/pull/111/commits/0d1b5bb2dd59e451af61550e04a21b2e5b675901 https://github.com/OlivierLDff/Qaterial/pull/111/commits/7e2e4b9fb097c4d58064f620470553559c56b881 https://github.com/OlivierLDff/Qaterial/pull/111/commits/3181e66980a15201650b0c5d981be650085db3dc and https://github.com/OlivierLDff/Qaterial/pull/111/commits/b63b7cc452130cbecb6d4b8a0f28426fd8ba0b06 can be merged now.
Hi, the commit https://github.com/OlivierLDff/Qaterial/pull/111/commits/88209d5225b2cc9fcf5d051e0289b979027e284c removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need for "porting" or "migration".
For now I'll mark this PR ready-to-review but I think it's better to be cherry-picked (as some changes are already merged)
Hi, the commit 88209d5 removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need for "porting" or "migration".
For now I'll mark this PR ready-to-review but I think it's better to be cherry-picked (as some changes are already merged)
Thanks for this work, i'm looking forward, once Qt 6.2 is out we will also upgrade https://github.com/KomodoPlatform/atomicDEX-Desktop to the last Qaterial !
Thanks a lot, I will wait for 6.2 before moving Qaterial to Qt6 too!
Hi, the commit 88209d5 removes the need for 5compat module, a self-built Qt6 dev branch can be found here
Tested under Windows, Linux and WASM platform, the new QtGraphicalEffects is fully compatible out-of-box and there's no need for "porting" or "migration".
For now I'll mark this PR ready-to-review but I think it's better to be cherry-picked (as some changes are already merged)
This is erroneous, you need to put back the Qt5CompactModule for QtGraphicalEffects, version 6.2 is not usable otherwise.
Suggesting to revert: https://github.com/OlivierLDff/Qaterial/commit/88209d5225b2cc9fcf5d051e0289b979027e284c
source: https://doc-snapshots.qt.io/qt6-dev/graphicaleffects5.html
There is no support for a regular include of QtGraphicalEffects in Qt6, you need to use the compat mod
That's sad. but I was using my personally-built Qt dev branch and found the QtGraphicalEffects is actually working.
https://github.com/moodyhunter/QtSnapshot/actions
I may need further investigation.
That's sad. but I was using my personally-built Qt dev branch and found the QtGraphicalEffects is actually working.
https://github.com/moodyhunter/QtSnapshot/actions
I may need further investigation.
It's likely the unofficial way, atleast i was not able to start my app with Qt6 without the Qt5CompatMode using online installer, so i think the official way is to use the good include
Also @OlivierLDff is it possible to merge this pr into a qt6_migration branch ? So projects that use qaterial can try the experimental branch
Hi all, sorry for the late update, I was not working on QML within last month. Just reverted the Core5Compat and the old QtGraphicalEffects module back. https://github.com/OlivierLDff/Qaterial/pull/111/commits/c3b8f695a26b55e1df4303f28214d73ca7d18259
Hi all, sorry for the late update, I was not working on QML within last month. Just reverted the Core5Compat and the old QtGraphicalEffects module back. c3b8f69
is it also possible to fix the conflict ?
I merged this into my master branch and it worked like a charm! I tested only on Windows so far.
I started to merge:
- AA_EnableHighDpiScaling attribute is now deprecated and HiDPI scaling is always on (https://github.com/OlivierLDff/Qaterial/pull/121)
- added template type in src/Qaterial/ColorTheme.cpp, float is used since QColor returns floats rather than double (https://github.com/OlivierLDff/Qaterial/pull/122)
- The regex stuff (https://github.com/OlivierLDff/Qaterial/pull/120)
Qt 6.3 released. When will Qaterial support Qt 6? Thanks
No date for now, I'm not working on UI right now