UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Using QBS for UBports applications

    Scheduled Pinned Locked Moved App Development
    7 Posts 3 Posters 571 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • mardyM Offline
        mardy
        last edited by

        Hi there, I just released a VNC client application which I built using clickable + QBS, probably the only build system which I like.

        I wrote a blog post to announce it, but while writing the post, I realized that there was some information that a developer could find useful, so I'm copying that here:

        Development of a UBports Qt/QML app with QBS

        If, like me, you are a fan of QBS, you might want to have a look at the source code of CuteVNC (yes, the project was born as "Lomiri VNC", but since it's a generic QtQuick.Controls 2 application, there was no need to tie it to the Lomiri environment); there you can find a QBS module for UBports applications, which can help in filling in the manifest file and deploying other Ubuntu Touch specific files into their proper install location.

        You can also see the configuration file to make clickable build a QBS-based project. In my mental task backlog I still have the idea of making clickable support QBS out of the box, but the integration of the two technologies is so easy even now, that I gave this task a quite low priority.

        A class for computing viewport transformations

        Last but not least, a developer might find useful the generic Scaler class I wrote to compute the viewport transformations: it's a simple, QtGui-only C++ class which takes an input structure with the viewport information, and returns a similar structure containing a QTransform matrix to map item coordinates to coordinates in the source object coordinates (in my case, the source object is the remote screen served by VNC) and some other useful parameters, such as the scale, center offset, and the painted area rectangle.

        The class has a 100% line and branch coverage in the unit tests, so I hope I can rely on it.

        K 1 Reply Last reply Reply Quote 6
        • K Offline
          kugiigi @mardy
          last edited by

          @mardy Awesome work! Someone's working on a vnc server so that means we can now control other UT devices from another UT device 😂
          Did you actually release it to the store or only in github? I don't see it on the store on my Xperia X.

          mardyM 1 Reply Last reply Reply Quote 0
          • mardyM Offline
            mardy @kugiigi
            last edited by

            @kugiigi Thanks. If I didn't make any mistakes in publishing it, it's here: https://open-store.io/app/it.mardy.lomiri-vnc

            Is the Xperia an arm64? If so, indeed, I didn't build it for arm64. But let me give it a try...

            mardyM 1 Reply Last reply Reply Quote 0
            • mardyM Offline
              mardy @mardy
              last edited by

              The arm64 version is now in the store. I have no idea if it works, though 🙂

              Please let me know, if it doesn't work.

              1 Reply Last reply Reply Quote 0
              • K Offline
                kugiigi
                last edited by

                @mardy It does work. Thanks!
                See this UTception 😁
                screenshot20201214_021346326.png

                CiberSheepC 1 Reply Last reply Reply Quote 1
                • CiberSheepC Offline
                  CiberSheep @kugiigi
                  last edited by

                  @kugiigi meta!

                  Another planet, another time, another universe!

                  K 1 Reply Last reply Reply Quote 0
                  • K Offline
                    kugiigi @CiberSheep
                    last edited by

                    @cibersheep And it even work on the Pinephone 😁

                    1 Reply Last reply Reply Quote 1
                    • First post
                      Last post