Wallet: implement 'Connecting' status, add 'disconnected' property

This commit is contained in:
xiphon
2020-01-28 04:43:31 +00:00
parent 6de8547047
commit 6940390a5e
7 changed files with 73 additions and 48 deletions

View File

@@ -60,6 +60,7 @@ class SubaddressAccountModel;
class Wallet : public QObject
{
Q_OBJECT
Q_PROPERTY(bool disconnected READ disconnected NOTIFY disconnectedChanged)
Q_PROPERTY(QString seed READ getSeed)
Q_PROPERTY(QString seedLanguage READ getSeedLanguage)
Q_PROPERTY(Status status READ status)
@@ -100,7 +101,8 @@ public:
enum ConnectionStatus {
ConnectionStatus_Connected = Monero::Wallet::ConnectionStatus_Connected,
ConnectionStatus_Disconnected = Monero::Wallet::ConnectionStatus_Disconnected,
ConnectionStatus_WrongVersion = Monero::Wallet::ConnectionStatus_WrongVersion
ConnectionStatus_WrongVersion = Monero::Wallet::ConnectionStatus_WrongVersion,
ConnectionStatus_Connecting
};
Q_ENUM(ConnectionStatus)
@@ -368,6 +370,7 @@ signals:
void connectionStatusChanged(int status) const;
void currentSubaddressAccountChanged() const;
void disconnectedChanged() const;
private:
Wallet(QObject * parent = nullptr);
@@ -387,6 +390,9 @@ private:
//! initializes wallet
bool init(const QString &daemonAddress, bool trustedDaemon, quint64 upperTransactionLimit, bool isRecovering, bool isRecoveringFromDevice, quint64 restoreHeight);
bool disconnected() const;
void setConnectionStatus(ConnectionStatus value);
private:
friend class WalletManager;
friend class WalletListenerImpl;
@@ -409,6 +415,7 @@ private:
mutable ConnectionStatus m_connectionStatus;
int m_connectionStatusTtl;
mutable QTime m_connectionStatusTime;
bool m_disconnected;
mutable bool m_initialized;
uint32_t m_currentSubaddressAccount;
Subaddress * m_subaddress;