-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add QML Support using Qt6 #236
base: main
Are you sure you want to change the base?
Changes from all commits
881e4c1
a840d64
ab55929
0429e70
5a89b4b
8da8c3f
624de97
2095295
269eacf
69f993c
bcefcf8
30e4920
8c094de
a4cb371
599b3f1
4e98b29
0442e18
13c6a81
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,19 @@ | ||
ChangeLog | ||
========= | ||
|
||
version 0.14.3 (release 2024-05-03) | ||
|
||
- Fix Android build for Qt 6.7 (Volker Krause <[email protected]>) | ||
|
||
version 0.14.2 (release 2023-12-17) | ||
|
||
- Add support for KWallet 6 (Volker Krause <[email protected]>) | ||
|
||
version 0.14.1 (release 2023-06-01) | ||
|
||
- Export QKeychain::isAvailable() to make it usable in a shared build (Volker Krause <[email protected]>) | ||
- Protect against creating the QtKeychain::QtKeychain alias target twice (Volker Krause <[email protected]>) | ||
|
||
version 0.14.0 (release 2023-05-12) | ||
|
||
- Add Qt 6 Android support (Igor Bugaev <[email protected]>) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,3 +27,45 @@ License | |
------- | ||
|
||
QtKeychain is available under the [Modified BSD License](http://www.gnu.org/licenses/license-list.html#ModifiedBSD). See the file COPYING for details. | ||
|
||
|
||
**New:** | ||
========== | ||
Added QML support on Qt6 using cmake | ||
To activate set the qt6 and qml flags | ||
|
||
```CMAKE | ||
-DBUILD_WITH_QT6=ON -DQTKEYCHAIN_BUILD_WITH_QML=ON | ||
``` | ||
|
||
```QML | ||
import QtKeychain 1.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Need to think about versioning here. Should it follow the qtkeychain versioning (then this would be 0.15), or not? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Gonna set it to |
||
``` | ||
|
||
```QML | ||
WritePasswordJob{ | ||
id: storeJobObject | ||
service: "" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe set something here for demonstration? Or remove the line |
||
onFinished: { | ||
console.debug("Store password complete") | ||
} | ||
} | ||
ReadPasswordJob{ | ||
id: readJobObject | ||
service: "" | ||
|
||
} | ||
``` | ||
|
||
```javascript | ||
storeJobObject.key = "username"; | ||
storeJobObject.setTextData("password"); | ||
storeJobObject.start(); | ||
|
||
readJobObject.key = "username" | ||
readJobObject.finished.connect(function (returnedPassword){ | ||
console.debug("Password is: "+returnedPassword.textData()) | ||
}) | ||
readJobObject.start(); | ||
|
||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit unsure how this dependency fits in with distro packages and the like, one can either disable the dependency to not have the qtkeychain package depend on QML, or enable it, and add the dependency. I guess it's maximally annoying for application developers if then some distros enable QML support and some ignore the flag and thus don't.
I'm leaning to enable QML support by default, and let those who want a minimal build do custom builds with the flag set to OFF.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a developer of an offscreen library depending on Qt Keychain I'd rather be happy not to drag the dependency on QML. As for the CMake part, I think there's a way to introduce this dependency down the line in
*Config.cmake
file instead and that can even be conditional, but I didn't try it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you relying on distro packages, or are pulling in qtkeychain directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In CI, I pull Qt Keychain from a tag and build it directly because it's the only way to have one unified logic across 3 platforms; but distros packaging my library have all reasons to link it externally.