Merge branch 'master' of https://github.com/highfidelity/hifi into reset-wallet

This commit is contained in:
David Kelly 2017-08-30 15:30:29 -07:00
commit 962d1fc81d
9 changed files with 97 additions and 70 deletions

View file

@ -28,14 +28,14 @@ Rectangle {
property string activeView: "initialize";
property bool purchasesReceived: false;
property bool balanceReceived: false;
property bool securityImageResultReceived: false;
property bool keyFilePathIfExistsResultReceived: false;
property string itemId: "";
property string itemHref: "";
property double balanceAfterPurchase: 0;
property bool alreadyOwned: false;
property int itemPriceFull: 0;
property bool itemIsJson: true;
property bool securityImageResultReceived: false;
property bool keyFilePathIfExistsResultReceived: false;
// Style
color: hifi.colors.baseGray;
Hifi.QmlCommerce {
@ -48,6 +48,8 @@ Rectangle {
root.activeView = "initialize";
commerce.getSecurityImage();
commerce.getKeyFilePathIfExists();
commerce.balance();
commerce.inventory();
}
}
@ -190,6 +192,10 @@ Rectangle {
color: hifi.colors.baseGray;
Component.onCompleted: {
securityImageResultReceived = false;
purchasesReceived = false;
balanceReceived = false;
keyFilePathIfExistsResultReceived = false;
commerce.getLoginStatus();
}
}
@ -311,13 +317,6 @@ Rectangle {
anchors.left: parent.left;
anchors.right: parent.right;
onVisibleChanged: {
if (visible) {
commerce.balance();
commerce.inventory();
}
}
//
// ITEM DESCRIPTION START
//

View file

@ -29,7 +29,7 @@ Rectangle {
property string referrerURL: "";
property bool securityImageResultReceived: false;
property bool keyFilePathIfExistsResultReceived: false;
property bool inventoryReceived: false;
property bool purchasesReceived: false;
property bool punctuationMode: false;
// Style
color: hifi.colors.baseGray;
@ -43,6 +43,7 @@ Rectangle {
root.activeView = "initialize";
commerce.getSecurityImage();
commerce.getKeyFilePathIfExists();
commerce.inventory();
}
}
@ -69,11 +70,13 @@ Rectangle {
}
onInventoryResult: {
inventoryReceived = true;
purchasesReceived = true;
if (result.status !== 'success') {
console.log("Failed to get purchases", result.message);
} else {
purchasesModel.clear();
purchasesModel.append(result.data.assets);
filteredPurchasesModel.clear();
filteredPurchasesModel.append(result.data.assets);
}
}
@ -161,6 +164,9 @@ Rectangle {
color: hifi.colors.baseGray;
Component.onCompleted: {
securityImageResultReceived = false;
purchasesReceived = false;
keyFilePathIfExistsResultReceived = false;
commerce.getLoginStatus();
}
}
@ -283,14 +289,7 @@ Rectangle {
anchors.top: titleBarContainer.bottom;
anchors.topMargin: 8;
anchors.bottom: actionButtonsContainer.top;
anchors.bottomMargin: 8;
onVisibleChanged: {
if (visible) {
commerce.balance();
commerce.inventory();
}
}
anchors.bottomMargin: 8;
//
// FILTER BAR START
@ -378,7 +377,7 @@ Rectangle {
Item {
id: noPurchasesAlertContainer;
visible: !purchasesContentsList.visible && root.inventoryReceived;
visible: !purchasesContentsList.visible && root.purchasesReceived;
anchors.top: filterBarContainer.bottom;
anchors.topMargin: 12;
anchors.left: parent.left;

View file

@ -45,6 +45,10 @@ Item {
}
}
// This will cause a bug -- if you bring up passphrase selection in HUD mode while
// in HMD while having HMD preview enabled, then move, then finish passphrase selection,
// HMD preview will stay off.
// TODO: Fix this unlikely bug
onVisibleChanged: {
if (visible) {
passphraseField.focus = true;
@ -69,12 +73,6 @@ Item {
echoMode: TextInput.Password;
placeholderText: "passphrase";
onVisibleChanged: {
if (visible) {
text = "";
}
}
onFocusChanged: {
if (focus) {
sendMessageToLightbox({method: 'walletSetup_raiseKeyboard'});
@ -105,12 +103,6 @@ Item {
echoMode: TextInput.Password;
placeholderText: "re-enter passphrase";
onVisibleChanged: {
if (visible) {
text = "";
}
}
onFocusChanged: {
if (focus) {
sendMessageToLightbox({method: 'walletSetup_raiseKeyboard'});
@ -281,5 +273,11 @@ Item {
errorText.text = text;
}
function clearPassphraseFields() {
passphraseField.text = "";
passphraseFieldAgain.text = "";
setErrorText("");
}
signal sendMessageToLightbox(var msg);
}

View file

@ -27,12 +27,6 @@ Rectangle {
// Style
color: hifi.colors.baseGray;
onVisibleChanged: {
if (visible) {
root.resetSubmitButton();
}
}
//
// SECURE PASSPHRASE SELECTION START
//
@ -175,4 +169,8 @@ Rectangle {
passphraseSubmitButton.enabled = true;
passphraseSubmitButton.text = "Submit";
}
function clearPassphraseFields() {
passphraseSelection.clearPassphraseFields();
}
}

View file

@ -24,14 +24,13 @@ Item {
HifiConstants { id: hifi; }
id: root;
Hifi.QmlCommerce {
id: commerce;
}
// This will cause a bug -- if you bring up security image selection in HUD mode while
// in HMD while having HMD preview enabled, then move, then finish passphrase selection,
// HMD preview will stay off.
// TODO: Fix this unlikely bug
onVisibleChanged: {
if (visible) {
commerce.getSecurityImage();
sendSignalToWallet({method: 'disableHmdPreview'});
} else {
sendSignalToWallet({method: 'maybeEnableHmdPreview'});

View file

@ -28,12 +28,6 @@ Rectangle {
// Style
color: hifi.colors.baseGray;
onVisibleChanged: {
if (visible) {
root.resetSubmitButton();
}
}
Hifi.QmlCommerce {
id: commerce;

View file

@ -277,6 +277,7 @@ Rectangle {
onSendSignalToWallet: {
if (msg.method === 'walletSecurity_changePassphrase') {
passphraseSelectionLightbox.visible = true;
passphraseSelectionLightbox.clearPassphraseFields();
} else if (msg.method === 'walletSecurity_changeSecurityImage') {
securityImageSelectionLightbox.visible = true;
}

View file

@ -24,6 +24,7 @@ Item {
HifiConstants { id: hifi; }
id: root;
property bool historyReceived: false;
Hifi.QmlCommerce {
id: commerce;
@ -41,9 +42,10 @@ Item {
}
onHistoryResult : {
historyReceived = true;
if (result.status === 'success') {
var txt = result.data.history.map(function (h) { return h.text; }).join("<hr>");
transactionHistoryText.text = txt;
transactionHistoryModel.clear();
transactionHistoryModel.append(result.data.history);
}
}
}
@ -111,6 +113,7 @@ Item {
onVisibleChanged: {
if (visible) {
historyReceived = false;
commerce.balance();
commerce.history();
}
@ -233,24 +236,66 @@ Item {
// Style
color: hifi.colors.faintGray;
}
ListModel {
id: transactionHistoryModel;
}
Rectangle {
id: transactionHistory;
anchors.top: recentActivityText.bottom;
anchors.topMargin: 4;
anchors.bottom: parent.bottom;
anchors.left: parent.left;
anchors.right: parent.right;
color: "white";
// some placeholder stuff
TextArea {
id: transactionHistoryText;
text: "<hr>history unavailable<hr>";
textFormat: TextEdit.AutoText;
font.pointSize: 10;
ListView {
id: transactionHistory;
anchors.centerIn: parent;
width: parent.width - 12;
height: parent.height - 12;
visible: transactionHistoryModel.count !== 0;
clip: true;
model: transactionHistoryModel;
delegate: Item {
width: parent.width;
height: transactionText.height + 30;
RalewayRegular {
id: transactionText;
text: model.text;
// Style
size: 18;
width: parent.width;
height: paintedHeight;
anchors.verticalCenter: parent.verticalCenter;
color: "black";
wrapMode: Text.WordWrap;
// Alignment
horizontalAlignment: Text.AlignLeft;
verticalAlignment: Text.AlignVCenter;
}
HifiControlsUit.Separator {
anchors.left: parent.left;
anchors.right: parent.right;
anchors.bottom: parent.bottom;
}
}
onAtYEndChanged: {
if (transactionHistory.atYEnd) {
console.log("User scrolled to the bottom of 'Recent Activity'.");
// Grab next page of results and append to model
}
}
}
// This should never be visible (since you immediately get 100 HFC)
RalewayRegular {
id: emptyTransationHistory;
size: 24;
visible: !transactionHistory.visible && root.historyReceived;
text: "Recent Activity Unavailable";
anchors.fill: parent;
horizontalAlignment: Text.AlignLeft;
verticalAlignment: Text.AlignTop;
horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter;
}
}
}

View file

@ -24,7 +24,7 @@ Rectangle {
HifiConstants { id: hifi; }
id: root;
property string lastPage: "securityImage";
property string lastPage: "initialize";
// Style
color: hifi.colors.baseGray;
@ -58,16 +58,9 @@ Rectangle {
//
Item {
id: securityImageContainer;
visible: false;
// Anchors
anchors.fill: parent;
onVisibleChanged: {
if (visible) {
commerce.getSecurityImage();
}
}
Item {
id: securityImageTitle;
// Size
@ -197,6 +190,7 @@ Rectangle {
commerce.chooseSecurityImage(securityImagePath);
securityImageContainer.visible = false;
choosePassphraseContainer.visible = true;
passphraseSelection.clearPassphraseFields();
}
}
}