diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2011-09-26 06:05:11 -0700 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2011-09-26 06:05:11 -0700 |
commit | f7f2a36925bb560363f691fc3ca3dec83830dd15 (patch) | |
tree | c09327d910abe4e7947c53dcbb5f15b01ab194c1 /src/qt/clientmodel.h | |
parent | f8937b2d3bb545a0a6ff78031ce3cdcb3208ecbe (diff) | |
parent | 0465c41c847ddee7eeb5caefb164149400ff8395 (diff) | |
download | bitcoin-f7f2a36925bb560363f691fc3ca3dec83830dd15.tar.xz |
Merge pull request #521 from laanwj/qt
Qt GUI
Diffstat (limited to 'src/qt/clientmodel.h')
-rw-r--r-- | src/qt/clientmodel.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h new file mode 100644 index 0000000000..c68fb0f035 --- /dev/null +++ b/src/qt/clientmodel.h @@ -0,0 +1,60 @@ +#ifndef CLIENTMODEL_H +#define CLIENTMODEL_H + +#include <QObject> + +class OptionsModel; +class AddressTableModel; +class TransactionTableModel; +class CWallet; + +QT_BEGIN_NAMESPACE +class QDateTime; +QT_END_NAMESPACE + +// Model for Bitcoin network client +class ClientModel : public QObject +{ + Q_OBJECT +public: + explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); + + OptionsModel *getOptionsModel(); + + int getNumConnections() const; + int getNumBlocks() const; + int getNumBlocksAtStartup(); + + QDateTime getLastBlockDate() const; + + // Return true if client connected to testnet + bool isTestNet() const; + // Return true if core is doing initial block download + bool inInitialBlockDownload() const; + // Return conservative estimate of total number of blocks, or 0 if unknown + int getNumBlocksOfPeers() const; + + QString formatFullVersion() const; + +private: + OptionsModel *optionsModel; + + int cachedNumConnections; + int cachedNumBlocks; + + int numBlocksAtStartup; + +signals: + void numConnectionsChanged(int count); + void numBlocksChanged(int count); + + // Asynchronous error notification + void error(const QString &title, const QString &message); + +public slots: + +private slots: + void update(); +}; + +#endif // CLIENTMODEL_H |