Skip to content

Draft: Migrate to C++ app, call i18n.bindtextdomain, fix in-app icon load path & version printing

Cosima Neidahl requested to merge OPNA2608/lomiri-clock-app:fix/c++Port into main

Closes #186, CC @sunweaver

  1. 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 extra ClockApp 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 adopting ClockApp.
    • 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?
  2. Call i18n.bindtextdomain with the locale path determined at configure time.
  3. 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.
  4. On my end, before porting to C++, the app information page was showing the Qt version as the app's version.
    image
    Configure the project version into the code, to then set & display the correct version there.
    image

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).
Bildschirmfoto_2024-06-29_00-21-24


Draft: Based on !215 and !216 to avoid merge conflicts

Edited by Cosima Neidahl

Merge request reports