twisterp2pblockchainnetworkbittorrentmicrobloggingipv6social-networkdhtdecentralizedp2p-networktwister-servertwister-ipv6twister-coretwisterarmy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.2 KiB
89 lines
2.2 KiB
#ifndef BITCOINGUI_H |
|
#define BITCOINGUI_H |
|
|
|
#include <QMainWindow> |
|
#include <QSystemTrayIcon> |
|
|
|
class TransactionTableModel; |
|
class ClientModel; |
|
|
|
QT_BEGIN_NAMESPACE |
|
class QLabel; |
|
class QLineEdit; |
|
class QTableView; |
|
class QAbstractItemModel; |
|
class QModelIndex; |
|
QT_END_NAMESPACE |
|
|
|
class BitcoinGUI : public QMainWindow |
|
{ |
|
Q_OBJECT |
|
public: |
|
explicit BitcoinGUI(QWidget *parent = 0); |
|
void setModel(ClientModel *model); |
|
|
|
/* Transaction table tab indices */ |
|
enum { |
|
AllTransactions = 0, |
|
SentReceived = 1, |
|
Sent = 2, |
|
Received = 3 |
|
} TabIndex; |
|
|
|
protected: |
|
void changeEvent(QEvent *e); |
|
void closeEvent(QCloseEvent *event); |
|
|
|
private: |
|
ClientModel *model; |
|
|
|
QLineEdit *address; |
|
QLabel *labelBalance; |
|
QLabel *labelConnections; |
|
QLabel *labelConnectionsIcon; |
|
QLabel *labelBlocks; |
|
QLabel *labelTransactions; |
|
|
|
QAction *quit; |
|
QAction *sendcoins; |
|
QAction *addressbook; |
|
QAction *about; |
|
QAction *receivingAddresses; |
|
QAction *options; |
|
QAction *openBitcoin; |
|
|
|
QSystemTrayIcon *trayIcon; |
|
QList<QTableView *> transactionViews; |
|
|
|
void createActions(); |
|
QWidget *createTabs(); |
|
void createTrayIcon(); |
|
void setTabsModel(QAbstractItemModel *transaction_model); |
|
|
|
public slots: |
|
void setBalance(qint64 balance); |
|
void setAddress(const QString &address); |
|
void setNumConnections(int count); |
|
void setNumBlocks(int count); |
|
void setNumTransactions(int count); |
|
void error(const QString &title, const QString &message); |
|
/* It is currently not possible to pass a return value to another thread through |
|
BlockingQueuedConnection, so use an indirected pointer. |
|
http://bugreports.qt.nokia.com/browse/QTBUG-10440 |
|
*/ |
|
void askFee(qint64 nFeeRequired, bool *payFee); |
|
|
|
private slots: |
|
void sendcoinsClicked(); |
|
void addressbookClicked(); |
|
void optionsClicked(); |
|
void receivingAddressesClicked(); |
|
void aboutClicked(); |
|
void newAddressClicked(); |
|
void copyClipboardClicked(); |
|
void trayIconActivated(QSystemTrayIcon::ActivationReason reason); |
|
void transactionDetails(const QModelIndex& idx); |
|
void incomingTransaction(const QModelIndex & parent, int start, int end); |
|
}; |
|
|
|
#endif
|
|
|