mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-20 16:48:39 +02:00
Include Satoshi ticker, include Monero ticker, and introduce 24h pct change for WOW
This commit is contained in:
@@ -6,67 +6,36 @@
|
||||
|
||||
#include "mainwindow.h"
|
||||
|
||||
TickerWidget::TickerWidget(QWidget *parent, QString symbol, QString title, bool convertBalance, bool hidePercent) :
|
||||
TickerWidget::TickerWidget(QWidget *parent, QString title) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::TickerWidget),
|
||||
m_symbol(std::move(symbol)),
|
||||
m_convertBalance(convertBalance),
|
||||
m_hidePercent(hidePercent)
|
||||
ui(new Ui::TickerWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_ctx = MainWindow::getContext();
|
||||
|
||||
// default values before API data
|
||||
if (title == "") title = m_symbol;
|
||||
this->ui->tickerBox->setTitle(title);
|
||||
QString defaultPct = "0.0";
|
||||
QString defaultFiat = "...";
|
||||
|
||||
this->setFontSizes();
|
||||
this->setPctText(defaultPct, true);
|
||||
this->setFiatText(defaultFiat, 0.0);
|
||||
this->setFiatText(defaultFiat);
|
||||
this->setTitleText(title);
|
||||
|
||||
ui->tickerPct->setHidden(hidePercent);
|
||||
|
||||
connect(AppContext::prices, &Prices::fiatPricesUpdated, this, &TickerWidget::init);
|
||||
connect(AppContext::prices, &Prices::cryptoPricesUpdated, this, &TickerWidget::init);
|
||||
if (convertBalance)
|
||||
connect(m_ctx, &AppContext::balanceUpdated, this, &TickerWidget::init);
|
||||
connect(AppContext::prices, &Prices::fiatPricesUpdated, this, &TickerWidget::reload);
|
||||
connect(AppContext::prices, &Prices::cryptoPricesUpdated, this, &TickerWidget::reload);
|
||||
connect(m_ctx, &AppContext::balanceUpdated, this, &TickerWidget::reload);
|
||||
}
|
||||
|
||||
void TickerWidget::init() {
|
||||
if(!AppContext::prices->markets.count() || !AppContext::prices->rates.count())
|
||||
return;
|
||||
|
||||
QString fiatCurrency = config()->get(Config::preferredFiatCurrency).toString();
|
||||
|
||||
if(!AppContext::prices->rates.contains(fiatCurrency)){
|
||||
config()->set(Config::preferredFiatCurrency, "USD");
|
||||
return;
|
||||
}
|
||||
|
||||
double amount = m_convertBalance ? AppContext::balance : 1.0;
|
||||
double conversion = AppContext::prices->convert(m_symbol, fiatCurrency, amount);
|
||||
if (conversion < 0) return;
|
||||
|
||||
auto markets = AppContext::prices->markets;
|
||||
if(!markets.contains(m_symbol)) return;
|
||||
|
||||
bool hidePercent = (conversion == 0 || m_hidePercent);
|
||||
if (hidePercent) {
|
||||
ui->tickerPct->hide();
|
||||
} else {
|
||||
auto pct24h = markets[m_symbol].price_usd_change_pct_24h;
|
||||
auto pct24hText = QString::number(pct24h, 'f', 2);
|
||||
this->setPctText(pct24hText, pct24h >= 0.0);
|
||||
}
|
||||
|
||||
this->setFiatText(fiatCurrency, conversion);
|
||||
void TickerWidget::setFiatText(QString &text) {
|
||||
ui->tickerFiat->setText(text);
|
||||
}
|
||||
|
||||
void TickerWidget::setFiatText(QString &fiatCurrency, double amount) {
|
||||
QString conversionText = Utils::amountToCurrencyString(amount, fiatCurrency);
|
||||
ui->tickerFiat->setText(conversionText);
|
||||
void TickerWidget::setTitleText(QString text) {
|
||||
ui->tickerBox->setTitle(text);
|
||||
}
|
||||
|
||||
void TickerWidget::hidePct(bool hide) {
|
||||
ui->tickerPct->setHidden(hide);
|
||||
}
|
||||
|
||||
void TickerWidget::setPctText(QString &text, bool positive) {
|
||||
|
||||
Reference in New Issue
Block a user