[SailfishDevel] A welcome dialog and pageStack's operation in progress.
Dmitriy Purgin
dpurgin at gmail.com
Wed Jul 16 13:13:18 UTC 2014
Sorry Marcin, misread the name :)
2014-07-16 18:55 GMT+06:00 Dmitriy Purgin <dpurgin at gmail.com>:
> Hi Martin,
>
> I had the same issue while dealing with a similar problem where start
> page was showing BusyIndicator while the application is loading. What
> I did is connected to Component.onCompleted in ApplicationWindow,
> start the initialization procedure and replace the page after
> initialization is done:
>
> // main.qml
>
> ApplicationWindow
> {
> Component.onCompleted: {
> pageStack.push(Qt.resolvedUrl("pages/Loader.qml"))
> myApp.initialize(); // call of an exposed C++ method
> }
> }
>
> // Loader.qml:
>
> Page {
> BusyIndicator {
> running: myApp.initializing // Q_PROPERTY exposed in C++ class
> }
> onRunningChanged: {
> if (!running)
> pageStack.replace(Qt.resolvedUrl("FirstPage.qml"))
> }
> }
>
> I think you can add both of your pages in Component.onCompleted() of
> the ApplicationWindow and switch between them in runtime.
>
> Cheers
>
> 2014-07-16 18:45 GMT+06:00 Marcin M. <marmistrzmar at gmail.com>:
>> Take back what I said. The workaround doesn't work. :P
>>
>> --
>> Marcin
>>
>>
>> 2014-07-16 14:42 GMT+02:00 Marcin M. <marmistrzmar at gmail.com>:
>>
>>> This way the dialog opens after closing the dialog. Worked it around by
>>>
>>>
>>> Component.onCompleted:
>>> {
>>> while (status != PageStatus.Active) {}
>>> openWelcomeDialog()
>>> }
>>>
>>> --
>>> Marcin
>>>
>>>
>>> 2014-07-16 11:01 GMT+02:00 Andrey Kozhevnikov <coderusinbox at gmail.com>:
>>>
>>>> do not use onCompleted in this case. use status == PageStatus.Active
>>>> instead
>>>>
>>>> 16.07.2014 14:58, Marcin M. пишет:
>>>>
>>>> I'd like to open a welcome dialog at startup which can be disabled by a
>>>> user.
>>>>
>>>> Page
>>>> {
>>>> id: mainPage
>>>> function openWelcomeDialog()
>>>> {
>>>> var component = Qt.createComponent("WelcomeDialog.qml")
>>>> var popup = component.createObject(mainPage)
>>>> popup.open()
>>>> }
>>>>
>>>> Component.onCompleted: openWelcomeDialog()
>>>> // ...
>>>> }
>>>>
>>>> In fact
>>>>
>>>> [W] unknown:90 - file:///usr/lib/qt5/qml/Sailfish/Silica/PageStack.js:90:
>>>> Error: Cannot push while operation is in progress: push
>>>>
>>>> happens.
>>>>
>>>>
>>>> What's done wrong?
>>>>
>>>> --
>>>> Marcin
>>>>
>>>>
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>> To unsubscribe, please send a mail to
>>>> devel-unsubscribe at lists.sailfishos.org
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>> To unsubscribe, please send a mail to
>>>> devel-unsubscribe at lists.sailfishos.org
>>>
>>>
>>
>>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
More information about the Devel
mailing list