PIVX Core  5.6.99
P2P Digital Currency
optionbutton.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 "optionbutton.h"
6 #include "ui_optionbutton.h"
7 
8 #include "qtutils.h"
9 
10 #include <QMouseEvent>
11 
12 OptionButton::OptionButton(QWidget *parent) :
13  QWidget(parent),
14  ui(new Ui::OptionButton)
15 {
16  ui->setupUi(this);
17  setCssProperty(ui->labelArrow3, "ic-arrow");
18  setCssProperty(ui->layoutOptions2, "container-options");
19  ui->layoutOptions2->setContentsMargins(0,10,10,10);
20  setCssProperty(ui->labelCircle, "btn-options-indicator");
21  connect(ui->labelArrow3, &QPushButton::clicked, [this](){setChecked(!ui->labelArrow3->isChecked());});
22  setActive(false);
23 }
24 
26 {
27  delete ui;
28 }
29 
30 void OptionButton::setTitleClassAndText(QString className, QString text)
31 {
32  ui->labelTitleChange->setText(text);
33  setCssProperty(ui->labelTitleChange, className);
34 }
35 
36 void OptionButton::setTitleText(QString text)
37 {
38  ui->labelTitleChange->setText(text);
39 }
40 
41 void OptionButton::setSubTitleClassAndText(QString className, QString text)
42 {
43  ui->labelSubtitleChange->setText(text);
44  setCssProperty(ui->labelSubtitleChange, className);
45 }
46 
47 void OptionButton::setRightIconClass(QString className, bool forceUpdate)
48 {
49  setCssProperty(ui->labelArrow3, className);
50  if (forceUpdate) updateStyle(ui->labelArrow3);
51 }
52 
53 void OptionButton::setRightIcon(QPixmap icon)
54 {
55  //ui->labelArrow3->setPixmap(icon);
56 }
57 
58 void OptionButton::setActive(bool isActive)
59 {
60  if (isActive) {
61  ui->layoutCircle->setVisible(true);
62  setCssProperty(ui->labelTitleChange, "btn-title-purple");
63  updateStyle(ui->labelTitleChange);
64  } else {
65  ui->layoutCircle->setVisible(false);
66  setCssProperty(ui->labelTitleChange, "btn-title-grey");
67  updateStyle(ui->labelTitleChange);
68  }
69 }
70 
71 void OptionButton::setChecked(bool checked)
72 {
73  ui->labelArrow3->setChecked(checked);
74  Q_EMIT clicked();
75 }
76 
77 void OptionButton::mousePressEvent(QMouseEvent *qevent)
78 {
79  if (qevent->button() == Qt::LeftButton){
80  setChecked(!ui->labelArrow3->isChecked());
81  }
82 }
void clicked()
virtual void mousePressEvent(QMouseEvent *qevent)
void setActive(bool)
void setRightIconClass(QString className, bool forceUpdate=false)
void setSubTitleClassAndText(QString className, QString text)
void setRightIcon(QPixmap icon)
void setTitleText(QString text)
void setTitleClassAndText(QString className, QString text)
OptionButton(QWidget *parent=nullptr)
Ui::OptionButton * ui
Definition: optionbutton.h:36
void setChecked(bool checked)
void setCssProperty(std::initializer_list< QWidget * > args, const QString &value)
Definition: qtutils.cpp:334
void updateStyle(QWidget *widget)
Definition: qtutils.cpp:225