Replaced Loader with StackView; Fixed payment id generation

This commit is contained in:
Ilya Kitaev 2016-10-02 23:54:05 +03:00
parent 0ff3fd3212
commit 56c3579501
2 changed files with 72 additions and 52 deletions

View file

@ -30,37 +30,74 @@ import QtQuick 2.2
import QtQml 2.0 import QtQml 2.0
import QtQuick.Controls 2.0 import QtQuick.Controls 2.0
import QtGraphicalEffects 1.0 import QtGraphicalEffects 1.0
import "pages"
Rectangle { Rectangle {
id: root id: root
property Transfer transferView: Transfer { }
property Receive receiveView: Receive { }
property History historyView: History { }
property Item currentView
onCurrentViewChanged: {
if (currentView) {
stackView.replace(currentView)
}
}
color: "#F0EEEE" color: "#F0EEEE"
signal paymentClicked(string address, string paymentId, double amount, int mixinCount, int priority) signal paymentClicked(string address, string paymentId, double amount, int mixinCount, int priority)
signal generatePaymentIdInvoked() signal generatePaymentIdInvoked()
states: [ // states: [
State { // State {
name: "Dashboard" // name: "Dashboard"
PropertyChanges { target: loader; source: "pages/Dashboard.qml" } // PropertyChanges { target: loader; source: "pages/Dashboard.qml" }
}, State { // }, State {
name: "History" // name: "History"
PropertyChanges { target: loader; source: "pages/History.qml" } // PropertyChanges { target: loader; source: "pages/History.qml" }
}, State { // }, State {
name: "Transfer" // name: "Transfer"
PropertyChanges { target: loader; source: "pages/Transfer.qml" } // PropertyChanges { target: loader; source: "pages/Transfer.qml" }
}, State { // }, State {
name: "Receive" // name: "Receive"
PropertyChanges { target: loader; source: "pages/Receive.qml" } // PropertyChanges { target: loader; source: "pages/Receive.qml" }
}, State { // }, State {
name: "AddressBook" // name: "AddressBook"
PropertyChanges { target: loader; source: "pages/AddressBook.qml" } // PropertyChanges { target: loader; source: "pages/AddressBook.qml" }
}, State { // }, State {
name: "Settings" // name: "Settings"
PropertyChanges { target: loader; source: "pages/Settings.qml" } // PropertyChanges { target: loader; source: "pages/Settings.qml" }
}, State { // }, State {
name: "Mining" // name: "Mining"
PropertyChanges { target: loader; source: "pages/Mining.qml" } // PropertyChanges { target: loader; source: "pages/Mining.qml" }
} // }
] // ]
states: [
State {
name: "Dashboard"
PropertyChanges { }
}, State {
name: "History"
PropertyChanges { target: root; currentView: historyView }
}, State {
name: "Transfer"
PropertyChanges { target: root; currentView: transferView }
}, State {
name: "Receive"
PropertyChanges { target: root; currentView: receiveView }
}, State {
name: "AddressBook"
PropertyChanges { /*TODO*/ }
}, State {
name: "Settings"
PropertyChanges { /*TODO*/ }
}, State {
name: "Mining"
PropertyChanges { /*TODO*/ }
}
]
Row { Row {
id: styledRow id: styledRow
@ -75,34 +112,18 @@ Rectangle {
Rectangle { height: 4; width: parent.width / 5; color: "#FF4F41" } Rectangle { height: 4; width: parent.width / 5; color: "#FF4F41" }
} }
StackView {
id: stackView
// TODO: replace loader with StackView initialItem: transferView
anchors.fill: parent
// StackView { anchors.margins: 4
// id: stackView clip: true // otherwise animation will affect left panel
// anchors.left: parent.left
// anchors.right: parent.right
// anchors.top: styledRow.bottom
// anchors.bottom: parent.bottom
// }
Loader {
id: loader
anchors.left: parent.left
anchors.right: parent.right
anchors.top: styledRow.bottom
anchors.bottom: parent.bottom
onLoaded: {
console.log("Loaded " + item);
}
} }
/* connect "payment" click */ /* connect "payment" click */
Connections { Connections {
ignoreUnknownSignals: false ignoreUnknownSignals: false
target: loader.item target: transferView
onPaymentClicked : { onPaymentClicked : {
console.log("MiddlePanel: paymentClicked") console.log("MiddlePanel: paymentClicked")
paymentClicked(address, paymentId, amount, mixinCount, priority) paymentClicked(address, paymentId, amount, mixinCount, priority)

View file

@ -43,14 +43,13 @@ Rectangle {
function updatePaymentId() { function updatePaymentId() {
var payment_id = appWindow.persistentSettings.payment_id var payment_id = appWindow.persistentSettings.payment_id
if (payment_id.length === 0) { if (typeof appWindow.currentWallet !== 'undefined') {
payment_id = appWindow.wallet.generatePaymentId() payment_id = appWindow.currentWallet.generatePaymentId()
appWindow.persistentSettings.payment_id = payment_id appWindow.persistentSettings.payment_id = payment_id
appWindow.currentWallet.payment_id = payment_id addressLine.text = appWindow.currentWallet.address
integratedAddressLine.text = appWindow.currentWallet.integratedAddress(payment_id)
} }
paymentIdLine.text = payment_id paymentIdLine.text = payment_id
addressLine.text = appWindow.currentWallet.address
integratedAddressLine.text = appWindow.currentWallet.integratedAddress(payment_id)
} }
Clipboard { id: clipboard } Clipboard { id: clipboard }