[Development] [Google Summer of Code] [Project Ideas] Qt Quick Controls 2 Sailfish Silica Style

Aleksey Kontsevich tantrido at ya.ru
Fri Apr 6 20:18:27 CEST 2018


Hi all, 

Only one argument.

>I don't see any point in moving this to QtProject as we don't have Sailfish OS platform upstreamed.

Just let's not miss the moment when it become upstreamed. :-) Things move very fast recent days. Rostelecom and Russian universities make much effort to promote and advance it. Since it is the only mobile OS certified by FSS, and only approved by government - it will be the primary OS applications will be developed for in government and corporate sectors where security is a corner stone. It is sales hit in Russia currently among civilian users (https://buyon.ru/1311520/inoi-r7/) and become upstreamed very fast with and like Russia become upstreamed already and become much more developed in nearest future.  

Or You mean upstreamed in QtProject? :-) Let's make it upstream then! :-)

Agree with the rest.

-- 
Best regards,
Aleksey
Linked in  https://www.linkedin.com/in/alekseykontsevich



06.04.2018, 18:40, "Alexander Akulich" <akulichalexander at gmail.com>:
> Hi all,
>
> I highly doubt that it can be done as a part of GSoC and I don't see
> any point in moving this to QtProject as we don't have Sailfish OS
> platform upstreamed. We just need this style to make QQC2 applications
> look native on Sailfish OS. I think that we'll have to rely on
> closed-yet components and the style is not going to look nice with
> mocks.
>
> That said, I see a number of issues and I hope that we'll discuss and
> agree on some changes to the QQC2 API:
> 1) I would like to propose ComboDelegate — a pair of ComboBox and
> Label, combined in a platform-specific way (similar to CheckDelegate
> and RadioDelegate).
> 2) We also need a delegate to display a label and an associated value.
> It is named "DetailItem" in Silica, but I would agree to go with a
> name like ValueDelegate.
> 3) Yet another point is that we need to properly style delegate
> descriptions, so I want to propose "description" property at least for
> Combo, Radio and Switch delegates (we even don't have a 'buddy'
> property here, though it still would be very hacky to go in this way).
>
> Probably it makes sense to start another thread to discuss Qt Quick
> Controls 2 API, but I need at least three weeks to think and
> experiment with what we have right now. :-)
>
> My work is available at
> https://git.merproject.org/Kaffeine/qtsilicastyle (compatible with Qt
> 5.9 and 5.10), but I don't think that it can be interesting for anyone
> in its current shape.
>
> On Fri, Apr 6, 2018 at 4:11 PM, Alexey Andreyev
> <yetanotherandreyev at gmail.com> wrote:
>>  Got it, thank you, Mitch! :)
>>
>>  Yes, I have contacted Jolla devs, got answer:
>>
>>>   Providing Sailfish support for Qt Quick Controls 2 would definitely be
>>>  valuable. Sailfish OS cannot build app ecosystem alone, and improving the
>>>  cross-platform story would help us getting Qt app contributions from other
>>>  platforms, and help 3rd party developers target multiple platforms like
>>>  Android and iOS with the same code base.
>>
>>>  You are free to use what license you choose, but I would recommend
>>>  something permissive like BSD3 or LGPL2, which we also use in Sailfish OS
>>>  open source side
>>
>>  Silica Componets source is not public, yes :( But I've got device where I
>>  have all up-to-date qml files and I'm it as hint.
>>
>>  I've also played to run armv7h binaries from device repos (rpm packages) on
>>  archlinuxarm (wrote PKGBUILDs) with all the deps and some hacky qt5 linkage
>>  address patching for .so lib, it staring and not crashing but asking for
>>  more deps yet (like image resources deps, so work in progress)
>>
>>  Alexander Akulich (Kaffeine) from Open Mobile Platform is helping me a lot
>>  too, he recently created:
>>
>>  https://git.merproject.org/Kaffeine/qtsilicastyle
>>
>>  So I'm going to contribute there.
>>
>>  For now current state is:
>>
>>  5.10 private API chaged compating to 5.9:
>>  https://github.com/qt/qtquickcontrols2/commit/b18b6375d170ce02dc5a627bfb69ca49046ee05c#diff-7467cf01ad998520d6d9d2995867e8e2
>>
>>  Alexander is testing with 5.9 LTS on SailfishOS
>>  and me with archlinuxarm 5.10
>>  so I'm thinking now how to provide better compabilty for both :)
>>
>>  looks like #ifdef approarch is not helping yet, should investigate more time
>>
>>  2018-04-06 15:47 GMT+03:00 Mitch Curtis <mitch.curtis at qt.io>:
>>
>>>  Hi.
>>>
>>>  We think this would be best in a repo outside of qtquickcontrols2.git.
>>>
>>>  The process for creating a playground repo is documented here:
>>>
>>>  http://wiki.qt.io/Creating_a_new_module_or_tool_for_Qt#Getting_started_with_new_ideas_on_Qt_Project.27s_Playground.
>>>
>>>  Have you discussed this project with the Sailfish devs, by the way?
>>>  Perhaps they would be interested in integrating your efforts upstream.
>>>
>>>  One potential problem I see is that it seems that the source code is not
>>>  public:
>>>
>>>  https://together.jolla.com/question/6780/request-sourcecode-for-silica-core-components/
>>>
>>>  The closest thing is this repo, which doesn’t seem to be complete:
>>>
>>>  https://github.com/dm8tbr/sailfishsilica-qt5
>>>
>>>  How do you plan on implementing the style in light of this?
>>>
>>>  Speaking for myself: I would be happy to answer any questions you may have
>>>  with regards to implementing a Controls 2 style, but I don’t think I can put
>>>  aside enough time to be a mentor for this.
>>>
>>>  Cheers.
>>>
>>>  From: Alexey Andreyev [mailto:yetanotherandreyev at gmail.com]
>>>  Sent: Tuesday, 3 April 2018 2:14 PM
>>>  To: Aleksey Kontsevich <tantrido at ya.ru>
>>>  Cc: Mitch Curtis <mitch.curtis at qt.io>; development at qt-project.org
>>>
>>>  Subject: Re: [Development] [Google Summer of Code] [Project Ideas] Qt
>>>  Quick Controls 2 Sailfish Silica Style
>>>
>>>  Hi, Aleksey Kontsevich! Thank you for your support, I do agree that
>>>  Sailfish OS is receiving a huge contribution from Russian speaking
>>>  developers and focusing on other local markets too. There's also related
>>>  AsteroidOS community about smartwatches. They have a demo [1]
>>>
>>>  Talking about popularity: from my point of view, while Microsoft is
>>>  providing their Metro unified look for desktop and Intel-based tablets (and
>>>  Xbox) for example, looks like they do not have any plans for new mobile
>>>  devices (I mean arm-based) to provide. While Sailfish OS is mobile OS with
>>>  GSM-stack support for real arm-based systems. [1] Correct me if I'm wrong, I
>>>  do not want to mislead anyone.
>>>
>>>  Mitch Curtis, thank you for your feedback sincerely. I do understand your
>>>  skepticism about yet another controls in mainline to support. (but I do not
>>>  share this personally :)
>>>
>>>  I'm new to qqc2 internals. I've cloned qtquickcontrols2 repo 5.10.1 brach
>>>  (to play on my Arch Linux system). Dependency from some private APIs looks
>>>  tricky for me at first glance. I'm trying to sort out. I'm not against
>>>  providing silica style as some custom repo, the result I want to get is open
>>>  source solution to run Qt application in my personal environment with native
>>>  Silica look and feel. Will be happy to get any hints about basic repo draft
>>>  in that case (should I look at Kirigami approach?)
>>>
>>>  Anyway, as I wrote at my GSoC proposal, GSoC campaign is just money
>>>  support, I love Silica style, using Sailfish OS for several years and can't
>>>  stand that no one is willing to port it to modern QQC2 approach :) I guess
>>>  it could radically change skepticism about qt quick controls approach in
>>>  general from ios and android developers.
>>>
>>>  [1]: https://www.youtube.com/watch?v=Rd86KTs2Les
>>>
>>>  [2]: https://wiki.merproject.org/wiki/Adaptations/libhybris
>>>
>>>  2018-04-03 13:38 GMT+03:00 Aleksey Kontsevich <tantrido at ya.ru>:
>>>
>>>  Hi all, my 2 cents here:
>>>
>>>  >The controls look nice, but my concern is how relevant the Silica style
>>>  > is these days (in the context of how many people are developing apps for the
>>>  >Sailfish OS).
>>>
>>>  Sailfish OS become VERY popular in Russia and in Latin America, and for
>>>  people who wants their data and communication be secure. Market in Russia
>>>  growing very fast, Sailfish OS devices are hits of sales, leading
>>>  universities created courses for Sailfish OS, government certified
>>>  it for corporate and government use and since 2019 all mobile applications
>>>  from national software list (government and corporate use) should work in
>>>  Sailfish OS (according to import replacing law all applications should be
>>>  Russian-native and secure).
>>>
>>>  --
>>>  Best regards,
>>>  Aleksey
>>>  Linked in https://www.linkedin.com/in/alekseykontsevich
>>>
>>>  03.04.2018, 13:13, "Mitch Curtis" <mitch.curtis at qt.io>:
>>>
>>>  > Hi Alexey.
>>>  >
>>>  > The controls look nice, but my concern is how relevant the Silica style
>>>  > is these days (in the context of how many people are developing apps for the
>>>  > Sailfish OS).
>>>  >
>>>  > For each style we currently have, I would justify their inclusion into
>>>  > qtquickcontrols2.git for the following reasons:
>>>  >
>>>  > Default - extremely high performance at the cost of a very basic
>>>  > appearance. Tries to be neutral in terms of looks.
>>>  >
>>>  > Fusion - bridges the gap in terms of Desktop styling. An additional/more
>>>  > specific point that I think it is important here is that the controls are
>>>  > more compact (smaller) than any other pre-built style we offer (the Material
>>>  > style has a dense variant now, but that’s still larger if I recall
>>>  > correctly).
>>>  >
>>>  > Imagine - puts power in the hands of designers, frees up time for
>>>  > developers.
>>>  >
>>>  > Material - very relevant in terms of Android market share. Looks really
>>>  > nice; a good candidate for “non-native” cross-platform apps.
>>>  >
>>>  > Universal - relevant in terms of Windows market share.
>>>  >
>>>  > As mentioned, I do think the Silica controls look nice, but that’s the
>>>  > only justification I could think of for including them in
>>>  > qtquickcontrols2.git. For each new style we add, the maintenance cost
>>>  > increases, so this is something that we need to consider.
>>>  >
>>>  > What is your opinion on this?
>>>  >
>>>  > Cheers.
>>>  >
>>>  > From: Alexey Andreyev [mailto:yetanotherandreyev at gmail.com]
>>>  > Sent: Friday, 23 March 2018 8:49 PM
>>>  > To: Mitch Curtis <mitch.curtis at qt.io>
>>>  > Cc: development at qt-project.org
>>>  > Subject: Re: [Development] [Google Summer of Code] [Project Ideas] Qt
>>>  > Quick Controls 2 Sailfish Silica Style
>>>  >
>>>  > Thank you Mitch for the feedback!
>>>  > I've also tried to record current controls on a real device:
>>>  > https://youtu.be/T-qUZMuTGqw (hope not only 360p will be available soon)
>>>  >
>>>  > 2018-03-23 21:55 GMT+03:00 Alexey Andreyev
>>>  > <yetanotherandreyev at gmail.com>:
>>>  >> Silica cheat sheet:
>>>  >>
>>>  >> https://sailfishos.org/wp-content/uploads/2016/06/component_cheatsheet.png
>>>  >> Theme cheat sheet:
>>>  >> https://sailfishos.org/wp-content/uploads/2016/06/theme_cheatsheet.png
>>>  >> Icon reference:
>>>  >> https://sailfishos.org/wp-content/uploads/2016/06/icon_reference.png
>>>  >> code example:
>>>  >> https://gist.github.com/jaymzznoori/a980314f8248e0a1e7904c29c88ecdf3
>>>  >>
>>>  >> Youtube video with timestamp for platform-specific PulleyMenu element
>>>  >> example: https://youtu.be/jByW7UNmbxU?t=11m38s
>>>  >>
>>>  >> 2018-03-23 21:40 GMT+03:00 Mitch Curtis <mitch.curtis at qt.io>:
>>>  >>> Hello.
>>>  >>>
>>>  >>> Are there any screenshots of it? I read that entire page and the
>>>  >>> Silica docs but couldn’t see anything.
>>>  >>>
>>>  >>> Cheers.
>>>  >>>
>>>  >>> From: Development
>>>  >>> [mailto:development-bounces+mitch.curtis=qt.io at qt-project.org] On Behalf Of
>>>  >>> Alexey Andreyev
>>>  >>> Sent: Friday, 23 March 2018 5:39 PM
>>>  >>> To: development at qt-project.org
>>>  >>> Subject: [Development] [Google Summer of Code] [Project Ideas] Qt
>>>  >>> Quick Controls 2 Sailfish Silica Style
>>>  >>>
>>>  >>> Hello!
>>>  >>> My name is Alexey, what do you think about Silica Style for QQC2 as a
>>>  >>> gsoc project?
>>>  >>> I have some notes here: http://aa13q.ru/qqc2-silica-style-en/
>>>  >>>
>>>  >>> and want to create a proposal.
>>>  >
>>>
>>>  > ,
>>>  >
>>>  > _______________________________________________
>>>  > Development mailing list
>>>  > Development at qt-project.org
>>>  > http://lists.qt-project.org/mailman/listinfo/development
>>
>>  _______________________________________________
>>  Development mailing list
>>  Development at qt-project.org
>>  http://lists.qt-project.org/mailman/listinfo/development
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development



More information about the Development mailing list