We have moved to a new Sailfish OS Forum. Please start new discussions there.
58

[Request] QtQuick Controls

asked 2014-12-16 23:30:59 +0200

MartinK gravatar image

updated 2015-01-09 23:31:33 +0200

temaleva gravatar image

The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick. While Controls are usually available since Qt 5.1 on all platform supported by Qt (Linux, Windows, MacOS X, Android, iOS, etc.), QtQuick Controls are not available on Sailfish OS:

[nemo@Jolla ~]$ zypper search controls
Loading repository data...
Reading installed packages...
No packages found.

Similar search on the Mer OBS also does not find anything related to Controls.

Therefore I would like to propose making the QtQuick Controls available on Sailfish OS to "fix" this. :)

Benefits

  • improved compatibility with other Qt using platforms
  • QtQuick Controls are slowly becoming the de-facto standard for non-toy QtQuick UIs (due to lack of other cross platform alternatives ;-) )
  • missing modules don't make cross platform developers happy (case in point from another platform: missing QAudio & QSystemInfo on in Qt 4 on BB10)
  • makes cross platform application development possible, opening way to more much needed native applications for Sailfish OS
  • a post on Sailfish Devel from a developer trying to port GCompris about the lack of the Controls module motivated me write this question/request)

    • Silica looks really nice and has many nice touch optimizations, it is only available on Sailfish OS, while Controls are available everywhere else
    • due to its closed nature Silica is only developed by Jolla, while Controls are backed by Digia and other Qt project contributions and also accept community contributions thanks to the open development model
  • some developers might prefer to use an open toolkit to write their application

    • and #unlike on silica community developers might be able to contribute improvements to Controls - either as downstream or even upstream patches
  • the Nemo Mobile project might benefit from being able to integrate elements from QtQuick Controls to its upcoming Glacier component set, possible making Glacier usable in a shorter timeframe

How to do this ?

  • it should relatively easy to enable the QtQuick Controls module - changing some compile time flags and adding packaging metadata for the module
  • even a best effort, unsupported, non-Harbor variant should be good enough for now :)
edit retag flag offensive close delete

Comments

With the help of qtquick controls and dialogs Gcompris was already successfully ported on android. We have not so much time before postman brings us our Jolla tablet and our kids will ask - Hey daddy , why I could not play Gcompris on your tablet and mommy has it (on android).

temaleva ( 2014-12-17 00:00:14 +0200 )edit

@temaleva: Actually the modRana Android port (which is using Controls) runs fine on the Jolla and should works also on the tablet as long as it has working Android emulation. :D But that is just a gross hack & a funny thing to note. :)

MartinK ( 2014-12-17 00:14:15 +0200 )edit

As author of Siilihai web forum reader I'd love to see controls on Sailfish. I understand that it's a compromise, but hobbyist developers often do not have resources to create and maintain two versions of the UI (Silica and Controls). Currently you can only use the basic set of QML elements if you want to write a truly portable QML application.

cos ( 2014-12-17 17:48:47 +0200 )edit
2

@cos: Yep, I had to solve a similar issue with modRana - its GUI is quite complex and it is iteratively developed, so keeping multiple GUI code bases in sync would be a huge pain in the ass.

So I've created the Universal Components project, that makes it possible to use a single QML GUI source code on multiple platforms without modification. Currently it supports Controls and Silica backends, so modRana (or any other application using it) should not look out of place. :)

Still, if you want to use some of the more advanced GUI elements available only in Controls or if you want to port a complex Controls using application, this won't help you. :)

MartinK ( 2014-12-18 01:47:02 +0200 )edit

GCompris is special case. It is a game. It works in full screen mode. It should not have the same look and fill as another part of UI. It just works in its own universe. So there is no much sense at all to use Silica in that case.

temaleva ( 2014-12-18 11:27:51 +0200 )edit

3 Answers

Sort by » oldest newest most voted
5

answered 2016-11-17 15:39:41 +0200

I'd prefer not to see QtQuick.Controls 1 in SFOS as they're not optimized for touch and won't look natively. But QQC2 is other thing. They're touch-optimized and are stylable so Sailfish can provide Silica-like styles for them.

IMHO providing QQC2 with Silica style would be a perfect move.

edit flag offensive delete publish link more

Comments

You are right. I think is great SailfishOs keeps the style. It will look hodge podge and really unprofessional if controls are not styled for SailfishOs. If no stylization it will look like Windows app. :D

alloj ( 2016-11-17 16:06:41 +0200 )edit
0

answered 2015-01-09 23:34:42 +0200

temaleva gravatar image

updated 2015-02-23 00:36:03 +0200

As temporal solution https://github.com/nemomobile/qtquickcontrols-nemo Rpm for Sailfish in version 5.2 could be installed from here. https://openrepos.net/content/locusf/glacier-homescreen

UPDATE: This temporal solution does not work actually. This library is too old. You can also build QtQuick controlls by your self, but this does not help anyway. For now Gcompris uses version 1.2 of QtQuick Controls - first time appeared in Qt 5.3. But SailfishOS has Qt 5.2.2. I was not able to build needed version of Controls.

UPDATE2: Version of QtQuick Controls in Gcompris was limited to 1.1, so it is possible to use qt 5.2.2 from SailfishOS. You just need to build and install Controls (and layouts also) by your self.

edit flag offensive delete publish link more

Comments

1
-2

answered 2016-11-17 14:30:11 +0200

condo4 gravatar image

I think this is a raison why many people prefer to develop Android applications withg Qt5 and QtQuick controls than develop a native SailfishOS application... I think this is a mistake for this OS.

edit flag offensive delete publish link more

Comments

there is qtquick controls in repository available to use for ages, but nobody using it.

coderus ( 2016-11-17 16:15:23 +0200 )edit

Since this is not officially supported, and not in the SDK, it's probably refused by QA process if an application use it. Nobody using it since the application can't be push on the official store...

condo4 ( 2016-11-18 12:31:25 +0200 )edit
Login/Signup to Answer

Question tools

Follow
10 followers

Stats

Asked: 2014-12-16 23:30:59 +0200

Seen: 1,875 times

Last updated: Nov 17 '16