Mercurial > hg > bitcoin
annotate src/qt/clientmodel.h @ 2153:eb336ea43cc7 draft
qtui.h/noui.h interface cleanup
- rename wxMessageBox, remove redundant arguments to noui/qtui calls
- also, add flag to force blocking, modal dialog box for disk space warning etc
- clarify function naming
- no more special MessageBox needed from AppInit2, as window object is created before calling AppInit2
author | Wladimir J. van der Laan <laanwj@gmail.com> |
---|---|
date | Sun, 25 Mar 2012 20:47:33 +0200 (2012-03-25) |
parents | 9a60d6875f58 |
children | 5fb54c6da76e |
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; |
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
13 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
|
14 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
15 /** Model for Bitcoin network client. */ |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
16 class ClientModel : public QObject |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
17 { |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
18 Q_OBJECT |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
19 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
|
20 explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0); |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
21 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
22 OptionsModel *getOptionsModel(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
23 |
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
|
24 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
|
25 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
|
26 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
|
27 |
1158
812889ab4a96
Display a "freshness" indicator instead of nr of blocks
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1120
diff
changeset
|
28 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
|
29 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
30 //! 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
|
31 bool isTestNet() const; |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
32 //! 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
|
33 bool inInitialBlockDownload() const; |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
34 //! 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
|
35 int getNumBlocksOfPeers() const; |
1565
7c74698b5f96
Fix status bar not displaying Alerts.
Matt Corallo <matt@bluematt.me>
parents:
1496
diff
changeset
|
36 //! Return warnings to be displayed in status bar |
7c74698b5f96
Fix status bar not displaying Alerts.
Matt Corallo <matt@bluematt.me>
parents:
1496
diff
changeset
|
37 QString getStatusBarWarnings() const; |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
38 |
1120
60b3897eb69f
General cleanups
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1114
diff
changeset
|
39 QString formatFullVersion() const; |
60b3897eb69f
General cleanups
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1114
diff
changeset
|
40 |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
41 private: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
42 OptionsModel *optionsModel; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
43 |
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
|
44 int cachedNumConnections; |
bc546d3c46d2
make initial block download reporting somewhat better by tracking version responses
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1158
diff
changeset
|
45 int cachedNumBlocks; |
2148
9a60d6875f58
Update UI through async calls MainFrameRepaint and AddressBookRepaint instead of a timer.
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1565
diff
changeset
|
46 QString cachedStatusBar; |
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
|
47 |
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
|
48 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
|
49 |
1049
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
50 signals: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
51 void numConnectionsChanged(int count); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
52 void numBlocksChanged(int count); |
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
|
53 |
1496
5fd67ccc00ca
Improve documentation for UI classes
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
1287
diff
changeset
|
54 //! Asynchronous error notification |
2153
eb336ea43cc7
qtui.h/noui.h interface cleanup
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
2148
diff
changeset
|
55 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
|
56 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
57 public slots: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
58 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
59 private slots: |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
60 void update(); |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
61 }; |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
62 |
e5518d9b9f05
move back to original directory structure
Wladimir J. van der Laan <laanwj@gmail.com>
parents:
diff
changeset
|
63 #endif // CLIENTMODEL_H |