You could also create a shared (stateless) JS library which you can use to share variables between different qml documents.
/Mikko 2014-06-06 9:47 GMT+03:00 Andrey Kozhevnikov <coderusin...@gmail.com>: > i have an another idea for you: > > ... > var newPage = pageStack.push(Qt.resolvedUrl("newPage.qml"), {...}) > newPage.done.connect(thisPage.pageDone) > ... > > //thisPage > ... > function pageDone(var1, var2, var3, ...) { > //do something with var > } > ... > > //newPage > ... > signal done(string var1, int var2, string var3, ...) > ... > > //Button > ... > onClicked: { > page.done("something", 123, "test", ...) > } > ... > > 05.06.2014 22:49, i...@flyingfischer.ch пишет: > > Hi Chris >> >> thanks for this idea and your code example! >> >> I am working on app in a very early stage that will partially talk to a >> remote server and get dynamic content. In some cases it even will create a >> little bit of traffic... >> >> ...so I will stick for the moment with the solution provided by >> Konstantin. >> >> Regarding the use of Dialog: >> >> I come from the Java world and am an absolute newbie on QT. I couldn't >> figure out how this would work. The documentation from Sailfish OS || QT is >> not very clear about this, at least not for me. >> >> ...but I intend to learn and will certainly restudy the docu and try to >> check out other use cases from other apps, untill I get it ;-) >> >> Thanks to anybody! >> >> Markus >> >> Am 05.06.2014 16:40, schrieb Christopher Lamb: >> >>> Hi Markus >>> >>> In my app I chose to instantiate all my Pages in the same place. Each of >>> the pages has a declaration in a separate qml file (e.g. MainPage.qml, >>> AreaSelectionPage.qml). >>> >>> With this architecture none of the declarations need to know about the >>> previous or next page. It is not their concern. Instead they emit >>> signals NextPage, BackPageWithInfo, and Cancelled. In the signal handler >>> in the page instantation I do the actual pushing and popping, and >>> because all pages are instantiated in the same scope, they are all >>> available to be pushed / popped to. (see code example below). >>> >>> The downside is that all the pages are created on startup (regardless of >>> if they are ever visited). For lightweight pages this is not a problem, >>> but for some pages this might be a problem. For these I dynamically >>> create the page content when the page is visible. >>> >>> Grüsse >>> >>> Chris >>> >>> >>> ApplicationWindow { >>> >>> id: appWindow >>> >>> ....... >>> >>> initialPage: mainPage >>> >>> MainPage { >>> >>> id: mainPage >>> >>> .... >>> >>> onNextPage: { >>> >>> if (pageType =="SMS") { >>> >>> console.log("smsType is: " + smsType) >>> >>> if (smsType =="Default") pageStack.push(smsPage, {lati: >>> mainPage.getLati(), longi: mainPage.getLongi(), alti: mainPage.getAlt >>> i(), area_id: area_id, template_id: template_id, msg_status: msg_status, >>> lastPage: "mainPage"}) >>> >>> } >>> >>> else { >>> >>> pageStack.push(areaSelectionPage) >>> >>> } >>> >>> } >>> >>> } >>> >>> AreaSelectionPage { >>> >>> id: areaSelectionPage >>> >>> .... >>> >>> onBackPageWithInfo: { >>> >>> mainPage.areaSet = true; >>> >>> mainPage.area_id = area_id; >>> >>> pageStack.pop(mainPage); >>> >>> } >>> >>> onCancelled: pageStack.pop(mainPage); >>> >>> } >>> >>> SMSPage { >>> >>> id: smsPage >>> >>> .... >>> >>> onNextPage: { >>> >>> pageStack.push(contactSelectionPage, {area_id: area_id, template_id: >>> template_id}) >>> >>> } >>> >>> } >>> >>> ContactSelectionPage { >>> >>> id: contactSelectionPage >>> >>> .... >>> >>> onBackPageWithInfo: { >>> >>> console.log("About to pop smsPage; contactName: " + contactName + ", >>> contactPhone: " + contactPhone); >>> >>> smsPage.contactName = contactName; >>> >>> smsPage.contactPhone = contactPhone; >>> >>> smsPage.lastPage = "contactSelectionPage"; >>> >>> pageStack.pop(smsPage); >>> >>> } >>> >>> onCancelled: pageStack.pop(smsPage); >>> >>> } >>> >>> } >>> >>> >>> >>> >>> >>> >>> >>> On 05.06.14 14:43, i...@flyingfischer.ch wrote: >>> >>>> Thanks for your inputs! >>>> >>>> Calling >>>> >>>> PreviousPage.topic = "MyTopic"; >>>> pageStack.pop(); >>>> >>>> gives me a ReferenceError: PreviousPage is not defined. >>>> >>>> PreviousPage.qml and property string topic do exist. >>>> >>>> Thanks for your patience! >>>> >>>> Markus >>>> >>>> _______________________________________________ >>>> SailfishOS.org Devel mailing list >>>> To unsubscribe, please send a mail to >>>> devel-unsubscr...@lists.sailfishos.org >>>> >>> >>> >>> >>> _______________________________________________ >>> SailfishOS.org Devel mailing list >>> To unsubscribe, please send a mail to devel-unsubscribe@lists. >>> sailfishos.org >>> >>> _______________________________________________ >> SailfishOS.org Devel mailing list >> To unsubscribe, please send a mail to devel-unsubscribe@lists. >> sailfishos.org >> > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to devel-unsubscribe@lists. > sailfishos.org >
_______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org