1
0

qml: PIN protect wallet seed display

This commit is contained in:
Sander van Grieken
2023-03-16 11:45:28 +01:00
parent 6d67f51e44
commit 46d5fdbc86
2 changed files with 27 additions and 6 deletions

View File

@@ -259,8 +259,12 @@ Pane {
MouseArea {
anchors.fill: parent
onClicked: {
seedText.visible = true
showSeedText.visible = false
if (showSeedText.visible) {
Daemon.currentWallet.requestShowSeed()
} else {
seedText.visible = false
showSeedText.visible = true
}
}
}
}
@@ -590,6 +594,10 @@ Pane {
function onBalanceChanged() {
piechart.updateSlices()
}
function onSeedRetrieved() {
seedText.visible = true
showSeedText.visible = false
}
}
Component {

View File

@@ -71,6 +71,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
otpSuccess = pyqtSignal()
otpFailed = pyqtSignal([str,str], arguments=['code','message'])
peersUpdated = pyqtSignal()
seedRetrieved = pyqtSignal()
_network_signal = pyqtSignal(str, object)
@@ -97,6 +98,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
self._lightningcanreceive = QEAmount()
self._lightningcansend = QEAmount()
self._seed = ''
self.tx_notification_queue = queue.Queue()
self.tx_notification_last_time = 0
@@ -330,10 +332,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
@pyqtProperty(str, notify=dataChanged)
def seed(self):
try:
return self.wallet.get_seed(self.password)
except:
return ''
return self._seed
@pyqtProperty(str, notify=dataChanged)
def txinType(self):
@@ -736,3 +735,17 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
return True
except Exception as e:
return False
@pyqtSlot()
def requestShowSeed(self):
self.retrieve_seed()
@auth_protect
def retrieve_seed(self):
try:
self._seed = self.wallet.get_seed(self.password)
self.seedRetrieved.emit()
except:
self._seed = ''
self.dataChanged.emit()