add loaders on main pages so they are instanciated only when switching to corresponding views
This commit is contained in:
parent
ff3aa59217
commit
a562b0f1c8
1 changed files with 71 additions and 54 deletions
|
|
@ -582,72 +582,89 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CallPage {
|
Loader {
|
||||||
id: callPage
|
active: mainStackLayout.currentIndex === 0
|
||||||
Connections {
|
sourceComponent: CallPage {
|
||||||
target: mainItem
|
id: callPage
|
||||||
function onOpenNewCallRequest() {
|
Connections {
|
||||||
callPage.goToNewCall();
|
target: mainItem
|
||||||
|
function onOpenNewCallRequest() {
|
||||||
|
callPage.goToNewCall();
|
||||||
|
}
|
||||||
|
function onCallCreated() {
|
||||||
|
callPage.goToCallHistory();
|
||||||
|
}
|
||||||
|
function onOpenCallHistory() {
|
||||||
|
callPage.goToCallHistory();
|
||||||
|
}
|
||||||
|
function onOpenNumPadRequest() {
|
||||||
|
callPage.openNumPadRequest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function onCallCreated() {
|
onCreateContactRequested: (name, address) => {
|
||||||
callPage.goToCallHistory();
|
mainItem.createContact(name, address);
|
||||||
}
|
}
|
||||||
function onOpenCallHistory() {
|
Component.onCompleted: {
|
||||||
callPage.goToCallHistory();
|
magicSearchBar.numericPadPopup = callPage.numericPadPopup;
|
||||||
}
|
}
|
||||||
function onOpenNumPadRequest() {
|
onGoToCallForwardSettings: {
|
||||||
callPage.openNumPadRequest();
|
var page = settingsPageComponent.createObject(parent, {
|
||||||
}
|
defaultIndex: 1
|
||||||
}
|
});
|
||||||
onCreateContactRequested: (name, address) => {
|
openContextualMenuComponent(page);
|
||||||
mainItem.createContact(name, address);
|
|
||||||
}
|
|
||||||
Component.onCompleted: {
|
|
||||||
magicSearchBar.numericPadPopup = callPage.numericPadPopup;
|
|
||||||
}
|
|
||||||
onGoToCallForwardSettings: {
|
|
||||||
var page = settingsPageComponent.createObject(parent, {
|
|
||||||
defaultIndex: 1
|
|
||||||
});
|
|
||||||
openContextualMenuComponent(page);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ContactPage {
|
|
||||||
id: contactPage
|
|
||||||
Connections {
|
|
||||||
target: mainItem
|
|
||||||
function onCreateContactRequested(name, address) {
|
|
||||||
contactPage.createContact(name, address);
|
|
||||||
}
|
|
||||||
function onDisplayContactRequested(contactAddress) {
|
|
||||||
contactPage.initialFriendToDisplay = contactAddress;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ChatPage {
|
Loader {
|
||||||
id: chatPage
|
active: mainStackLayout.currentIndex === 1
|
||||||
Connections {
|
sourceComponent: ContactPage {
|
||||||
target: mainItem
|
id: contactPage
|
||||||
function onDisplayChatRequested(contactAddress) {
|
Connections {
|
||||||
console.log("display chat requested, open with address", contactAddress);
|
target: mainItem
|
||||||
chatPage.remoteAddress = "";
|
function onCreateContactRequested(name, address) {
|
||||||
chatPage.remoteAddress = contactAddress;
|
contactPage.createContact(name, address);
|
||||||
}
|
}
|
||||||
function onOpenChatRequested(chat) {
|
function onDisplayContactRequested(contactAddress) {
|
||||||
console.log("open chat requested, open", chat.core.title);
|
contactPage.initialFriendToDisplay = contactAddress;
|
||||||
chatPage.openChatRequested(chat);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MeetingPage {
|
Loader {
|
||||||
id: meetingPage
|
active: mainStackLayout.currentIndex === 2
|
||||||
Connections {
|
sourceComponent: ChatPage {
|
||||||
target: mainItem
|
id: chatPage
|
||||||
function onScheduleMeetingRequested(subject, addresses) {
|
Connections {
|
||||||
meetingPage.createPreFilledMeeting(subject, addresses);
|
target: mainItem
|
||||||
|
function onDisplayChatRequested(contactAddress) {
|
||||||
|
console.log("display chat requested, open with address", contactAddress);
|
||||||
|
chatPage.remoteAddress = "";
|
||||||
|
chatPage.remoteAddress = contactAddress;
|
||||||
|
}
|
||||||
|
function onOpenChatRequested(chat) {
|
||||||
|
console.log("open chat requested, open", chat.core.title);
|
||||||
|
chatPage.openChatRequested(chat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
active: mainStackLayout.currentIndex === 3
|
||||||
|
sourceComponent: Component {
|
||||||
|
id: meetingComp
|
||||||
|
MeetingPage {
|
||||||
|
id: meetingPage
|
||||||
|
Connections {
|
||||||
|
target: mainItem
|
||||||
|
function onScheduleMeetingRequested(subject, addresses) {
|
||||||
|
meetingPage.createPreFilledMeeting(subject, addresses);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Component {
|
Component {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue