diff --git a/interface/resources/html/raiseAndLowerKeyboard.js b/interface/resources/html/raiseAndLowerKeyboard.js
index 23f3a7e9a8..a0aa1eb7fe 100644
--- a/interface/resources/html/raiseAndLowerKeyboard.js
+++ b/interface/resources/html/raiseAndLowerKeyboard.js
@@ -12,9 +12,9 @@
var MAX_WARNINGS = 3;
var numWarnings = 0;
var isWindowFocused = true;
- var isKeyboardRaised = false;
- var isNumericKeyboard = false;
- var isPasswordField = false;
+ window.isKeyboardRaised = false;
+ window.isNumericKeyboard = false;
+ window.isPasswordField = false;
function shouldSetPasswordField() {
var nodeType = document.activeElement.type;
@@ -62,7 +62,7 @@
var passwordField = shouldSetPasswordField();
if (isWindowFocused &&
- (keyboardRaised !== isKeyboardRaised || numericKeyboard !== isNumericKeyboard || passwordField !== isPasswordField)) {
+ (keyboardRaised !== window.isKeyboardRaised || numericKeyboard !== window.isNumericKeyboard || passwordField !== window.isPasswordField)) {
if (typeof EventBridge !== "undefined" && EventBridge !== null) {
EventBridge.emitWebEvent(
@@ -75,20 +75,20 @@
}
}
- if (!isKeyboardRaised) {
+ if (!window.isKeyboardRaised) {
scheduleBringToView(250); // Allow time for keyboard to be raised in QML.
// 2DO: should it be rather done from 'client area height changed' event?
}
- isKeyboardRaised = keyboardRaised;
- isNumericKeyboard = numericKeyboard;
- isPasswordField = passwordField;
+ window.isKeyboardRaised = keyboardRaised;
+ window.isNumericKeyboard = numericKeyboard;
+ window.isPasswordField = passwordField;
}
}, POLL_FREQUENCY);
window.addEventListener("click", function () {
var keyboardRaised = shouldRaiseKeyboard();
- if(keyboardRaised && isKeyboardRaised) {
+ if (keyboardRaised && window.isKeyboardRaised) {
scheduleBringToView(150);
}
});
@@ -99,7 +99,7 @@
window.addEventListener("blur", function () {
isWindowFocused = false;
- isKeyboardRaised = false;
- isNumericKeyboard = false;
+ window.isKeyboardRaised = false;
+ window.isNumericKeyboard = false;
});
})();
diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
index 759d7a37eb..0424dd1edd 100644
--- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
@@ -47,6 +47,7 @@ Rectangle {
} else if (walletStatus === 1) {
if (root.activeView !== "walletSetup") {
root.activeView = "walletSetup";
+ commerce.resetLocalWalletOnly();
}
} else if (walletStatus === 2) {
if (root.activeView !== "passphraseModal") {
diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
index 1a62fe6f0d..8de831ef75 100644
--- a/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
@@ -371,7 +371,7 @@ Item {
Item {
id: securityImageTip;
- visible: false;
+ visible: !root.hasShownSecurityImageTip && root.activeView === "step_3";
z: 999;
anchors.fill: root;
@@ -421,7 +421,6 @@ Item {
text: "Got It";
onClicked: {
root.hasShownSecurityImageTip = true;
- securityImageTip.visible = false;
passphraseSelection.focusFirstTextField();
}
}
@@ -439,9 +438,6 @@ Item {
onVisibleChanged: {
if (visible) {
commerce.getWalletAuthenticatedStatus();
- if (!root.hasShownSecurityImageTip) {
- securityImageTip.visible = true;
- }
}
}
@@ -732,6 +728,7 @@ Item {
text: "Finish";
onClicked: {
root.visible = false;
+ root.hasShownSecurityImageTip = false;
sendSignalToWallet({method: 'walletSetup_finished', referrer: root.referrer ? root.referrer : ""});
}
}
diff --git a/interface/src/commerce/QmlCommerce.cpp b/interface/src/commerce/QmlCommerce.cpp
index f29e46d843..435d15d161 100644
--- a/interface/src/commerce/QmlCommerce.cpp
+++ b/interface/src/commerce/QmlCommerce.cpp
@@ -128,6 +128,11 @@ void QmlCommerce::reset() {
wallet->reset();
}
+void QmlCommerce::resetLocalWalletOnly() {
+ auto wallet = DependencyManager::get();
+ wallet->reset();
+}
+
void QmlCommerce::account() {
auto ledger = DependencyManager::get();
ledger->account();
diff --git a/interface/src/commerce/QmlCommerce.h b/interface/src/commerce/QmlCommerce.h
index d4f4aa35d2..fd8dd0d395 100644
--- a/interface/src/commerce/QmlCommerce.h
+++ b/interface/src/commerce/QmlCommerce.h
@@ -65,6 +65,7 @@ protected:
Q_INVOKABLE void history();
Q_INVOKABLE void generateKeyPair();
Q_INVOKABLE void reset();
+ Q_INVOKABLE void resetLocalWalletOnly();
Q_INVOKABLE void account();
Q_INVOKABLE void certificateInfo(const QString& certificateId);
diff --git a/scripts/system/html/js/keyboardControl.js b/scripts/system/html/js/keyboardControl.js
index f2937bc63a..7a8a314c62 100644
--- a/scripts/system/html/js/keyboardControl.js
+++ b/scripts/system/html/js/keyboardControl.js
@@ -15,6 +15,9 @@ function setUpKeyboardControl() {
var KEYBOARD_HEIGHT = 200;
function raiseKeyboard() {
+ window.isKeyboardRaised = true;
+ window.isNumericKeyboard = this.type === "number";
+
if (lowerTimer !== null) {
clearTimeout(lowerTimer);
lowerTimer = null;
@@ -35,6 +38,9 @@ function setUpKeyboardControl() {
}
function doLowerKeyboard() {
+ window.isKeyboardRaised = false;
+ window.isNumericKeyboard = false;
+
EventBridge.emitWebEvent("_LOWER_KEYBOARD");
lowerTimer = null;
isRaised = false;