Mercurial > hg > bitcoin
annotate src/qt/clientmodel.h @ 2673:eb323c3694cb draft
add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
author | Philip Kaufmann <phil.kaufmann@t-online.de> |
---|---|
date | Mon, 21 May 2012 23:05:54 +0200 |
parents | 60b19c042950 |
children | 627fdda97160 |
rev | line source |
---|---|
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
1 #ifndef CLIENTMODEL_H |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
2 #define CLIENTMODEL_H |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
3 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
4 #include <QObject> |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
5 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
6 class OptionsModel; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
7 class AddressTableModel; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
8 class TransactionTableModel; |
1105
f14310dc690b
update core to d0d80170a2ca73004e08fb85007fe055cbf4e411 (CWallet class)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1099
diff
changeset
|
9 class CWallet; |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
10 |
1158
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
11 QT_BEGIN_NAMESPACE |
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
12 class QDateTime; |
2639
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
13 class QTimer; |
1158
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
14 QT_END_NAMESPACE |
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
15 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
16 /** Model for Bitcoin network client. */ |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
17 class ClientModel : public QObject |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
18 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
19 Q_OBJECT |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
20 public: |
1229
fa39b222e5e0
Full support for other units, add configuration option for default unit (used when displaying amounts)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1192
diff
changeset
|
21 explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); |
2640
60b19c042950
Convert UI interface to boost::signals2.
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2639
diff
changeset
|
22 ~ClientModel(); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
23 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
24 OptionsModel *getOptionsModel(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
25 |
1077
a58b12afb2fb
Prevent notification balloon-spam on initial block download, const-correctness in client model
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
26 int getNumConnections() const; |
a58b12afb2fb
Prevent notification balloon-spam on initial block download, const-correctness in client model
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
27 int getNumBlocks() const; |
1286
a43fe0bbf87f
The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better.
Janne Pulkkinen <jannepulk@gmail.com>
parents:
1262
diff
changeset
|
28 int getNumBlocksAtStartup(); |
1077
a58b12afb2fb
Prevent notification balloon-spam on initial block download, const-correctness in client model
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
29 |
1158
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
30 QDateTime getLastBlockDate() const; |
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
31 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
32 //! Return true if client connected to testnet |
1114
f15d5d021d37
Make it very clear when on testnet (green icon, add [testnet] to title)
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1113
diff
changeset
|
33 bool isTestNet() const; |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
34 //! Return true if core is doing initial block download |
1077
a58b12afb2fb
Prevent notification balloon-spam on initial block download, const-correctness in client model
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1049
diff
changeset
|
35 bool inInitialBlockDownload() const; |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
36 //! Return conservative estimate of total number of blocks, or 0 if unknown |
1287
712a725f2b3e
clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1286
diff
changeset
|
37 int getNumBlocksOfPeers() const; |
1565
7c74698b5f96
Fix status bar not displaying Alerts.
Matt Corallo <matt@bluematt.me>
parents:
1496
diff
changeset
|
38 //! Return warnings to be displayed in status bar |
7c74698b5f96
Fix status bar not displaying Alerts.
Matt Corallo <matt@bluematt.me>
parents:
1496
diff
changeset
|
39 QString getStatusBarWarnings() const; |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
40 |
1120
60b3897eb69f
General cleanups
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1114
diff
changeset
|
41 QString formatFullVersion() const; |
2198
5fb54c6da76e
Build identification strings
Pieter Wuille <pieter.wuille@gmail.com>
parents:
2153
diff
changeset
|
42 QString formatBuildDate() const; |
2374
413c38b8c6b7
Add UI RPC console / debug window
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2198
diff
changeset
|
43 QString clientName() const; |
2673
eb323c3694cb
add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
Philip Kaufmann <phil.kaufmann@t-online.de>
parents:
2640
diff
changeset
|
44 QString formatClientStartupTime() const; |
1120
60b3897eb69f
General cleanups
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1114
diff
changeset
|
45 |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
46 private: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
47 OptionsModel *optionsModel; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
48 |
1192
bc546d3c46d2
make initial block download reporting somewhat better by tracking version responses
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1158
diff
changeset
|
49 int cachedNumBlocks; |
2639
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
50 int cachedNumBlocksOfPeers; |
1192
bc546d3c46d2
make initial block download reporting somewhat better by tracking version responses
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1158
diff
changeset
|
51 |
1286
a43fe0bbf87f
The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better.
Janne Pulkkinen <jannepulk@gmail.com>
parents:
1262
diff
changeset
|
52 int numBlocksAtStartup; |
a43fe0bbf87f
The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better.
Janne Pulkkinen <jannepulk@gmail.com>
parents:
1262
diff
changeset
|
53 |
2639
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
54 QTimer *pollTimer; |
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
55 |
2640
60b19c042950
Convert UI interface to boost::signals2.
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2639
diff
changeset
|
56 void subscribeToCoreSignals(); |
60b19c042950
Convert UI interface to boost::signals2.
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2639
diff
changeset
|
57 void unsubscribeFromCoreSignals(); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
58 signals: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
59 void numConnectionsChanged(int count); |
2639
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
60 void numBlocksChanged(int count, int countOfPeers); |
1113
fed522d006eb
Split off WalletModel from ClientModel, to be able to support multi-wallets in future
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1105
diff
changeset
|
61 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
62 //! Asynchronous error notification |
2153
eb336ea43cc7
qtui.h/noui.h interface cleanup
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2148
diff
changeset
|
63 void error(const QString &title, const QString &message, bool modal); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
64 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
65 public slots: |
2639
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
66 void updateTimer(); |
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
67 void updateNumConnections(int numConnections); |
c4ef3fe2ae15
Fine-grained UI updates
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2501
diff
changeset
|
68 void updateAlert(const QString &hash, int status); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
69 }; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
70 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
71 #endif // CLIENTMODEL_H |