// Copyright (c) 2011-2018 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_QT_OVERVIEWPAGE_H #define BITCOIN_QT_OVERVIEWPAGE_H #include #include #include class ClientModel; class TransactionFilterProxy; class TxViewDelegate; class PlatformStyle; class WalletModel; namespace Ui { class OverviewPage; } QT_BEGIN_NAMESPACE class QModelIndex; class QLabel; QT_END_NAMESPACE /** Overview ("home") page widget */ class OverviewPage : public QWidget { Q_OBJECT public: explicit OverviewPage(const PlatformStyle *platformStyle, QWidget *parent = nullptr); ~OverviewPage(); void setClientModel(ClientModel *clientModel); void setWalletModel(WalletModel *walletModel); void showOutOfSyncWarning(bool fShow); public Q_SLOTS: void setBalance(const interfaces::WalletBalances& balances); void setPrivacy(bool privacy); Q_SIGNALS: void transactionClicked(const QModelIndex &index); void outOfSyncWarningClicked(); // MoonBite: premium quick-action buttons -> navigate to real pages (UI only) void sendClicked(); void receiveClicked(); void historyClicked(); private: Ui::OverviewPage *ui; ClientModel *clientModel; WalletModel *walletModel; interfaces::WalletBalances m_balances; bool m_privacy{false}; // MoonBite premium "wealth card" (Visa-grade hero on the overview page) void createHeroCard(); void updateHeroCard(); // MoonBite premium quick-action button row (Send / Receive / History) void createActionRow(); QWidget *m_heroCard{nullptr}; QLabel *m_heroBalance{nullptr}; TxViewDelegate *txdelegate; std::unique_ptr filter; private Q_SLOTS: void updateDisplayUnit(); void handleTransactionClicked(const QModelIndex &index); void updateAlerts(const QString &warnings); void updateWatchOnlyLabels(bool showWatchOnly); void handleOutOfSyncWarningClicks(); }; #endif // BITCOIN_QT_OVERVIEWPAGE_H