Draft: Migrate to C++ app, call i18n.bindtextdomain, fix in-app icon load path & version printing
Closes #186, CC @sunweaver
- Migrate from a
qmlscene
-calling script to a proper C++ executable.
Baseline for C++ code is taken from lomiri-filemanager-app.
I've had some issues with finding the C++ QML plugins after the switch, due to the non-click installation putting them in an extraClockApp
directory without adjusting the plugins' data to account for that. The status quo was to point qmlscene into the extra directory for non-click, and into regular lib for click. Dropping that & treating everyone equal by adoptingClockApp
.- Not a QML expert & open to a better solution, but the status quo just seemed weird & unnecessary to me.
- Should maybe be smth like
Lomiri.ClockApp.WorldClock
?
- Call
i18n.bindtextdomain
with the locale path determined at configure time. - The app information page was using a relative path lookup to load the app's icon, which did not consider that the icon is installed to different locations between click and non-click modes.
Fix by using the information we know at configure time. - On my end, before porting to C++, the app information page was showing the Qt version as the app's version.
Configure the project version into the code, to then set & display the correct version there.
Click mode has been given a very basic, non-UT-distro test. Non-click mode seems to work fine (no audio & an error when deleting an alarm, but I think those are due to missing services/deps).
Draft while figuring out !217 (comment 2008470539). HEAD has a commit that shouldn't be merged, for printing more details about the issue.
Edited by Cosima Neidahl