[SailfishDevel] Page Status code

Thomas Perl th.perl at gmail.com
Wed Feb 12 23:19:42 UTC 2014


On 2014-02-12 20:36, Chris Walker wrote:
> In the past (Harmattan code), I would have done this sort of stuff :-
>
> onStatusChanged: {
>          if (status==PageStatus.Activating) {
>
> but there is no 'onStatusChanged' option now. So what do I use now?
>
> I've looked here -
> https://sailfishos.org/sailfish-silica/qml-sailfishsilica-page.html but
> it doesn't mention that status directly.

In QML, every property automatically has a on[Property]Changed signal, 
and those signals are not documented, because the language itself 
defines that such signals always exist for each property and therefore 
do not need to be documented explicitly. The documented "status" 
property will - when changed - cause the "onStatusChanged" handler to be 
called.

>From 
http://qt-project.org/doc/qt-5.0/qtqml/qtqml-syntax-objectattributes.html#property-change-signal-handlers:

"Signal handlers for property change signal take the syntax form 
/on<Property>Changed/ where /<Property>/ is the name of the property, 
with the first letter capitalized. For example, although the TextInput 
<http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-textinput.html> 
type documentation does not document a textChanged signal, this signal 
is implicitly available through the fact that TextInput 
<http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-textinput.html> 
has a text 
<http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-textinput.html#text-prop> 
property and so it is possible to write an onTextChanged signal handler 
to be called whenever this property changes [...]"

So the code as written above (onStatusChanged) should in fact work as-is.

HTH :)
Thomas


More information about the Devel mailing list