Add suport for CNY,RUB,CAD,SGD,CHF,INR,GBP,AUD
This commit is contained in:
116
src/camount.cpp
116
src/camount.cpp
@@ -44,7 +44,7 @@ QString CAmount::toDecimalEURString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getEURPrice();
|
||||
|
||||
return QLocale(QLocale::German).toString(dblAmount*price, 'f', 2) + " €";
|
||||
return QLocale(QLocale::English).toString(dblAmount*price, 'f', 2) + " €";
|
||||
}
|
||||
QString CAmount::toDecimalBTCString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
@@ -52,6 +52,55 @@ QString CAmount::toDecimalBTCString() const {
|
||||
|
||||
return "BTC " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 9);
|
||||
}
|
||||
QString CAmount::toDecimalCNYString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getCNYPrice();
|
||||
|
||||
return "¥ /元 " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalRUBString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getRUBPrice();
|
||||
|
||||
return "₽ " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalCADString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getCADPrice();
|
||||
|
||||
return "$ " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalSGDString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getSGDPrice();
|
||||
|
||||
return "$ " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalCHFString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getCHFPrice();
|
||||
|
||||
return "CHF " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalINRString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getINRPrice();
|
||||
|
||||
return "₹ " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalGBPString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getGBPPrice();
|
||||
|
||||
return "£ " + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
QString CAmount::toDecimalAUDString() const {
|
||||
double dblAmount = static_cast<double>(this->amount) / COIN;
|
||||
double price = Settings::getInstance()->getAUDPrice();
|
||||
|
||||
return " $" + QLocale(QLocale::English).toString(dblAmount*price, 'f', 2);
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushString() const {
|
||||
return this->toDecimalString() % " " % Settings::getTokenName();
|
||||
}
|
||||
@@ -81,6 +130,71 @@ QString CAmount::toDecimalhushBTCString() const {
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushCNYString() const {
|
||||
auto cnyString = this->toDecimalCNYString();
|
||||
if (!cnyString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % cnyString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushRUBString() const {
|
||||
auto rubString = this->toDecimalRUBString();
|
||||
if (!rubString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % rubString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushCADString() const {
|
||||
auto cadString = this->toDecimalCADString();
|
||||
if (!cadString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % cadString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushSGDString() const {
|
||||
auto sgdString = this->toDecimalSGDString();
|
||||
if (!sgdString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % sgdString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushCHFString() const {
|
||||
auto chfString = this->toDecimalCHFString();
|
||||
if (!chfString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % chfString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushINRString() const {
|
||||
auto inrString = this->toDecimalINRString();
|
||||
if (!inrString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % inrString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushGBPString() const {
|
||||
auto gbpString = this->toDecimalGBPString();
|
||||
if (!gbpString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % gbpString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
QString CAmount::toDecimalhushAUDString() const {
|
||||
auto audString = this->toDecimalAUDString();
|
||||
if (!audString.isEmpty())
|
||||
return this->toDecimalhushString() % " (" % audString % ")";
|
||||
else
|
||||
return this->toDecimalhushString();
|
||||
}
|
||||
|
||||
|
||||
CAmount CAmount::fromDecimalString(QString decimalString) {
|
||||
auto amtParts = decimalString.split(".");
|
||||
qint64 r = amtParts[0].toULongLong() * COIN;
|
||||
|
||||
@@ -29,10 +29,27 @@ public:
|
||||
QString toDecimalUSDString() const;
|
||||
QString toDecimalEURString() const;
|
||||
QString toDecimalBTCString() const;
|
||||
QString toDecimalCNYString() const;
|
||||
QString toDecimalRUBString() const;
|
||||
QString toDecimalCADString() const;
|
||||
QString toDecimalSGDString() const;
|
||||
QString toDecimalCHFString() const;
|
||||
QString toDecimalINRString() const;
|
||||
QString toDecimalGBPString() const;
|
||||
QString toDecimalAUDString() const;
|
||||
QString toDecimalhushString() const;
|
||||
QString toDecimalhushUSDString() const;
|
||||
QString toDecimalhushEURString() const;
|
||||
QString toDecimalhushBTCString() const;
|
||||
QString toDecimalhushCNYString() const;
|
||||
QString toDecimalhushRUBString() const;
|
||||
QString toDecimalhushCADString() const;
|
||||
QString toDecimalhushSGDString() const;
|
||||
QString toDecimalhushCHFString() const;
|
||||
QString toDecimalhushINRString() const;
|
||||
QString toDecimalhushGBPString() const;
|
||||
QString toDecimalhushAUDString() const;
|
||||
|
||||
qint64 toqint64() const { return amount; };
|
||||
|
||||
CAmount operator+ (const CAmount& other) const {
|
||||
|
||||
@@ -173,6 +173,23 @@ void Controller::getInfoThenRefresh(bool force) {
|
||||
main->statusLabel->setText(" HUSH/EUR=€ " + QString::number( (double) Settings::getInstance()->getEURPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
main->statusLabel->setText(" HUSH/BTC=BTC " + QString::number((double) Settings::getInstance()->getBTCPrice() ,'f',8));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
main->statusLabel->setText(" HUSH/CNY=¥ /元 " + QString::number( (double) Settings::getInstance()->getCNYPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
main->statusLabel->setText(" HUSH/RUB=₽ " + QString::number((double) Settings::getInstance()->getRUBPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
main->statusLabel->setText(" HUSH/CAD=$ " + QString::number( (double) Settings::getInstance()->getCADPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
main->statusLabel->setText(" HUSH/SGD=$ " + QString::number((double) Settings::getInstance()->getSGDPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
main->statusLabel->setText(" HUSH/CHF=CHF " + QString::number((double) Settings::getInstance()->getCHFPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
main->statusLabel->setText(" HUSH/INR=₹ " + QString::number( (double) Settings::getInstance()->getINRPrice() ,'f',2));
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
main->statusLabel->setText(" HUSH/GBP=£ " + QString::number((double) Settings::getInstance()->getGBPPrice() ,'f',2));
|
||||
}else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
main->statusLabel->setText(" HUSH/AUD=$ " + QString::number((double) Settings::getInstance()->getAUDPrice() ,'f',2));
|
||||
|
||||
} else {
|
||||
main->statusLabel->setText(" error Input" + QString::number(Settings::getInstance()->getEURPrice() ));
|
||||
}
|
||||
@@ -320,6 +337,54 @@ void Controller::updateUIBalances() {
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalBTCString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalBTCString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalBTCString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalCNYString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalCNYString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalCNYString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalCNYString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalRUBString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalRUBString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalRUBString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalRUBString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalCADString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalCADString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalCADString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalCADString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalSGDString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalSGDString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalSGDString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalSGDString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalCHFString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalCHFString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalCHFString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalCHFString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalINRString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalINRString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalINRString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalINRString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalGBPString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalGBPString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalGBPString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalGBPString());
|
||||
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
ui->balSheilded ->setToolTip(balZ.toDecimalAUDString());
|
||||
ui->balVerified ->setToolTip(balVerified.toDecimalAUDString());
|
||||
ui->balTransparent->setToolTip(balT.toDecimalAUDString());
|
||||
ui->balTotal ->setToolTip(balTotal.toDecimalAUDString());
|
||||
}
|
||||
// Send tab
|
||||
ui->txtAvailablehush->setText(balAvailable.toDecimalhushString());
|
||||
@@ -330,8 +395,23 @@ void Controller::updateUIBalances() {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalEURString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString());
|
||||
} else
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalCNYString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalRUBString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalCADString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalSGDString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalCHFString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalINRString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalGBPString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
ui->txtAvailableUSD->setText(balAvailable.toDecimalAUDString());
|
||||
}
|
||||
}
|
||||
|
||||
void Controller::refreshBalances() {
|
||||
@@ -648,7 +728,7 @@ void Controller::refreshZECPrice() {
|
||||
return noConnection();
|
||||
|
||||
// TODO: use/render all this data
|
||||
QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true");
|
||||
QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true");
|
||||
|
||||
QNetworkRequest req;
|
||||
req.setUrl(cmcURL);
|
||||
@@ -671,6 +751,15 @@ void Controller::refreshZECPrice() {
|
||||
Settings::getInstance()->setZECPrice(0);
|
||||
Settings::getInstance()->setEURPrice(0);
|
||||
Settings::getInstance()->setBTCPrice(0);
|
||||
Settings::getInstance()->setCNYPrice(0);
|
||||
Settings::getInstance()->setRUBPrice(0);
|
||||
Settings::getInstance()->setCADPrice(0);
|
||||
Settings::getInstance()->setSGDPrice(0);
|
||||
Settings::getInstance()->setCHFPrice(0);
|
||||
Settings::getInstance()->setGBPPrice(0);
|
||||
Settings::getInstance()->setAUDPrice(0);
|
||||
Settings::getInstance()->setINRPrice(0);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -682,6 +771,14 @@ void Controller::refreshZECPrice() {
|
||||
Settings::getInstance()->setZECPrice(0);
|
||||
Settings::getInstance()->setEURPrice(0);
|
||||
Settings::getInstance()->setBTCPrice(0);
|
||||
Settings::getInstance()->setCNYPrice(0);
|
||||
Settings::getInstance()->setRUBPrice(0);
|
||||
Settings::getInstance()->setCADPrice(0);
|
||||
Settings::getInstance()->setSGDPrice(0);
|
||||
Settings::getInstance()->setCHFPrice(0);
|
||||
Settings::getInstance()->setGBPPrice(0);
|
||||
Settings::getInstance()->setAUDPrice(0);
|
||||
Settings::getInstance()->setINRPrice(0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -692,25 +789,71 @@ void Controller::refreshZECPrice() {
|
||||
|
||||
if (hush["usd"] >= 0) {
|
||||
qDebug() << "Found hush key in price json";
|
||||
// TODO: support BTC/EUR prices as well
|
||||
//QString price = QString::fromStdString(hush["usd"].get<json::string_t>());
|
||||
|
||||
qDebug() << "HUSH = $" << QString::number((double)hush["usd"]);
|
||||
Settings::getInstance()->setZECPrice( hush["usd"] );
|
||||
}
|
||||
if (hush["eur"] >= 0)
|
||||
{
|
||||
// TODO: support BTC/EUR prices as well
|
||||
//QString price = QString::fromStdString(hush["usd"].get<json::string_t>());
|
||||
|
||||
qDebug() << "HUSH = €" << QString::number((double)hush["eur"]);
|
||||
Settings::getInstance()->setEURPrice(hush["eur"]);
|
||||
}
|
||||
if (hush["btc"] >= 0)
|
||||
{
|
||||
// TODO: support BTC/EUR prices as well
|
||||
//QString price = QString::fromStdString(hush["usd"].get<json::string_t>());
|
||||
|
||||
qDebug() << "HUSH = BTC" << QString::number((double)hush["btc"]);
|
||||
Settings::getInstance()->setBTCPrice( hush["btc"]);
|
||||
}
|
||||
if (hush["cny"] >= 0)
|
||||
|
||||
{
|
||||
qDebug() << "HUSH = CNY" << QString::number((double)hush["cny"]);
|
||||
Settings::getInstance()->setCNYPrice( hush["cny"]);
|
||||
}
|
||||
if (hush["rub"] >= 0)
|
||||
{
|
||||
qDebug() << "HUSH = RUB" << QString::number((double)hush["rub"]);
|
||||
Settings::getInstance()->setRUBPrice( hush["rub"]);
|
||||
}
|
||||
if (hush["cad"] >= 0)
|
||||
|
||||
{
|
||||
qDebug() << "HUSH = CAD" << QString::number((double)hush["cad"]);
|
||||
Settings::getInstance()->setCADPrice( hush["cad"]);
|
||||
}
|
||||
if (hush["sgd"] >= 0)
|
||||
{
|
||||
|
||||
qDebug() << "HUSH = SGD" << QString::number((double)hush["sgd"]);
|
||||
Settings::getInstance()->setSGDPrice( hush["sgd"]);
|
||||
}
|
||||
if (hush["chf"] >= 0)
|
||||
{
|
||||
|
||||
qDebug() << "HUSH = CHF" << QString::number((double)hush["chf"]);
|
||||
Settings::getInstance()->setCADPrice( hush["chf"]);
|
||||
}
|
||||
if (hush["inr"] >= 0)
|
||||
{
|
||||
|
||||
qDebug() << "HUSH = INR" << QString::number((double)hush["inr"]);
|
||||
Settings::getInstance()->setINRPrice( hush["inr"]);
|
||||
}
|
||||
if (hush["gbp"] >= 0)
|
||||
{
|
||||
|
||||
qDebug() << "HUSH = GBP" << QString::number((double)hush["gbp"]);
|
||||
Settings::getInstance()->setGBPPrice( hush["gbp"]);
|
||||
}
|
||||
if (hush["aud"] >= 0)
|
||||
{
|
||||
|
||||
qDebug() << "HUSH = AUD" << QString::number((double)hush["aud"]);
|
||||
Settings::getInstance()->setAUDPrice( hush["aud"]);
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
} catch (const std::exception& e) {
|
||||
// If anything at all goes wrong, just set the price to 0 and move on.
|
||||
@@ -718,9 +861,17 @@ void Controller::refreshZECPrice() {
|
||||
}
|
||||
|
||||
// If nothing, then set the price to 0;
|
||||
Settings::getInstance()->setZECPrice(0);
|
||||
Settings::getInstance()->setEURPrice(0);
|
||||
Settings::getInstance()->setBTCPrice(0);
|
||||
Settings::getInstance()->setZECPrice(0);
|
||||
Settings::getInstance()->setEURPrice(0);
|
||||
Settings::getInstance()->setBTCPrice(0);
|
||||
Settings::getInstance()->setCNYPrice(0);
|
||||
Settings::getInstance()->setRUBPrice(0);
|
||||
Settings::getInstance()->setCADPrice(0);
|
||||
Settings::getInstance()->setSGDPrice(0);
|
||||
Settings::getInstance()->setCHFPrice(0);
|
||||
Settings::getInstance()->setGBPPrice(0);
|
||||
Settings::getInstance()->setAUDPrice(0);
|
||||
Settings::getInstance()->setINRPrice(0);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,15 @@ public:
|
||||
void refreshZECPrice();
|
||||
void refreshEURPrice();
|
||||
void refreshBTCPrice();
|
||||
void refreshCNYPrice();
|
||||
void refreshRUBPrice();
|
||||
void refreshCADPrice();
|
||||
void refreshSGDPrice();
|
||||
void refreshCHFPrice();
|
||||
void refreshINRPrice();
|
||||
void refreshGBPPrice();
|
||||
void refreshAUDPrice();
|
||||
|
||||
|
||||
void executeStandardUITransaction(Tx tx);
|
||||
|
||||
|
||||
@@ -89,6 +89,22 @@ QString RecurringPaymentInfo::getAmountPretty() const {
|
||||
return currency == "EUR" ? amount.toDecimalEURString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
return currency == "BTC" ? amount.toDecimalBTCString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
return currency == "EUR" ? amount.toDecimalCNYString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
return currency == "BTC" ? amount.toDecimalRUBString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
return currency == "EUR" ? amount.toDecimalCADString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
return currency == "BTC" ? amount.toDecimalSGDString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
return currency == "EUR" ? amount.toDecimalCHFString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
return currency == "BTC" ? amount.toDecimalINRString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
return currency == "EUR" ? amount.toDecimalGBPString() : amount.toDecimalhushString();
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
return currency == "BTC" ? amount.toDecimalAUDString() : amount.toDecimalhushString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,6 +165,23 @@ RecurringPaymentInfo* Recurring::getNewRecurringFromTx(QWidget* parent, MainWind
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalEURString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalBTCString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCNYString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalRUBString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCADString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalSGDString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCHFString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalINRString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalGBPString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalAUDString());
|
||||
|
||||
}
|
||||
|
||||
ui.txtMemo->setPlainText(tx.toAddrs[0].memo);
|
||||
@@ -167,6 +200,26 @@ RecurringPaymentInfo* Recurring::getNewRecurringFromTx(QWidget* parent, MainWind
|
||||
} else if
|
||||
(c == "BTC") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalBTCString());
|
||||
} else if (c == "CNY") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCNYString());
|
||||
} else if
|
||||
(c == "RUB") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalRUBString());
|
||||
} else if (c == "CAD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCADString());
|
||||
} else if
|
||||
(c == "SGD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalSGDString());
|
||||
} else if (c == "CHF") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalCHFString());
|
||||
} else if
|
||||
(c == "INR") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalINRString());
|
||||
} else if (c == "GBP") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalGBPString());
|
||||
} else if
|
||||
(c == "AUD") {
|
||||
ui.lblAmt->setText(tx.toAddrs[0].amount.toDecimalAUDString());
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
140
src/sendtab.cpp
140
src/sendtab.cpp
@@ -65,6 +65,22 @@ void MainWindow::setupSendTab() {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalEURString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalBTCString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalCNYString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalRUBString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalCADString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalSGDString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalCHFString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalINRString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalGBPString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
ui->lblMinerFeeUSD->setText(fee.toDecimalAUDString());
|
||||
}
|
||||
});
|
||||
ui->minerFeeAmt->setText(Settings::getMinerFee().toDecimalString());
|
||||
@@ -82,6 +98,30 @@ void MainWindow::setupSendTab() {
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalEURString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalCNYString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalRUBString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalCADString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalSGDString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalCHFString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalINRString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalGBPString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
QString feeUSD = CAmount::fromDecimalString(txt).toDecimalAUDString();
|
||||
ui->lblMinerFeeUSD->setText(feeUSD);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,6 +338,22 @@ void MainWindow::amountChanged(int item, const QString& text) {
|
||||
usd->setText(amt.toDecimalEURString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
usd->setText(amt.toDecimalBTCString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
usd->setText(amt.toDecimalCNYString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
usd->setText(amt.toDecimalRUBString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
usd->setText(amt.toDecimalCADString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
usd->setText(amt.toDecimalSGDString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
usd->setText(amt.toDecimalCHFString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
usd->setText(amt.toDecimalINRString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
usd->setText(amt.toDecimalGBPString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
usd->setText(amt.toDecimalAUDString());
|
||||
}
|
||||
|
||||
// If there is a recurring payment, update the info there as well
|
||||
@@ -573,12 +629,76 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) {
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (EUR)
|
||||
// Amount (BTC)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalBTCString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (CNY)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalCNYString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (RUB)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalRUBString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (CAD)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalCADString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (SGD)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalSGDString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (CHF)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalCHFString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (INR)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalINRString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (GBP)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalGBPString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
|
||||
// Amount (AUD)
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
auto AmtUSD = new QLabel(confirm.sendToAddrs);
|
||||
AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1));
|
||||
AmtUSD->setText(toAddr.amount.toDecimalAUDString());
|
||||
AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
|
||||
confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1);
|
||||
}
|
||||
// Memo
|
||||
@@ -634,7 +754,23 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalEURString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "BTC") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalBTCString());
|
||||
}
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CNY") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalCNYString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "RUB") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalRUBString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CAD") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalCADString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "SGD") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalSGDString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "CHF") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalCHFString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "INR") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalINRString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "GBP") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalGBPString());
|
||||
} else if (Settings::getInstance()->get_currency_name() == "AUD") {
|
||||
minerFeeUSD->setText(tx.fee.toDecimalAUDString());
|
||||
}
|
||||
}
|
||||
|
||||
// Recurring payment info, show only if there is exactly one destination address
|
||||
|
||||
@@ -111,6 +111,30 @@ double Settings::getEURPrice() {
|
||||
double Settings::getBTCPrice() {
|
||||
return BTCPrice;
|
||||
}
|
||||
double Settings::getCNYPrice() {
|
||||
return CNYPrice;
|
||||
}
|
||||
double Settings::getRUBPrice() {
|
||||
return RUBPrice;
|
||||
}
|
||||
double Settings::getCADPrice() {
|
||||
return CADPrice;
|
||||
}
|
||||
double Settings::getSGDPrice() {
|
||||
return SGDPrice;
|
||||
}
|
||||
double Settings::getCHFPrice() {
|
||||
return CHFPrice;
|
||||
}
|
||||
double Settings::getINRPrice() {
|
||||
return INRPrice;
|
||||
}
|
||||
double Settings::getGBPPrice() {
|
||||
return GBPPrice;
|
||||
}
|
||||
double Settings::getAUDPrice() {
|
||||
return AUDPrice;
|
||||
}
|
||||
|
||||
bool Settings::getCheckForUpdates() {
|
||||
return QSettings().value("options/allowcheckupdates", true).toBool();
|
||||
|
||||
@@ -72,9 +72,25 @@ public:
|
||||
void setZECPrice(double p) { ZECPrice = p; }
|
||||
void setEURPrice(double p) { EURPrice = p; }
|
||||
void setBTCPrice(double p) { BTCPrice = p; }
|
||||
void setCNYPrice(double p) { CNYPrice = p; }
|
||||
void setRUBPrice(double p) { RUBPrice = p; }
|
||||
void setCADPrice(double p) { CADPrice = p; }
|
||||
void setSGDPrice(double p) { SGDPrice = p; }
|
||||
void setCHFPrice(double p) { CHFPrice = p; }
|
||||
void setINRPrice(double p) { INRPrice = p; }
|
||||
void setGBPPrice(double p) { GBPPrice = p; }
|
||||
void setAUDPrice(double p) { AUDPrice = p; }
|
||||
double getZECPrice();
|
||||
double getEURPrice();
|
||||
double getBTCPrice();
|
||||
double getCNYPrice();
|
||||
double getRUBPrice();
|
||||
double getCADPrice();
|
||||
double getSGDPrice();
|
||||
double getCHFPrice();
|
||||
double getINRPrice();
|
||||
double getGBPPrice();
|
||||
double getAUDPrice();
|
||||
|
||||
// Static stuff
|
||||
static const QString txidStatusMessage;
|
||||
@@ -129,6 +145,14 @@ private:
|
||||
double ZECPrice = 0.0;
|
||||
double BTCPrice = 0.0;
|
||||
double EURPrice = 0.0;
|
||||
double CNYPrice = 0.0;
|
||||
double RUBPrice = 0.0;
|
||||
double CADPrice = 0.0;
|
||||
double SGDPrice = 0.0;
|
||||
double CHFPrice = 0.0;
|
||||
double INRPrice = 0.0;
|
||||
double GBPPrice = 0.0;
|
||||
double AUDPrice = 0.0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -253,7 +253,27 @@
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>USD</string>
|
||||
<string>AUD</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>BTC</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>CAD</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>CHF</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>CNY</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
@@ -263,7 +283,17 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>BTC</string>
|
||||
<string>GBP</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>INR</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>USD</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
|
||||
Reference in New Issue
Block a user