2018-01-02 18:12:05 +01:00
|
|
|
// Copyright (c) 2011-2017 The Bitcoin Core developers
|
2014-12-13 05:09:33 +01:00
|
|
|
// Distributed under the MIT software license, see the accompanying
|
2013-11-04 16:20:43 +01:00
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
2014-11-03 16:16:40 +01:00
|
|
|
#ifndef BITCOIN_QT_OVERVIEWPAGE_H
|
|
|
|
#define BITCOIN_QT_OVERVIEWPAGE_H
|
2011-07-05 22:09:39 +02:00
|
|
|
|
2017-11-10 01:57:53 +01:00
|
|
|
#include <amount.h>
|
2014-04-23 00:46:19 +02:00
|
|
|
|
2011-07-05 22:09:39 +02:00
|
|
|
#include <QWidget>
|
2016-11-18 15:47:20 +01:00
|
|
|
#include <memory>
|
2011-07-05 22:09:39 +02:00
|
|
|
|
2013-04-13 07:13:08 +02:00
|
|
|
class ClientModel;
|
|
|
|
class TransactionFilterProxy;
|
|
|
|
class TxViewDelegate;
|
2015-07-28 15:20:14 +02:00
|
|
|
class PlatformStyle;
|
2013-04-13 07:13:08 +02:00
|
|
|
class WalletModel;
|
|
|
|
|
2011-07-05 22:09:39 +02:00
|
|
|
namespace Ui {
|
|
|
|
class OverviewPage;
|
|
|
|
}
|
|
|
|
|
2013-01-23 21:51:02 +01:00
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
class QModelIndex;
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
2011-11-13 13:19:52 +01:00
|
|
|
/** Overview ("home") page widget */
|
2011-07-05 22:09:39 +02:00
|
|
|
class OverviewPage : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2015-07-28 15:20:14 +02:00
|
|
|
explicit OverviewPage(const PlatformStyle *platformStyle, QWidget *parent = 0);
|
2011-07-05 22:09:39 +02:00
|
|
|
~OverviewPage();
|
|
|
|
|
2012-10-24 21:47:07 +02:00
|
|
|
void setClientModel(ClientModel *clientModel);
|
|
|
|
void setWalletModel(WalletModel *walletModel);
|
2012-05-15 16:57:59 +02:00
|
|
|
void showOutOfSyncWarning(bool fShow);
|
2011-07-11 20:42:10 +02:00
|
|
|
|
2015-07-14 13:59:05 +02:00
|
|
|
public Q_SLOTS:
|
2014-04-23 00:46:19 +02:00
|
|
|
void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
|
|
|
|
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
|
2011-07-05 22:09:39 +02:00
|
|
|
|
2015-07-14 13:59:05 +02:00
|
|
|
Q_SIGNALS:
|
2011-08-04 04:41:01 +02:00
|
|
|
void transactionClicked(const QModelIndex &index);
|
2016-07-19 15:27:14 +02:00
|
|
|
void outOfSyncWarningClicked();
|
2011-08-04 04:41:01 +02:00
|
|
|
|
2011-07-05 22:09:39 +02:00
|
|
|
private:
|
|
|
|
Ui::OverviewPage *ui;
|
2012-10-24 21:47:07 +02:00
|
|
|
ClientModel *clientModel;
|
|
|
|
WalletModel *walletModel;
|
2014-04-23 00:46:19 +02:00
|
|
|
CAmount currentBalance;
|
|
|
|
CAmount currentUnconfirmedBalance;
|
|
|
|
CAmount currentImmatureBalance;
|
|
|
|
CAmount currentWatchOnlyBalance;
|
|
|
|
CAmount currentWatchUnconfBalance;
|
|
|
|
CAmount currentWatchImmatureBalance;
|
2011-07-05 22:09:39 +02:00
|
|
|
|
2011-08-03 20:52:18 +02:00
|
|
|
TxViewDelegate *txdelegate;
|
2016-11-18 15:47:20 +01:00
|
|
|
std::unique_ptr<TransactionFilterProxy> filter;
|
2011-08-03 20:52:18 +02:00
|
|
|
|
2015-07-14 13:59:05 +02:00
|
|
|
private Q_SLOTS:
|
2012-06-09 15:41:21 +02:00
|
|
|
void updateDisplayUnit();
|
2012-05-12 13:19:44 +02:00
|
|
|
void handleTransactionClicked(const QModelIndex &index);
|
2012-10-24 21:47:07 +02:00
|
|
|
void updateAlerts(const QString &warnings);
|
2014-07-26 21:05:11 +02:00
|
|
|
void updateWatchOnlyLabels(bool showWatchOnly);
|
2016-07-19 15:27:14 +02:00
|
|
|
void handleOutOfSyncWarningClicks();
|
2011-07-05 22:09:39 +02:00
|
|
|
};
|
|
|
|
|
2014-11-03 16:16:40 +01:00
|
|
|
#endif // BITCOIN_QT_OVERVIEWPAGE_H
|