Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/qt/pivx/coldstakingwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ void ColdStakingWidget::loadWalletModel()

}

void ColdStakingWidget::onTxArrived(const QString& hash, const bool isCoinStake, const bool isCSAnyType)
void ColdStakingWidget::onTxArrived(const QString& hash, const bool isCoinStake, const bool isMNReward, const bool isCSAnyType)
{
if (isCSAnyType) {
tryRefreshDelegations();
Expand Down
2 changes: 1 addition & 1 deletion src/qt/pivx/coldstakingwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ private Q_SLOTS:
void onCopyOwnerClicked();
void onAddressCopyClicked();
void onAddressEditClicked();
void onTxArrived(const QString& hash, const bool isCoinStake, const bool isCSAnyType);
void onTxArrived(const QString& hash, const bool isCoinStake, const bool isMNReward, const bool isCSAnyType);
void onContactsClicked(bool ownerAdd);
void clearAll();
void onLabelClicked();
Expand Down
61 changes: 32 additions & 29 deletions src/qt/pivx/dashboardwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
#include "qt/pivx/txrow.h"
#include "qt/pivx/qtutils.h"
#include "guiutil.h"
#include "walletmodel.h"
#include "clientmodel.h"
#include "optionsmodel.h"
#include "utiltime.h"
Expand Down Expand Up @@ -53,17 +52,17 @@ DashboardWidget::DashboardWidget(PIVXGUI* parent) :
// Staking Information
setCssSubtitleScreen(ui->labelMessage);
setCssProperty(ui->labelSquarePiv, "square-chart-piv");
setCssProperty(ui->labelSquarezPiv, "square-chart-zpiv");
setCssProperty(ui->labelSquareMN, "square-chart-mn");
setCssProperty(ui->labelPiv, "text-chart-piv");
setCssProperty(ui->labelZpiv, "text-chart-zpiv");
setCssProperty(ui->labelMN, "text-chart-mn");

// Staking Amount
QFont fontBold;
fontBold.setWeight(QFont::Bold);

setCssProperty(ui->labelChart, "legend-chart");
setCssProperty(ui->labelAmountPiv, "text-stake-piv-disable");
setCssProperty(ui->labelAmountZpiv, "text-stake-zpiv-disable");
setCssProperty(ui->labelAmountMN, "text-stake-mn-disable");

setCssProperty({ui->pushButtonAll, ui->pushButtonMonth, ui->pushButtonYear}, "btn-check-time");
setCssProperty({ui->comboBoxMonths, ui->comboBoxYears}, "btn-combo-chart-selected");
Expand Down Expand Up @@ -220,13 +219,13 @@ void DashboardWidget::loadWalletModel()
updateDisplayUnit();
}

void DashboardWidget::onTxArrived(const QString& hash, const bool isCoinStake, const bool isCSAnyType)
void DashboardWidget::onTxArrived(const QString& hash, const bool isCoinStake, const bool isMNReward, const bool isCSAnyType)
{
showList();
if (!isVisible()) return;
#ifdef USE_QTCHARTS
if (isCoinStake) {
// Update value if this is our first stake
if (isCoinStake || isMNReward) {
// Update value if this is our first stake/reward
if (!hasStakes && stakesFilter)
hasStakes = stakesFilter->rowCount() > 0;
tryChartRefresh();
Expand Down Expand Up @@ -519,21 +518,21 @@ void DashboardWidget::updateStakeFilter()
}
}

// pair PIV, zPIV
const QMap<int, std::pair<qint64, qint64>> DashboardWidget::getAmountBy()
// pair PIV, MN Reward
QMap<int, std::pair<qint64, qint64>> DashboardWidget::getAmountBy()
{
if (filterUpdateNeeded) {
filterUpdateNeeded = false;
updateStakeFilter();
}
const int size = stakesFilter->rowCount();
QMap<int, std::pair<qint64, qint64>> amountBy;
// Get all of the stakes
// Get all the stakes
for (int i = 0; i < size; ++i) {
QModelIndex modelIndex = stakesFilter->index(i, TransactionTableModel::ToAddress);
qint64 amount = llabs(modelIndex.data(TransactionTableModel::AmountRole).toLongLong());
QDate date = modelIndex.data(TransactionTableModel::DateRole).toDateTime().date();
bool isPiv = modelIndex.data(TransactionTableModel::TypeRole).toInt() != TransactionRecord::StakeZPIV;
bool isPiv = modelIndex.data(TransactionTableModel::TypeRole).toInt() != TransactionRecord::MNReward;

int time = 0;
switch (chartShow) {
Expand Down Expand Up @@ -563,7 +562,7 @@ const QMap<int, std::pair<qint64, qint64>> DashboardWidget::getAmountBy()
amountBy[time] = std::make_pair(amount, 0);
} else {
amountBy[time] = std::make_pair(0, amount);
hasZpivStakes = true;
hasMNRewards = true;
}
}
}
Expand All @@ -578,7 +577,7 @@ bool DashboardWidget::loadChartData(bool withMonthNames)
}

chartData = new ChartData();
chartData->amountsByCache = getAmountBy(); // pair PIV, zPIV
chartData->amountsByCache = getAmountBy(); // pair PIV, MN Reward

std::pair<int,int> range = getChartRange(chartData->amountsByCache);
if (range.first == 0 && range.second == 0) {
Expand All @@ -592,21 +591,21 @@ bool DashboardWidget::loadChartData(bool withMonthNames)
for (int j = range.first; j < range.second; j++) {
int num = (isOrderedByMonth && j > daysInMonth) ? (j % daysInMonth) : j;
qreal piv = 0;
qreal zpiv = 0;
qreal mn = 0;
if (chartData->amountsByCache.contains(num)) {
std::pair <qint64, qint64> pair = chartData->amountsByCache[num];
piv = (pair.first != 0) ? pair.first / 100000000 : 0;
zpiv = (pair.second != 0) ? pair.second / 100000000 : 0;
mn = (pair.second != 0) ? pair.second / 100000000 : 0;
chartData->totalPiv += pair.first;
chartData->totalZpiv += pair.second;
chartData->totalMN += pair.second;
}

chartData->xLabels << ((withMonthNames) ? monthsNames[num - 1] : QString::number(num));

chartData->valuesPiv.append(piv);
chartData->valueszPiv.append(zpiv);
chartData->valuesMN.append(mn);

int max = std::max(piv, zpiv);
int max = std::max(piv, mn);
if (max > chartData->maxValue) {
chartData->maxValue = max;
}
Expand Down Expand Up @@ -665,8 +664,8 @@ void DashboardWidget::onChartRefreshed()
axisX->clear();
}
// init sets
set0 = new QBarSet(CURRENCY_UNIT.c_str());
set1 = new QBarSet("z" + QString(CURRENCY_UNIT.c_str()));
set0 = new QBarSet(tr("Stakes"));
set1 = new QBarSet(tr("MN"));
set0->setColor(QColor(92,75,125));
set1->setColor(QColor(176,136,255));

Expand All @@ -678,23 +677,23 @@ void DashboardWidget::onChartRefreshed()
series->attachAxis(axisY);

set0->append(chartData->valuesPiv);
set1->append(chartData->valueszPiv);
set1->append(chartData->valuesMN);

// Total
nDisplayUnit = walletModel->getOptionsModel()->getDisplayUnit();
if (chartData->totalPiv > 0 || chartData->totalZpiv > 0) {
if (chartData->totalPiv > 0 || chartData->totalMN > 0) {
setCssProperty(ui->labelAmountPiv, "text-stake-piv");
setCssProperty(ui->labelAmountZpiv, "text-stake-zpiv");
setCssProperty(ui->labelAmountMN, "text-stake-mn");
} else {
setCssProperty(ui->labelAmountPiv, "text-stake-piv-disable");
setCssProperty(ui->labelAmountZpiv, "text-stake-zpiv-disable");
setCssProperty(ui->labelAmountMN, "text-stake-mn-disable");
}
forceUpdateStyle({ui->labelAmountPiv, ui->labelAmountZpiv});
forceUpdateStyle({ui->labelAmountPiv, ui->labelAmountMN});
ui->labelAmountPiv->setText(GUIUtil::formatBalance(chartData->totalPiv, nDisplayUnit));
ui->labelAmountZpiv->setText(GUIUtil::formatBalance(chartData->totalZpiv, nDisplayUnit, true));
ui->labelAmountMN->setText(GUIUtil::formatBalance(chartData->totalMN, nDisplayUnit));

series->append(set0);
if (hasZpivStakes)
if (hasMNRewards)
series->append(set1);

// bar width
Expand Down Expand Up @@ -754,7 +753,7 @@ void DashboardWidget::onChartRefreshed()
isLoading = false;
}

std::pair<int, int> DashboardWidget::getChartRange(QMap<int, std::pair<qint64, qint64>> amountsBy)
std::pair<int, int> DashboardWidget::getChartRange(const QMap<int, std::pair<qint64, qint64>>& amountsBy)
{
switch (chartShow) {
case YEAR:
Expand Down Expand Up @@ -884,7 +883,11 @@ void DashboardWidget::onHideChartsChanged(bool fHide)
stakesFilter->setDynamicSortFilter(false);
stakesFilter->setSortCaseSensitivity(Qt::CaseInsensitive);
stakesFilter->setFilterCaseSensitivity(Qt::CaseInsensitive);
stakesFilter->setOnlyStakes(true);
stakesFilter->setTypeFilter(TransactionFilterProxy::TYPE(TransactionRecord::StakeMint) |
TransactionFilterProxy::TYPE(TransactionRecord::Generated) |
TransactionFilterProxy::TYPE(TransactionRecord::StakeZPIV) |
TransactionFilterProxy::TYPE(TransactionRecord::StakeDelegated) |
TransactionFilterProxy::TYPE(TransactionRecord::MNReward));
}
stakesFilter->setSourceModel(txModel);
hasStakes = stakesFilter->rowCount() > 0;
Expand Down
12 changes: 6 additions & 6 deletions src/qt/pivx/dashboardwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ class ChartData {
QMap<int, std::pair<qint64, qint64>> amountsByCache;
qreal maxValue = 0;
qint64 totalPiv = 0;
qint64 totalZpiv = 0;
qint64 totalMN = 0;
QList<qreal> valuesPiv;
QList<qreal> valueszPiv;
QList<qreal> valuesMN;
QStringList xLabels;
};

Expand Down Expand Up @@ -122,7 +122,7 @@ private Q_SLOTS:
void onSortTypeChanged(const QString& value);
void updateDisplayUnit();
void showList();
void onTxArrived(const QString& hash, const bool isCoinStake, const bool isCSAnyType);
void onTxArrived(const QString& hash, const bool isCoinStake, const bool isMNReward, const bool isCSAnyType);

#ifdef USE_QTCHARTS
void windowResizeEvent(QResizeEvent* event);
Expand Down Expand Up @@ -165,7 +165,7 @@ private Q_SLOTS:
int yearFilter{0};
int monthFilter{0};
int dayStart{1};
bool hasZpivStakes{false};
bool hasMNRewards{false};

ChartData* chartData{nullptr};
bool hasStakes{false};
Expand All @@ -177,11 +177,11 @@ private Q_SLOTS:
bool refreshChart();
void tryChartRefresh();
void updateStakeFilter();
const QMap<int, std::pair<qint64, qint64>> getAmountBy();
QMap<int, std::pair<qint64, qint64>> getAmountBy();
bool loadChartData(bool withMonthNames);
void updateAxisX(const QStringList *arg = nullptr);
void setChartShow(ChartShowType type);
std::pair<int, int> getChartRange(QMap<int, std::pair<qint64, qint64>> amountsBy);
std::pair<int, int> getChartRange(const QMap<int, std::pair<qint64, qint64>>& amountsBy);

private Q_SLOTS:
void onChartRefreshed();
Expand Down
20 changes: 10 additions & 10 deletions src/qt/pivx/forms/dashboardwidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -512,14 +512,14 @@
</size>
</property>
<property name="text">
<string>Staking Rewards</string>
<string>Staking/MN Rewards</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelMessage">
<property name="text">
<string>Amount of staking rewards received.</string>
<string>Amount of PIV stakes and masternodes rewards.</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -567,17 +567,17 @@
<item>
<widget class="QLabel" name="labelAmountPiv">
<property name="text">
<string notr="true">0 PIV</string>
<string notr="true">0 Stakes</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelAmountZpiv">
<widget class="QLabel" name="labelAmountMN">
<property name="text">
<string notr="true">0 zPIV</string>
<string notr="true">0 MN</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
Expand Down Expand Up @@ -655,7 +655,7 @@
<item>
<widget class="QLabel" name="labelChart">
<property name="text">
<string>Staking statistics</string>
<string>Rewards statistics</string>
</property>
</widget>
</item>
Expand Down Expand Up @@ -694,7 +694,7 @@
<item>
<widget class="QLabel" name="labelPiv">
<property name="text">
<string notr="true">PIV</string>
<string notr="true">Stakes</string>
</property>
</widget>
</item>
Expand All @@ -715,7 +715,7 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="labelSquarezPiv">
<widget class="QLabel" name="labelSquareMN">
<property name="minimumSize">
<size>
<width>14</width>
Expand All @@ -734,9 +734,9 @@
</widget>
</item>
<item>
<widget class="QLabel" name="labelZpiv">
<widget class="QLabel" name="labelMN">
<property name="text">
<string notr="true">zPIV</string>
<string>Masternode</string>
</property>
</widget>
</item>
Expand Down
8 changes: 4 additions & 4 deletions src/qt/pivx/res/css/style_dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -1874,14 +1874,14 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
border-bottom: 5px solid #69656F;
}

*[cssClass="text-stake-zpiv"] {
*[cssClass="text-stake-mn"] {
color:#b088ff;
font-size:16px;
padding:10px;
border-bottom: 5px solid #b088ff;
}

*[cssClass="text-stake-zpiv-disable"] {
*[cssClass="text-stake-mn-disable"] {
color:#423E4A;
font-size:16px;
padding:10px;
Expand All @@ -1893,7 +1893,7 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
font-size:16px;
}

*[cssClass="text-chart-zpiv"] {
*[cssClass="text-chart-mn"] {
color:#b088ff;
font-size:16px;
padding-left:4px;
Expand All @@ -1905,7 +1905,7 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
padding-left:4px;
}

*[cssClass="square-chart-zpiv"] {
*[cssClass="square-chart-mn"] {
background-color:#b088ff;
border:none;
}
Expand Down
8 changes: 4 additions & 4 deletions src/qt/pivx/res/css/style_light.css
Original file line number Diff line number Diff line change
Expand Up @@ -1875,14 +1875,14 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
border-bottom: 5px solid #bbb8c0;
}

*[cssClass="text-stake-zpiv"] {
*[cssClass="text-stake-mn"] {
color:#b088ff;
font-size:16px;
padding:10px;
border-bottom: 5px solid #b088ff;
}

*[cssClass="text-stake-zpiv-disable"] {
*[cssClass="text-stake-mn-disable"] {
color:#d7d5da;
font-size:16px;
padding:10px;
Expand All @@ -1894,7 +1894,7 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
font-size:16px;
}

*[cssClass="text-chart-zpiv"] {
*[cssClass="text-chart-mn"] {
color:#b088ff;
font-size:16px;
padding-left:4px;
Expand All @@ -1906,7 +1906,7 @@ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*/
padding-left:4px;
}

*[cssClass="square-chart-zpiv"] {
*[cssClass="square-chart-mn"] {
background-color:#b088ff;
border:none;
}
Expand Down
Loading