diff --git a/pages/Settings.qml b/pages/Settings.qml index 9301a92e..d4f0ce23 100644 --- a/pages/Settings.qml +++ b/pages/Settings.qml @@ -116,7 +116,7 @@ Rectangle { shadowPressedColor: "#B32D00" releasedColor: "#FF6C3C" pressedColor: "#FF4304" - text: qsTr("Show seed") + translationManager.emptyString + text: qsTr("Show seed & keys") + translationManager.emptyString onClicked: { settingsPasswordDialog.open(); } @@ -413,11 +413,17 @@ Rectangle { onAccepted: { if(appWindow.password === settingsPasswordDialog.password){ - informationPopup.title = qsTr("Wallet mnemonic seed") + translationManager.emptyString; - informationPopup.text = currentWallet.seed - informationPopup.open() - informationPopup.onCloseCallback = function() { - informationPopup.text = "" + seedPopup.title = qsTr("Wallet seed & keys") + translationManager.emptyString; + seedPopup.text = "Wallet Mnemonic seed
" + currentWallet.seed + + "

" + qsTr("Secret view key") + ": " + currentWallet.secretViewKey + + "
" + qsTr("Public view key") + ": " + currentWallet.publicViewKey + + "
" + qsTr("Secret spend key") + ": " + currentWallet.secretSpendKey + + "
" + qsTr("Public spend key") + ": " + currentWallet.publicSpendKey + seedPopup.open() + seedPopup.width = 600 + seedPopup.height = 300 + seedPopup.onCloseCallback = function() { + seedPopup.text = "" } } else { @@ -437,6 +443,21 @@ Rectangle { } + StandardDialog { + id: seedPopup + cancelVisible: false + okVisible: true + width:600 + height:400 + + property var onCloseCallback + onAccepted: { + if (onCloseCallback) { + onCloseCallback() + } + } + } + // fires on every page load function onPageCompleted() { console.log("Settings page loaded"); diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index 9477f896..1224b24d 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -41,6 +41,10 @@ class Wallet : public QObject Q_PROPERTY(AddressBookModel * addressBookModel READ addressBookModel) Q_PROPERTY(AddressBook * addressBook READ addressBook) Q_PROPERTY(bool viewOnly READ viewOnly) + Q_PROPERTY(QString secretViewKey READ getSecretViewKey) + Q_PROPERTY(QString publicViewKey READ getPublicViewKey) + Q_PROPERTY(QString secretSpendKey READ getSecretSpendKey) + Q_PROPERTY(QString publicSpendKey READ getPublicSpendKey) public: @@ -231,6 +235,12 @@ public: // check if fork rules should be used Q_INVOKABLE bool useForkRules(quint8 version, quint64 earlyBlocks = 0) const; + //! Get wallet keys + QString getSecretViewKey() const {return QString::fromStdString(m_walletImpl->secretViewKey());} + QString getPublicViewKey() const {return QString::fromStdString(m_walletImpl->publicViewKey());} + QString getSecretSpendKey() const {return QString::fromStdString(m_walletImpl->secretSpendKey());} + QString getPublicSpendKey() const {return QString::fromStdString(m_walletImpl->publicSpendKey());} + // TODO: setListenter() when it implemented in API signals: // emitted on every event happened with wallet