diff options
| author | xiphon <xiphon@protonmail.com> | 2019-12-03 11:53:12 +0000 |
|---|---|---|
| committer | xiphon <xiphon@protonmail.com> | 2019-12-03 12:39:34 +0000 |
| commit | 646d3394d39bdd7c3ff5a5abddb54367a1980b6c (patch) | |
| tree | 9e98f45f13716a869817c330be220692e068be13 /src/libwalletqt/Wallet.cpp | |
| parent | d5f4d5d93fa52876dc1fef591ea0210eab561d48 (diff) | |
| download | monzero-gui-646d3394d39bdd7c3ff5a5abddb54367a1980b6c.tar.gz monzero-gui-646d3394d39bdd7c3ff5a5abddb54367a1980b6c.tar.xz monzero-gui-646d3394d39bdd7c3ff5a5abddb54367a1980b6c.zip | |
Wallet: persistent subaddress account selection
Diffstat (limited to 'src/libwalletqt/Wallet.cpp')
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 5b0f0719..7b122481 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -55,6 +55,8 @@ namespace { static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 5; static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 30; static const int WALLET_CONNECTION_STATUS_CACHE_TTL_SECONDS = 5; + + static constexpr char ATTRIBUTE_SUBADDRESS_ACCOUNT[] ="gui.subaddress_account"; } class WalletListenerImpl : public Monero::WalletListener @@ -316,8 +318,13 @@ void Wallet::switchSubaddressAccount(quint32 accountIndex) if (accountIndex < numSubaddressAccounts()) { m_currentSubaddressAccount = accountIndex; + if (!setCacheAttribute(ATTRIBUTE_SUBADDRESS_ACCOUNT, QString::number(m_currentSubaddressAccount))) + { + qWarning() << "failed to set " << ATTRIBUTE_SUBADDRESS_ACCOUNT << " cache attribute"; + } m_subaddress->refresh(m_currentSubaddressAccount); m_history->refresh(m_currentSubaddressAccount); + emit currentSubaddressAccountChanged(); } } void Wallet::addSubaddressAccount(const QString& label) @@ -982,6 +989,7 @@ Wallet::Wallet(Monero::Wallet *w, QObject *parent) m_walletListener = new WalletListenerImpl(this); m_walletImpl->setListener(m_walletListener); m_connectionStatus = Wallet::ConnectionStatus_Disconnected; + m_currentSubaddressAccount = getCacheAttribute(ATTRIBUTE_SUBADDRESS_ACCOUNT).toUInt(); // start cache timers m_connectionStatusTime.restart(); m_daemonBlockChainHeightTime.restart(); |
