PIVX Core  5.6.99
P2P Digital Currency
topbar.h
Go to the documentation of this file.
1 // Copyright (c) 2019-2021 The PIVX 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 PIVX_QT_TOPBAR_H
6 #define PIVX_QT_TOPBAR_H
7 
8 #include "amount.h"
9 #include "lockunlock.h"
10 #include "pwidget.h"
11 #include "qt/askpassphrasedialog.h"
12 
13 #include <QProgressBar>
14 #include <QTimer>
15 #include <QWidget>
16 
17 class BalanceBubble;
18 class PIVXGUI;
19 class WalletModel;
20 class ClientModel;
21 
22 namespace Ui {
23 class TopBar;
24 }
25 
26 class TopBar : public PWidget
27 {
28  Q_OBJECT
29 
30 public:
31  explicit TopBar(PIVXGUI* _mainWindow, QWidget *parent = nullptr);
32  ~TopBar();
33 
34  void showTop();
35  void showBottom();
36 
37  void loadWalletModel() override;
38  void loadClientModel() override;
39 
41  void encryptWallet();
42 
43  void run(int type) override;
44  void onError(QString error, int type) override;
45  void unlockWallet();
46 
47 public Q_SLOTS:
48  void updateBalances(const interfaces::WalletBalances& newBalance);
49  void updateDisplayUnit();
50 
51  void setNumConnections(int count);
52  void setNumBlocks(int count);
53  void setNetworkActive(bool active);
54  void setStakingStatusActive(bool fActive);
55  void updateStakingStatus();
56  void updateHDState(const bool upgraded, const QString& upgradeError);
57  void showUpgradeDialog(const QString& message);
58 
59 Q_SIGNALS:
60  void themeChanged(bool isLight);
61  void walletSynced(bool isSync);
62  void tierTwoSynced(bool isSync);
64 
65 protected:
66  void resizeEvent(QResizeEvent *event) override;
67 private Q_SLOTS:
68  void onBtnReceiveClicked();
70  void onThemeClicked();
71  void onBtnLockClicked();
73  void lockDropdownClicked(const StateClicked&);
74  void refreshStatus();
75  void openLockUnlock();
76  void onColdStakingClicked();
78  void expandSync();
79 private:
80  Ui::TopBar *ui;
82  QProgressBar* progressBar = nullptr;
83 
84  int nDisplayUnit = -1;
85  QTimer* timerStakingIcon = nullptr;
86  bool isInitializing = true;
87 
88  // info popup
90 
91  void updateTorIcon();
92  void connectUpgradeBtnAndDialogTimer(const QString& message);
93 };
94 
95 #endif // PIVX_QT_TOPBAR_H
Model for PIVX network client.
Definition: clientmodel.h:50
PIVX GUI main class.
Definition: pivxgui.h:46
void message(const QString &title, const QString &body, unsigned int style, bool *ret=nullptr)
Definition: topbar.h:27
void showTop()
Definition: topbar.cpp:362
void onBtnLockClicked()
Definition: topbar.cpp:178
TopBar(PIVXGUI *_mainWindow, QWidget *parent=nullptr)
Definition: topbar.cpp:53
void openLockUnlock()
Definition: topbar.cpp:205
void resizeEvent(QResizeEvent *event) override
Definition: topbar.cpp:701
void walletSynced(bool isSync)
void loadClientModel() override
Definition: topbar.cpp:416
Ui::TopBar * ui
Definition: topbar.h:80
void updateHDState(const bool upgraded, const QString &upgradeError)
Definition: topbar.cpp:721
~TopBar()
Definition: topbar.cpp:408
QProgressBar * progressBar
Definition: topbar.h:82
int nDisplayUnit
Definition: topbar.h:84
void expandSync()
Definition: topbar.cpp:712
void setNumBlocks(int count)
Definition: topbar.cpp:484
void updateTorIcon()
Definition: topbar.cpp:617
void unlockWallet()
Definition: topbar.cpp:239
bool isInitializing
Definition: topbar.h:86
void updateDisplayUnit()
Definition: topbar.cpp:667
void onError(QString error, int type) override
Definition: topbar.cpp:759
void onColdStakingClicked()
Definition: topbar.cpp:380
void run(int type) override
Definition: topbar.cpp:745
void showBottom()
Definition: topbar.cpp:372
QTimer * timerStakingIcon
Definition: topbar.h:85
void onShowHideColdStakingChanged(bool show)
void updateBalances(const interfaces::WalletBalances &newBalance)
Definition: topbar.cpp:677
void loadWalletModel() override
Definition: topbar.cpp:575
void onBtnBalanceInfoClicked()
Definition: topbar.cpp:343
void refreshProgressBarSize()
Definition: topbar.cpp:707
void openPassPhraseDialog(AskPassphraseDialog::Mode mode, AskPassphraseDialog::Context ctx)
Definition: topbar.cpp:220
void refreshStatus()
Definition: topbar.cpp:638
BalanceBubble * balanceBubble
Definition: topbar.h:89
void onBtnReceiveClicked()
Definition: topbar.cpp:325
void connectUpgradeBtnAndDialogTimer(const QString &message)
Definition: topbar.cpp:608
void setNetworkActive(bool active)
Definition: topbar.cpp:472
void updateStakingStatus()
Definition: topbar.cpp:444
void tierTwoSynced(bool isSync)
void encryptWallet()
Definition: topbar.cpp:234
void setNumConnections(int count)
Definition: topbar.cpp:455
void setStakingStatusActive(bool fActive)
Definition: topbar.cpp:434
void lockDropdownMouseLeave()
Definition: topbar.cpp:315
void lockDropdownClicked(const StateClicked &)
Definition: topbar.cpp:250
void themeChanged(bool isLight)
void showUpgradeDialog(const QString &message)
Definition: topbar.cpp:559
void onThemeClicked()
Definition: topbar.cpp:159
LockUnlock * lockUnlockWidget
Definition: topbar.h:81
Interface to PIVX wallet from Qt view code.
Definition: walletmodel.h:109
StateClicked
Definition: lockunlock.h:15
Collection of wallet balances.
Definition: wallet.h:16
bool error(const char *fmt, const Args &... args)
Definition: system.h:77