PIVX Core  5.6.99
P2P Digital Currency
masternodeswidget.h
Go to the documentation of this file.
1 // Copyright (c) 2019-2022 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_MASTERNODESWIDGET_H
6 #define PIVX_QT_MASTERNODESWIDGET_H
7 
8 #include "coincontroldialog.h"
10 #include "pwidget.h"
11 #include "tooltipmenu.h"
12 
13 #include <atomic>
14 
15 #include <QTimer>
16 #include <QWidget>
17 
18 class PIVXGUI;
19 class MNModel;
20 
21 namespace Ui {
22 class MasterNodesWidget;
23 }
24 
25 QT_BEGIN_NAMESPACE
26 class QModelIndex;
27 QT_END_NAMESPACE
28 
29 class MasterNodesWidget : public PWidget
30 {
31  Q_OBJECT
32 
33 public:
34 
35  explicit MasterNodesWidget(PIVXGUI *parent = nullptr);
37  void resetCoinControl();
38  void setMNModel(MNModel* _mnModel);
39 
40  void run(int type) override;
41  void onError(QString error, int type) override;
42 
43  void showEvent(QShowEvent *event) override;
44  void hideEvent(QHideEvent *event) override;
45 
46 private Q_SLOTS:
47  void onCoinControlClicked();
48  void onCreateMNClicked();
49  void onStartAllClicked(int type);
50  void changeTheme(bool isLightTheme, QString &theme) override;
51  void onMNClicked(const QModelIndex &index);
52  void onEditMNClicked();
53  void onDeleteMNClicked();
54  void onInfoMNClicked();
55  void updateListState();
56  void updateModelAndInform(const QString& informText);
57 
58 private:
59  Ui::MasterNodesWidget *ui;
61  MNModel *mnModel = nullptr;
62  TooltipMenu* menu = nullptr;
63  QModelIndex index;
64  QTimer *timer = nullptr;
66 
67  std::atomic<bool> isLoading;
68 
69  bool checkMNsNetwork();
70  void startAlias(const QString& strAlias);
71  bool startAll(QString& failedMN, bool onlyMissing);
72 };
73 
74 #endif // PIVX_QT_MASTERNODESWIDGET_H
TooltipMenu * menu
void changeTheme(bool isLightTheme, QString &theme) override
void hideEvent(QHideEvent *event) override
CoinControlDialog * coinControlDialog
void run(int type) override
void onStartAllClicked(int type)
void setMNModel(MNModel *_mnModel)
std::atomic< bool > isLoading
void onMNClicked(const QModelIndex &index)
void startAlias(const QString &strAlias)
bool startAll(QString &failedMN, bool onlyMissing)
MasterNodesWidget(PIVXGUI *parent=nullptr)
void showEvent(QShowEvent *event) override
Ui::MasterNodesWidget * ui
void updateModelAndInform(const QString &informText)
FurAbstractListItemDelegate * delegate
void onError(QString error, int type) override
PIVX GUI main class.
Definition: pivxgui.h:46
bool isLightTheme()
Definition: qtutils.cpp:210
bool error(const char *fmt, const Args &... args)
Definition: system.h:77