[Development] Qt5 missing features
bog_dan_ro at yahoo.com
Wed Apr 11 11:25:41 CEST 2012
>> - platform menu APIs. Current APIs are not enough for Android platform (same
>> for Mac OSX?), I need a way to *manage* from platform plagin the menubar and
>>the context menus, meaning that Qt must show/hide the menu(bar) using the
>>platform plugin. There where two proposals ,  which, at first sight,
>>seems to be what I'm looking for, but they have been abandoned for months,
>>is there any reason why not pushing them forward ?
>The platform menu work is ongoing, see http://codereview.qt-project.org/#change,22764 .
Great ! I'll provide feedback ASAP.
>> - platform theme APIs, current APIs are good but not enough, BTW
>>"KeyboardSchemes" enum doesn't seems to used and IMHO doesn't contain very
>>cross platform values :). For several months I struggle to create a style
>>plugin for Android, I manage to create the support for a few classic widgets
>>and I found that the work I did can not be used also for QML ones. I believe
>>it is a huge waste of time to do the same job twice in two different ways.
>>IMHO both QML and classic widgets should use a single theme manager to draw
>>the widgets, of course every single platform should be able to create its own
>You might want to take look at the QML desktop components, which uses QStyle to draw. Never mind the "desktop" label - they really are QStyle components.
We checked QML desktop components, we also had endless discussions which one ( desktop, symbian or meego) should be picked as starting base for Android QML components, the problem with QML desktop components is that not all controls are touch friendly (e.g. lists, editbox, etc.), even they have Android look the feel is not the right one.
As I said, I believe is a waste of time to have 3 completely different ways to draw QML components (desktop, symbian and meego) + one for classic widges. If a theme manager will do this job (draw the control, provide default style attributes e.g. min/max size, palette, font style & size, etc.) you'll get rid of a lot of double work, so you'll end up with two QML components implementation, one for pointer devices (desktop, N900, etc.) and one for touch devices (N9, etc.), the classic widgets will uses the same theme implementation for their controls and to get default style attributes. I don't believe current QStyle is enough to do this job, probably a new theme manager should take its place, some work in this direction is already done in QPlatformTheme, it just needs a little bit more love :) !
More information about the Development