There is a "feature" in QML that the property name has to start with lower case letter. Although, this is only enforced in the "onXyzChanged" paradigm. Properties starting with '_' do generate the change notify signal, but the only way they can be utilize that is to create own property as
SomeComponent { variant myCopyProperty: _property // platform specific property in SomeComponent onMyCopyPropertyChanged: console.log("_property changed") } This isn't too appealing for the developers. Can one make signal connections in QML? The documentation is always "connecting" to the onXyzChanged convention - not to the actual xyzChanged signal. The grouped properties would be THE solution, but unfortunately not possible. -P >-----Original Message----- >From: qt-components-bounces+pekka.e.jokela=nokia....@qt.nokia.com >[mailto:qt-components-bounces+pekka.e.jokela=nokia....@qt.nokia.com] On >Behalf Of ext mathias.malmqv...@nokia.com >Sent: 04.03.2011 20:09 >To: Hartz Henrik (Nokia-MS-Qt/Oslo); qt-components@qt.nokia.com >Subject: Re: [Qt-components] Platform-specific properties in a cross- >platform world > > >In the "custom" branch implementation I've stayed away from using the >"__" prefix >altogether, mainly because QML fails to automatically create the >"Changed" signals >for these properties. I.e. if a property is defined like this > >property bool __myPrivateProperty > >this won't work > >on__myPrivatePropertyChanged: print("it changed!") > >nor will this: > >__onMyPrivatePropertyChanged: print("it changed!") > > >I'm not sure I like the __ convention, but it's probably just because >I'm not a JS developer >and haven't got used to seeing it. > >Anyway, just created http://bugreports.qt.nokia.com/browse/QTBUG-17950 > >Grouped properties could perhaps be used for private and platform >specific properties, but >the necessary support is lacking, see >http://bugreports.qt.nokia.com/browse/QTBUG-15269 > > >Cheers >Mathias > >------------------------------------------------------------ >Mathias Malmqvist >UX Prototype Lead >10 Great Pulteney Street, London, W1F 9NB, UK >Got no reply? Try giving me a call: >Mobile: +44 (0)77 6522 2738 >http://www.nokia.com >________________________________________ >From: qt-components-bounces+mathias.malmqvist=nokia....@qt.nokia.com >[qt-components-bounces+mathias.malmqvist=nokia....@qt.nokia.com] on >behalf of ext henrik.ha...@nokia.com [henrik.ha...@nokia.com] >Sent: Thursday, March 03, 2011 3:43 PM >To: qt-components@qt.nokia.com >Subject: [Qt-components] Platform-specific properties in a cross- >platform world > >Hi, > >After some internal discussions, we're wondering the best approach for >making a cross-platform API for Qt Quick components. A bit of >background; currently, we have a common API that we use an apichecker >test to verify conformance - and we're quite OK there. However, there >are a few properties and features that are platform specific - for >instance 'focusable' on MeeGo's ImplicitSizeItem, needed for some >specific item interaction features, or Symbian having 'title' in it's >Page. > >The convention we have used so far is; > * '__' is private and should not be used. Best approach is to have a >QtObject {id:property} with properties for hiding private properties > * '_' is platform specific, and should be used with care.. > >however, neither of these illustrate which platform you are locking >yourself to - and it does not allow encapsulating the platform specific >property for e.g. Symbian. > >Question to the list; are there better techniques for exposing >properties to a common element from a specific implementation - and be >able to use such properties in the implementation effectively? Can >attached properties be used for this without breaking the ability to >deploy the App to a different platform that doesn't have this property? > >Others, please pipe up if I forgot some details about our discussion. > >Cheers, >Henrik >_______________________________________________ >Qt-components mailing list >Qt-components@qt.nokia.com >http://lists.qt.nokia.com/mailman/listinfo/qt-components >_______________________________________________ >Qt-components mailing list >Qt-components@qt.nokia.com >http://lists.qt.nokia.com/mailman/listinfo/qt-components _______________________________________________ Qt-components mailing list Qt-components@qt.nokia.com http://lists.qt.nokia.com/mailman/listinfo/qt-components