git / moonbite-core / src/qt/overviewpage.h · raw
// 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 <interfaces/wallet.h>#include <QWidget>#include <memory>class ClientModel;class TransactionFilterProxy;class TxViewDelegate;class PlatformStyle;class WalletModel;namespace Ui { class OverviewPage;}QT_BEGIN_NAMESPACEclass QModelIndex;class QLabel;QT_END_NAMESPACE/** Overview ("home") page widget */class OverviewPage : public QWidget{ Q_OBJECTpublic: 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<TransactionFilterProxy> 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