If you declare all your pages in ApplicationWindow like:

ApplicationWindow {
  id: appWindow
  cover: Qt.resolvedUrl("CoverPage.qml")

  MainPage {
    id: mainPage
  }

  SecondPage {
    id: secondPage
  }
}

then you can use pages global properties and functions from CoverPage:

CoverBackground {
  id: cover
  ...

  Label {
    anchors.centerIn: cover
    ...
    text: mainPage.processStatus
    color: secondPage.getCoverColor()
  }
}

On 16.11.2013 13:39, Gabriel Boehme wrote:
Hi Artem,

thanks for the fast response.

Your solution is a good idea, and could work for some values (main page
and first cover) - thanks for that! :), but not all.

Because I can pass them only in the moment I instantiate them. So I have
to instantiate all of them in the ApplicationWindow. This is possible,
but I guess due to the SailfishOS glass effect they appear stacked. So I
see other files (pages/cover), even if they are not set as the PageStack
first page or Cover. Maybe it's possible to workaround with opacity and
checking for PageStatus, but seems not to be the cleanest solution. And
the other side is, the console output/examples said, it's better to
create them just in the moment you really need them.

So I also tried, var page = Qt.createComponent("qml/file"), so I can
store a page/cover in a variable and push that on the PageStack, but I
can't reach the property aliases.

Thanks.

Gabriel.


Am Samstag, den 16.11.2013, 01:55 +0200 schrieb Artem Marchenko:
Hi Gabriel


There are several ways of passing data between Cover and rest of app
(or any components). You can try using app global object ids or
javascript files with .pragma library and gloval [to them] variables
or inject global objects from C++ via setContextProperty().


The way I like doing it is to keep shared object in main.qml and pass
it to pages/covers at the moment of instantiation the following way:


========
ApplicationWindow
{
     id: app
     property string sharedValue: "whatever you want to share to cover"





     initialPage: Component {
         MainPage {
             torch: app.sharedValue

         }

     }


     cover: Component {
         CoverPage {
             torch: app.sharedValue
         }
     }


}

========


I hope if helps.


Cheers,
Artem.




On Sat, Nov 16, 2013 at 1:00 AM, Gabriel Boehme
<m.gabrielboe...@googlemail.com> wrote:
         Hi Sailfish sailors,
I want to ask, what is recommended/best practice to handle
         different
         covers/covers with dynamic information.
My case: On the main page (MainPage.qml) you can select some options
         and search
         depending on the selected options. My main cover shows the
         selected
         options if minimized, so I can't just create it with
         Qt.resolvedUrl("path/to/maincover.qml"), because I'm "talking"
         to the
         cover with via property aliases. So I'm creating this cover
         directly as
         an instance in ApplicationWindow.
After the search a ListView shows the results from a model and
         I created
         another cover to switch between the results with CoverAction
         (show
         next/previous) - it takes the data from the model. But also
         shows some
         information from main page - via property alias.
So the point is: to fill the cover pages with the dynamic data
         I can't
         create them with Qt.resolvedUrl("path/to/cover.qml"), or
         push("mypage.qml") because I need property aliases to set the
         information on the covers. But in the most examples and also
         the console
         output tells me, that it is not clever to create instances in
         the
         ApplicationWindow part.
So what is best practice? Do I miss something? Thank you very much in advance. Gabriel _______________________________________________
         SailfishOS.org Devel mailing list




--
Artem Marchenko
http://agilesoftwaredevelopment.com
http://twitter.com/AgileArtem
_______________________________________________
SailfishOS.org Devel mailing list

_______________________________________________
SailfishOS.org Devel mailing list

_______________________________________________
SailfishOS.org Devel mailing list

Reply via email to