Integrating Qt Quick components in Ministro
BogDan
bog_dan_ro at yahoo.com
Thu Jan 12 15:29:24 UTC 2012
Hi,
Yes, sadly we have to get our hands very dirty.
First step is to identify all Qt components then we have to find Android's corresponding components, then we must extract the style & look information to a central location (IMHO Ministro should do this job), then any application which starts will peek this infos from that location and use them to paint all controls.
Second step is to check how Android paints the controls, here the things will become dirty, we have to check "frameworks/base/core/java/android/widget/TextView.java" from Android source code and it seems we have to use a lot of private data, I hope the Android versions are not so different.
Third step is to change Ministro in order to extract all the infos we need to paint our controls.
Fourth step is to create a QStyle plugin (which will be used by QML as well) which loads the data extracted by Ministro and use it to paint the controls. If the extract procedure is very fast (less than 10ms), I doubt it will be that fast :), we can skip the third step and extract the data directly in QStyle.
Fifth step, if everything works, we must get drunk !
Cheers,
BogDan.
>
>
>While I don't agree on "almost all applications have the same look" (as far as I can see, the only fully common UI element is the menu/toolbar combo), I respect your choice.
>
>The first step would be to define what is the "Android style". Is there some Google guidelines you plan to follow?
>
>Regards
>- Chris -
>
>
>On Tue, Jan 3, 2012 at 17:45, BogDan <bog_dan_ro at yahoo.com> wrote:
>
>Hi,
>>
>>
>> I think none of your examples are good to follow :) The reason why meego doesn't use QtStyle to draw the widgets is because meego doesn't have a "native" style. Symbian is even worst, open any two applications on symbian and you'll see that none of them have the same look & style :) On Android is a different story, almost all applications have the same look & style, so if we want to have a first class citizen port, all Qt applications *MUST* look the same as any android application. I'm choosing to make QStyle plugin because this way all Qt applications will benefit from it, either they are made using old-fashion widgets or QML components.
>>For me a good android style is a top priority, I don't believe I'll have enough time to finish it till beta 1 but who knows ...:) maybe if other people will join me we can split the work and we can have this feature in time for beta1.
>>
>>
>>Cheers,
>>BogDan.
>>
>>
>>
>>>
>>>and please note that the Qt quick components (either symbian or meego) don't use Qt widget styles. All the components are drawn in qml so the componenets would unfortunately not benefit from your work on a widget style.
>>>>- Chris -
>>
>>>
>>>
>>>On Thu, Dec 22, 2011 at 21:53, BogDan <bog_dan_ro at yahoo.com> wrote:
>>>
>>>
>>>>
>>>>Hi Chris,
>>>>
>>>>Please accept my apologize for the slow reply.
>>>>I think before we'll integrate the components into Ministro, we must do a few things:
>>>> - the components MUST use Android's style, next year I'm planning to create a style plugin for
>>>>
>>>>widgets which should be used by Qt Quick Components for Android.
>>>> - wait until Nokia finishes to define the API for Qt Quick components [1]. We can't afford to break the API after we release it :)
>>>>
>>>>
>>>>Cheers,
>>>>BogDan.
>>>>
>>>>
>>>>[1] https://bugreports.qt.nokia.com/browse/QTCOMPONENTS-200
>>>>
>>>>
>>>>>
>>>>>Hi guys,
>>>>>
>>>>>What would the steps be to integrate the Qt quick components for Android to Ministro as a package?
>>>>>
>>>>>- Chris -
>>>>
>>>
>>>
>>>
>>
>
>
>
More information about the Necessitas-devel
mailing list