You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.3 KiB
107 lines
3.3 KiB
import QtQuick 2.7
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Layouts 1.3
|
|
import QtQuick.Controls 1.4
|
|
|
|
import "../../common"
|
|
import "."
|
|
|
|
MyStackViewPage {
|
|
id: sendStateController
|
|
height: 800
|
|
width: 1600
|
|
headerText: "Send"
|
|
|
|
property string destinationAddress: ""
|
|
|
|
content: ColumnLayout {
|
|
id: sendStateView
|
|
property Item currentView
|
|
property Item previousView
|
|
|
|
property SendPagePIN pinPage: SendPagePIN {}
|
|
property SendPageDashboard dashPage: SendPageDashboard {}
|
|
property SendPageTransfer transferPage: SendPageTransfer {}
|
|
property SendPageQR qrPage: SendPageQR {}
|
|
|
|
state: ''
|
|
|
|
onCurrentViewChanged: {
|
|
if (previousView) {
|
|
if (typeof previousView.onPageClosed === "function") {
|
|
previousView.onPageClosed();
|
|
}
|
|
}
|
|
|
|
if (currentView) {
|
|
sendStack.replace(currentView)
|
|
// Calls when view is opened
|
|
if (typeof currentView.onPageCompleted === "function") {
|
|
currentView.onPageCompleted(previousView);
|
|
}
|
|
}
|
|
|
|
previousView = currentView;
|
|
}
|
|
|
|
states: [
|
|
State {
|
|
name: "pinPage"
|
|
PropertyChanges { target: sendStateView; currentView: sendStateView.pinPage }
|
|
}, State {
|
|
name: "dashPage"
|
|
PropertyChanges { target: sendStateView; currentView: sendStateView.dashPage }
|
|
}, State {
|
|
name: "transferPage"
|
|
PropertyChanges { target: sendStateView; currentView: sendStateView.transferPage }
|
|
}, State {
|
|
name: "qrPage"
|
|
PropertyChanges { target: sendStateView; currentView: sendStateView.qrPage }
|
|
}
|
|
]
|
|
|
|
StackView {
|
|
id: sendStack
|
|
clip: true
|
|
initialItem: sendStateView.dashPage
|
|
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
delegate: StackViewDelegate {
|
|
pushTransition: StackViewTransition {
|
|
PropertyAnimation {
|
|
target: enterItem
|
|
property: "x"
|
|
from: sendStack.backTransition ? -target.width : target.width
|
|
to: 0
|
|
duration: 300
|
|
easing.type: Easing.OutCubic
|
|
}
|
|
|
|
PropertyAnimation {
|
|
target: exitItem
|
|
property: "x"
|
|
from: 0
|
|
to: sendStack.backTransition ? target.width : -target.width
|
|
duration: 300
|
|
easing.type: Easing.OutCubic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function onPageCompleted(previousView){
|
|
sendStateView.state = "dashPage"
|
|
}
|
|
|
|
onBackClicked: {
|
|
// top back button to send/receive menu, reset default states for sendViews
|
|
sendStateView.pinPage.onPageCompleted();
|
|
sendStateView.qrPage.onPageCompleted();
|
|
sendStateView.dashPage.onPageCompleted();
|
|
sendStateView.transferPage.onPageCompleted();
|
|
}
|
|
}
|