Lanto - An Intuitive Batch Photo Resizer available in Mac App Store

  • Qt Champions 2016


    I want to share my new project that uses Qt here. Its name is Lanto, a bulk photo resizer, available in Mac App Store.

    Project Site

    og.jpg (1201×630)

    Lanto on the Mac App Store

    Application Screenshot
    Lanto - Screenshot 1.png (434×506)

    Tech Stack

    1. Qt 5.9
    2. Fluid
    3. QuickFlux
    4. AsyncFuture
    5. QtShell
    6. ViewStack.pri

    and… the QTBUG list that I met during development: QTBUG-40645, QTBUG-61332, QTBUG-61751

    Although it is just a tiny tool and application logic is simple, I still want to keep the architecture clean. In order to separate view and controller code, it has applied the Flux architecture and centralised most of the application logic into store components.

    C++ communication module is served as a middleware such that no view component depends on any custom C++ code. In theory, Qt Creator's Quick Designer should work perfectly. But in fact, it is not, because not all of the depended library works well with Qt Creator. Instead, I use the SparkQML as a preview tool to validate the behaviour of view transition without compiling the application.

    All the visual items except pages are saved into a single folder called uikit, and a snapshot of components image is generated by SparkQML. I send this image to the designer in my team so that she could validate the look and feel even the program is not ready to use yet. And it keeps the naming convention between developer and designer be consistent.

    Lanto - UIKit.png (1300×1000)

  • Lifetime Qt Champion


    Looks nice !

    Thanks for sharing :)

  • Moderators

    Oh, looks gorgeous! And thanks for describing the "backend" bits, very interesting.

    I've used Phatch batch editor for a long time (and long time ago), this seems similar but much fresher :-) Cool! Any plans for Linux/Windows release?

  • Looks amazing, good job ^_^

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.