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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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