PIVX Core  5.6.99
P2P Digital Currency
lockunlock.cpp
Go to the documentation of this file.
1 // Copyright (c) 2019-2020 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 #include "lockunlock.h"
6 #include "ui_lockunlock.h"
7 
8 LockUnlock::LockUnlock(QWidget *parent) :
9  QWidget(parent),
10  ui(new Ui::LockUnlock)
11 {
12  ui->setupUi(this);
13 
14  // Load css.
15  this->setStyleSheet(parent->styleSheet());
16 
17  ui->container->setProperty("cssClass", "top-sub-menu");
18 
19  ui->pushButtonUnlocked->setProperty("cssClass", "btn-check-lock-sub-menu-unlocked");
20  ui->pushButtonUnlocked->setStyleSheet("padding-left: 34px;");
21  ui->pushButtonLocked->setProperty("cssClass", "btn-check-lock-sub-menu-locked");
22  ui->pushButtonLocked->setStyleSheet("padding-left: 34px;");
23  ui->pushButtonStaking->setProperty("cssClass", "btn-check-lock-sub-menu-staking");
24  ui->pushButtonStaking->setStyleSheet("padding-left: 34px;");
25 
26  // Connect
27  connect(ui->pushButtonUnlocked, &QPushButton::clicked, this, &LockUnlock::onUnlockClicked);
28  connect(ui->pushButtonLocked, &QPushButton::clicked, this, &LockUnlock::onLockClicked);
29  connect(ui->pushButtonStaking, &QPushButton::clicked, this, &LockUnlock::onStakingClicked);
30 }
31 
33 {
34  delete ui;
35 }
36 
38 {
39  switch (status) {
40  case WalletModel::EncryptionStatus::Unlocked:
41  ui->pushButtonUnlocked->setChecked(true);
42  ui->pushButtonLocked->setChecked(false);
43  ui->pushButtonStaking->setChecked(false);
44  break;
45  case WalletModel::EncryptionStatus::UnlockedForStaking:
46  ui->pushButtonUnlocked->setChecked(false);
47  ui->pushButtonLocked->setChecked(false);
48  ui->pushButtonStaking->setChecked(true);
49  break;
50  case WalletModel::EncryptionStatus::Locked:
51  ui->pushButtonUnlocked->setChecked(false);
52  ui->pushButtonLocked->setChecked(true);
53  ui->pushButtonStaking->setChecked(false);
54  break;
55  default:
56  break;
57  }
58 }
59 
61 {
62  lock = 0;
64 }
65 
67 {
68  lock = 1;
70 }
71 
73 {
74  lock = 2;
76 }
77 
78 void LockUnlock::enterEvent(QEvent *)
79 {
80  isOnHover = true;
81  Q_EMIT Mouse_Entered();
82 }
83 
84 void LockUnlock::leaveEvent(QEvent *)
85 {
86  isOnHover = false;
87  Q_EMIT Mouse_Leave();
88 }
89 
91 {
92  return isOnHover;
93 }
void lockClicked(const StateClicked &state)
Ui::LockUnlock * ui
Definition: lockunlock.h:45
bool isOnHover
Definition: lockunlock.h:46
void Mouse_Entered()
void onLockClicked()
Definition: lockunlock.cpp:60
virtual void enterEvent(QEvent *)
Definition: lockunlock.cpp:78
void Mouse_Leave()
void onStakingClicked()
Definition: lockunlock.cpp:72
virtual void leaveEvent(QEvent *)
Definition: lockunlock.cpp:84
void onUnlockClicked()
Definition: lockunlock.cpp:66
void updateStatus(WalletModel::EncryptionStatus status)
Definition: lockunlock.cpp:37
LockUnlock(QWidget *parent=nullptr)
Definition: lockunlock.cpp:8
bool isHovered()
Definition: lockunlock.cpp:90
@ UNLOCK
Definition: lockunlock.h:16
@ LOCK
Definition: lockunlock.h:16
@ UNLOCK_FOR_STAKING
Definition: lockunlock.h:16