overviewpage.h raw

   1  // Copyright (c) 2011-present The Bitcoin Core developers
   2  // Distributed under the MIT software license, see the accompanying
   3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  #ifndef BITCOIN_QT_OVERVIEWPAGE_H
   6  #define BITCOIN_QT_OVERVIEWPAGE_H
   7  
   8  #include <interfaces/wallet.h>
   9  
  10  #include <QWidget>
  11  #include <memory>
  12  
  13  class ClientModel;
  14  class TransactionFilterProxy;
  15  class TxViewDelegate;
  16  class PlatformStyle;
  17  class WalletModel;
  18  
  19  namespace Ui {
  20      class OverviewPage;
  21  }
  22  
  23  QT_BEGIN_NAMESPACE
  24  class QModelIndex;
  25  QT_END_NAMESPACE
  26  
  27  /** Overview ("home") page widget */
  28  class OverviewPage : public QWidget
  29  {
  30      Q_OBJECT
  31  
  32  public:
  33      explicit OverviewPage(const PlatformStyle *platformStyle, QWidget *parent = nullptr);
  34      ~OverviewPage();
  35  
  36      void setClientModel(ClientModel *clientModel);
  37      void setWalletModel(WalletModel *walletModel);
  38      void showOutOfSyncWarning(bool fShow);
  39  
  40  public Q_SLOTS:
  41      void setBalance(const interfaces::WalletBalances& balances);
  42      void setPrivacy(bool privacy);
  43  
  44  Q_SIGNALS:
  45      void transactionClicked(const QModelIndex &index);
  46      void outOfSyncWarningClicked();
  47  
  48  protected:
  49      void changeEvent(QEvent* e) override;
  50  
  51  private:
  52      Ui::OverviewPage *ui;
  53      ClientModel* clientModel{nullptr};
  54      WalletModel* walletModel{nullptr};
  55      bool m_privacy{false};
  56  
  57      const PlatformStyle* m_platform_style;
  58  
  59      TxViewDelegate *txdelegate;
  60      std::unique_ptr<TransactionFilterProxy> filter;
  61  
  62  private Q_SLOTS:
  63      void LimitTransactionRows();
  64      void updateDisplayUnit();
  65      void handleTransactionClicked(const QModelIndex &index);
  66      void updateAlerts(const QString &warnings);
  67      void setMonospacedFont(const QFont&);
  68  };
  69  
  70  #endif // BITCOIN_QT_OVERVIEWPAGE_H
  71