[Request] QtQuick Controls
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 :)
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 )editAs 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@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 )editGCompris 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