diff --git a/src/dialog/BalanceDialog.cpp b/src/dialog/BalanceDialog.cpp
index 7ffd2d0f..451833bd 100644
--- a/src/dialog/BalanceDialog.cpp
+++ b/src/dialog/BalanceDialog.cpp
@@ -6,6 +6,9 @@
#include "libwalletqt/WalletManager.h"
#include "utils/Utils.h"
+#include "utils/config.h"
+#include "utils/AppData.h"
+#include "constants.h"
BalanceDialog::BalanceDialog(QWidget *parent, Wallet *wallet)
: WindowModalDialog(parent)
@@ -23,15 +26,33 @@ BalanceDialog::BalanceDialog(QWidget *parent, Wallet *wallet)
ui->label_spendable->setFont(Utils::getMonospaceFont());
ui->label_total->setFont(Utils::getMonospaceFont());
+ ui->label_unconfirmedFiat->setFont(Utils::getMonospaceFont());
+ ui->label_spendableFiat->setFont(Utils::getMonospaceFont());
+ ui->label_totalFiat->setFont(Utils::getMonospaceFont());
+
+ if (conf()->get(Config::disableWebsocket).toBool()) {
+ ui->label_unconfirmedFiat->hide();
+ ui->label_spendableFiat->hide();
+ ui->label_totalFiat->hide();
+ }
+
this->updateBalance();
this->adjustSize();
}
void BalanceDialog::updateBalance() {
- ui->label_unconfirmed->setText(WalletManager::displayAmount(m_wallet->balance() - m_wallet->unlockedBalance()));
+ quint64 unconfirmedBalance = m_wallet->balance() - m_wallet->unlockedBalance();
+
+ ui->label_unconfirmed->setText(WalletManager::displayAmount(unconfirmedBalance));
ui->label_spendable->setText(WalletManager::displayAmount(m_wallet->unlockedBalance()));
ui->label_total->setText(WalletManager::displayAmount(m_wallet->balance()));
+
+ if (!conf()->get(Config::disableWebsocket).toBool()) {
+ ui->label_unconfirmedFiat->setText(appData()->prices.atomicUnitsToPreferredFiatString(unconfirmedBalance));
+ ui->label_spendableFiat->setText(appData()->prices.atomicUnitsToPreferredFiatString(m_wallet->unlockedBalance()));
+ ui->label_totalFiat->setText(appData()->prices.atomicUnitsToPreferredFiatString(m_wallet->balance()));
+ }
}
BalanceDialog::~BalanceDialog() = default;
diff --git a/src/dialog/BalanceDialog.ui b/src/dialog/BalanceDialog.ui
index b09ed90f..b240af3b 100644
--- a/src/dialog/BalanceDialog.ui
+++ b/src/dialog/BalanceDialog.ui
@@ -6,8 +6,8 @@
0
0
- 405
- 162
+ 202
+ 140
@@ -15,24 +15,30 @@
-
-
-
-
-
-
- Unconfirmed
-
-
-
- -
-
+
+
-
+
0.0
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+ -
+
+
+ 0.0
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
@@ -43,26 +49,6 @@
- -
-
-
- 0.0
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
-
@@ -70,16 +56,69 @@
- -
-
+
-
+
0.0
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+ -
+
+
+ Unconfirmed
+
+
+
+ -
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ -
+
+
+ (0)
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+ -
+
+
+ (0)
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
+
+
+
+ -
+
+
+ (0)
+
+
+ Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter
+
+
+ Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByMouse
@@ -88,10 +127,10 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
- QDialogButtonBox::Ok
+ QDialogButtonBox::StandardButton::Ok
diff --git a/src/utils/prices.cpp b/src/utils/prices.cpp
index 46e5f7ac..10ac77f1 100644
--- a/src/utils/prices.cpp
+++ b/src/utils/prices.cpp
@@ -6,6 +6,9 @@
#include
#include
+#include "config.h"
+#include "constants.h"
+
Prices::Prices(QObject *parent)
: QObject(parent)
{
@@ -74,3 +77,13 @@ double Prices::convert(QString symbolFrom, QString symbolTo, double amount) {
return 0.0;
}
+QString Prices::atomicUnitsToPreferredFiatString(quint64 amount, bool wrapInParens) {
+ QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
+ double fiatAmount = convert("XMR", fiatCurrency, amount / constants::cdiv);
+ QString currencyString = Utils::amountToCurrencyString(fiatAmount, fiatCurrency);
+
+ if (wrapInParens) {
+ return QString("(%1)").arg(currencyString);
+ }
+ return currencyString;
+}
diff --git a/src/utils/prices.h b/src/utils/prices.h
index 55d77902..8972c0e9 100644
--- a/src/utils/prices.h
+++ b/src/utils/prices.h
@@ -30,6 +30,7 @@ public slots:
void fiatPricesReceived(const QJsonObject &data);
double convert(QString symbolFrom, QString symbolTo, double amount);
+ QString atomicUnitsToPreferredFiatString(quint64 amount, bool wrapInParens = false);
signals:
void fiatPricesUpdated();