[AccountWizard] Port to QML
Open, Needs TriagePublic

Description

Currently the KMail Account Wizard depends on Kross (which depends on the deprecated QtScript) to allow resources to "script" the account wizard flow.

In order to get rid of the Kross and QtScript dependencies (QtScript is basically dead and will be completely removed in Qt6 anyway), we should port the account wizard to support "scripting" or rather extending through QML.

This task does not require much Akonadi knowledge (just some basic concepts, there's an exhaustive description on the wiki), but requires some QML skills, as well as C++ coding. This is not a small change (i.e. not something that can be done in a single evening), but it's not massive either (so that it would take months to finish). The work can happen incrementally in smaller steps, it's not necessary to accomplish the whole task in a single commit.

dvratil created this task.Aug 16 2018, 8:04 PM
ognarb added a subscriber: ognarb.Mar 2 2021, 12:15 AM

I started the port in work/qml branch (https://invent.kde.org/pim/kmail-account-wizard/-/tree/work/qml). It is using KPackage for loading the wizards, so it will require updating all the existing wizards but since I was able to expose the existing SetupManager without much changes to the QML engine, it probably won't be that hard to port everything to QML.

ognarb added a comment.Mar 2 2021, 2:29 PM

Progress :)

ognarb added a comment.EditedMar 2 2021, 2:40 PM

PoC MR: https://invent.kde.org/pim/kmail-account-wizard/-/merge_requests/2 There is still a lot to do but it seems the approach is viable.

ognarb claimed this task.Mar 2 2021, 2:44 PM

Thank you Carl for looking into this! This task is probably the biggest porting blocker for PIM, I'm very happy to see we have a way forward for this now :)