5 #if defined(HAVE_CONFIG_H)
10 #include "qt/settings/forms/ui_faqwidget.h"
16 #include <QMetaObject>
23 this->setStyleSheet(parent->styleSheet());
26 ui->container->load(
"://bg-welcome");
36 ui->labelNumber_Intro,
37 ui->labelNumber_UnspendablePIV,
38 ui->labelNumber_Stake,
39 ui->labelNumber_Support,
40 ui->labelNumber_Masternode,
41 ui->labelNumber_MNController
42 },
"container-number-faq");
45 ui->labelSubtitle_Intro,
46 ui->labelSubtitle_UnspendablePIV,
47 ui->labelSubtitle_Stake,
48 ui->labelSubtitle_Support,
49 ui->labelSubtitle_Masternode,
50 ui->labelSubtitle_MNController
51 },
"text-subtitle-faq");
55 ui->labelContent_Intro,
56 ui->labelContent_UnspendablePIV,
57 ui->labelContent_Stake,
58 ui->labelContent_Support,
59 ui->labelContent_Masternode,
60 ui->labelContent_MNController
61 },
"text-content-faq");
66 ui->pushButton_UnspendablePIV,
68 ui->pushButton_Support,
69 ui->pushButton_Masternode,
70 ui->pushButton_MNController
71 },
"btn-faq-options");
73 ui->labelContent_Support->setOpenExternalLinks(
true);
78 tr(
"PIVX is a form of digital online money using blockchain technology "
79 "that can be easily transferred globally, instantly, and with near "
80 "zero fees. PIVX incorporates market leading security & "
81 "privacy and is also the first PoS (Proof of Stake) Cryptocurrency "
82 "to implement Sapling(SHIELD), a zk-SNARKs based privacy protocol.")) +
84 tr(
"PIVX utilizes a Proof of Stake (PoS) consensus system algorithm, "
85 "allowing all owners of PIVX to participate in earning block rewards "
86 "while securing the network with full node wallets, as well as to "
87 "run Masternodes to create and vote on proposals.")));
88 ui->labelContent_Intro->setText(introContent);
92 tr(
"Newly received PIVX requires 6 confirmations on the network "
93 "to become eligible for spending which can take ~6 minutes.")) +
95 tr(
"Your PIVX wallet also needs to be completely synchronized "
96 "to see and spend balances on the network.")));
97 ui->labelContent_UnspendablePIV->setText(unspendablePIVContent);
101 formatFAQListItem(tr(
"Make sure your wallet is completely synchronized and you are using the latest release.")) +
102 formatFAQListItem(tr(
"You must have a balance of PIVX with a minimum of 600 confirmations.")) +
103 formatFAQListItem(tr(
"Your wallet must stay online and be unlocked for staking purposes.")) +
104 formatFAQListItem(tr(
"Once all those steps are followed staking should be enabled."))) +
106 tr(
"You can see the status of staking in the wallet by mousing over the "
107 "package icon in the row on the top left of the wallet interface. The "
108 "package will be lit up and will state \"Staking Enabled\" to indicate "
109 "it is staking. Using the command line interface (%1); the command %2 "
110 "will confirm that staking is active.")
111 .arg(
"pivx-cli",
"<span style=\"font-style:italic\">getstakingstatus</span>")));
112 ui->labelContent_Stake->setText(stakeContent);
116 tr(
"We have support channels in most of our official chat groups, for example %1")
117 .arg(
"<a style='color: #b088ff' href='https://discord.PIVX.org'>" + tr(
"#support in our Discord") +
"</a>.")));
118 ui->labelContent_Support->setText(supportContent);
122 tr(
"A masternode is a computer running a full node %1 wallet with a "
123 "requirement of %2 secured collateral to provide extra services "
124 "to the network and in return, receive a portion of the block reward "
125 "regularly. These services include:")
134 tr(
"For providing such services, masternodes are also paid a certain portion "
135 "of reward for each block. This can serve as a passive income to the "
136 "masternode owners minus their running cost.")) +
138 tr(
"Masternode Perks:") +
145 tr(
"Requirements:") +
152 ui->labelContent_Masternode->setText(masternodeContent);
156 tr(
"A Masternode Controller wallet is where the %1 collateral "
157 "can reside during a Controller-Remote masternode setup. It is a wallet "
158 "that can activate the remote masternode wallet(s) and allows you to keep "
159 "your collateral coins offline while the remote masternode remains online.")
161 ui->labelContent_MNController->setText(mNControllerContent);
172 connect(
ui->pushButtonExit, &QPushButton::clicked,
this, &SettingsFaqWidget::close);
173 connect(
ui->pushButton_Intro, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_Intro);});
174 connect(
ui->pushButton_UnspendablePIV, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_UnspendablePIV);});
175 connect(
ui->pushButton_Stake, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_Stake);});
176 connect(
ui->pushButton_Support, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_Support);});
177 connect(
ui->pushButton_Masternode, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_Masternode);});
178 connect(
ui->pushButton_MNController, &QPushButton::clicked, [
this](){onFaqClicked(ui->widget_MNController);});
187 QMetaObject::invokeMethod(btn,
"setChecked", Qt::QueuedConnection, Q_ARG(
bool,
true));
188 QMetaObject::invokeMethod(btn,
"clicked", Qt::QueuedConnection);
198 ui->scrollAreaFaq->verticalScrollBar()->setValue(widget->y());
203 QWidget* w = qobject_cast<QWidget*>(parent());
204 this->resize(w->width(), w->height());
205 this->move(QPoint(0, 0));
211 ui->pushButton_Intro,
212 ui->pushButton_UnspendablePIV,
213 ui->pushButton_Stake,
214 ui->pushButton_Support,
215 ui->pushButton_Masternode,
216 ui->pushButton_MNController
CAmount getMNCollateralRequiredAmount()
void windowResizeEvent(QResizeEvent *event)
QString formatBalance(CAmount amount, int nDisplayUnit, bool isZpiv)
void setCssProperty(std::initializer_list< QWidget * > args, const QString &value)