]> Nutra Git (v1) - gamesguru/feather.git/commitdiff
History: set correct fiat currency
authortobtoht <thotbot@protonmail.com>
Thu, 21 Oct 2021 19:38:39 +0000 (21:38 +0200)
committertobtoht <thotbot@protonmail.com>
Thu, 21 Oct 2021 19:38:39 +0000 (21:38 +0200)
src/HistoryWidget.cpp
src/MainWindow.cpp
src/SettingsDialog.cpp
src/appcontext.cpp
src/appcontext.h
src/model/TransactionHistoryModel.cpp
src/model/TransactionHistoryModel.h

index 62d18d18ccc733bd0f49a8ba36584067b42b54a1..e6e66d56497542a1accb780a94fa294185275511 100644 (file)
@@ -53,7 +53,6 @@ HistoryWidget::HistoryWidget(QSharedPointer<AppContext> ctx, QWidget *parent)
 
     ui->syncNotice->setVisible(config()->get(Config::showHistorySyncNotice).toBool());
     ui->history->setHistoryModel(m_model);
-    m_ctx->wallet->transactionHistoryModel()->amountPrecision = config()->get(Config::amountPrecision).toInt();
 
     // Load view state
     QByteArray historyViewState = QByteArray::fromBase64(config()->get(Config::GUI_HistoryViewState).toByteArray());
index 20b1f8ae8e5d2c06674bd3c40ef20d1ae69da2ed..14eab4576b3af330c633438a18c79015bd5923e0 100644 (file)
@@ -72,9 +72,7 @@ MainWindow::MainWindow(WindowManager *windowManager, Wallet *wallet, QWidget *pa
     for (const auto &widget: m_priceTickerWidgets)
         connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, widget, &PriceTickerWidget::updateDisplay);
     connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, m_balanceTickerWidget, &BalanceTickerWidget::updateDisplay);
-    connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, m_ctx.get(), &AppContext::onPreferredFiatCurrencyChanged);
     connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, m_sendWidget, QOverload<>::of(&SendWidget::onPreferredFiatCurrencyChanged));
-    connect(m_windowSettings, &Settings::amountPrecisionChanged, m_ctx.get(), &AppContext::onAmountPrecisionChanged);
     connect(m_windowSettings, &Settings::skinChanged, this, &MainWindow::skinChanged);
     QTimer::singleShot(1, [this]{this->updateWidgetIcons();});
 
index d948f96e23e447f8c365967cd61dafc30f94e869..5084db539f2e3205ea1415ab2baf02c78ad87cdc 100644 (file)
@@ -79,8 +79,9 @@ Settings::Settings(QSharedPointer<AppContext> ctx, QWidget *parent)
 
     // Preferred fiat currency combobox
     QStringList fiatCurrencies;
-    for (int index = 0; index < ui->comboBox_fiatCurrency->count(); index++)
+    for (int index = 0; index < ui->comboBox_fiatCurrency->count(); index++) {
         fiatCurrencies << ui->comboBox_fiatCurrency->itemText(index);
+    }
 
     auto preferredFiatCurrency = config()->get(Config::preferredFiatCurrency).toString();
     if(!preferredFiatCurrency.isEmpty())
index 2714b1252605def0e61b5b57656db032076ecd28..cadf15dc85ed8bcbaddc9276fd111a0d4025a372 100644 (file)
@@ -55,9 +55,6 @@ AppContext::AppContext(Wallet *wallet)
 
     this->updateBalance();
 
-    // force trigger preferredFiat signal for history model
-    this->onPreferredFiatCurrencyChanged(config()->get(Config::preferredFiatCurrency).toString());
-
     connect(this->wallet->history(), &TransactionHistory::txNoteChanged, [this]{
         this->wallet->history()->refresh(this->wallet->currentSubaddressAccount());
     });
@@ -167,21 +164,6 @@ QString AppContext::getCacheTransaction(const QString &txid) const {
     return txHex;
 }
 
-// ################## Models ##################
-
-void AppContext::onPreferredFiatCurrencyChanged(const QString &symbol) {
-    auto *model = this->wallet->transactionHistoryModel();
-    if (model != nullptr) {
-        model->preferredFiatSymbol = symbol;
-    }
-}
-
-void AppContext::onAmountPrecisionChanged(int precision) {
-    auto *model = this->wallet->transactionHistoryModel();
-    if (!model) return;
-    model->amountPrecision = precision;
-}
-
 // ################## Device ##################
 
 void AppContext::onDeviceButtonRequest(quint64 code) {
index ac4db6fdf5f001cdc01fde859ea20cc7380c442d..d3e4d23977107b99a9b945ab5a6de1b4bea508ca 100644 (file)
@@ -57,8 +57,6 @@ public slots:
     void onCreateTransactionError(const QString &msg);
     void onOpenAliasResolve(const QString &openAlias);
     void onSetRestoreHeight(quint64 height);
-    void onPreferredFiatCurrencyChanged(const QString &symbol);
-    void onAmountPrecisionChanged(int precision);
     void onMultiBroadcast(PendingTransaction *tx);
     void onDeviceButtonRequest(quint64 code);
     void onDeviceButtonPressed();
index 2265a3e97519109d3148b719b1ddf96823c14e6e..3bec012f4947e7d11a998d82c880c0d19e805148 100644 (file)
@@ -158,7 +158,7 @@ QVariant TransactionHistoryModel::parseTransactionInfo(const TransactionInfo &tI
             if (role == Qt::UserRole) {
                 return tInfo.balanceDelta();
             }
-            QString amount = QString::number(tInfo.balanceDelta() / constants::cdiv, 'f', this->amountPrecision);
+            QString amount = QString::number(tInfo.balanceDelta() / constants::cdiv, 'f', config()->get(Config::amountPrecision).toInt());
             amount = (tInfo.direction() == TransactionInfo::Direction_Out) ? "-" + amount : "+" + amount;
             return amount;
         }
@@ -168,23 +168,27 @@ QVariant TransactionHistoryModel::parseTransactionInfo(const TransactionInfo &tI
         case Column::FiatAmount:
         {
             double usd_price = appData()->txFiatHistory->get(tInfo.timestamp().toString("yyyyMMdd"));
-            if (usd_price == 0.0)
-                return QVariant("?");
+            if (usd_price == 0.0) {
+                return QString("?");
+            }
 
             double usd_amount = usd_price * (tInfo.balanceDelta() / constants::cdiv);
-            if(this->preferredFiatSymbol != "USD")
-                usd_amount = appData()->prices.convert("USD", this->preferredFiatSymbol, usd_amount);
+
+            QString preferredFiatCurrency = config()->get(Config::preferredFiatCurrency).toString();
+            if (preferredFiatCurrency != "USD") {
+                usd_amount = appData()->prices.convert("USD", preferredFiatCurrency, usd_amount);
+            }
             if (role == Qt::UserRole) {
                 return usd_amount;
             }
 
             double fiat_rounded = ceil(Utils::roundSignificant(usd_amount, 3) * 100.0) / 100.0;
-            return QString("%1").arg(Utils::amountToCurrencyString(fiat_rounded, this->preferredFiatSymbol));
+            return QString("%1").arg(Utils::amountToCurrencyString(fiat_rounded, preferredFiatCurrency));
         }
         default:
         {
             qCritical() << "Unimplemented role";
-            return QVariant();
+            return {};
         }
     }
 }
index 4df7dbd4084ce1c4bb051cc4a619f46e2a485c62..d61da79673f4faa1f995f4510f0733f0f5106a13 100644 (file)
@@ -35,9 +35,6 @@ public:
     TransactionHistory * transactionHistory() const;
     TransactionInfo* entryFromIndex(const QModelIndex& index) const;
 
-    QString preferredFiatSymbol = "USD";
-    int amountPrecision = 4;
-
     int rowCount(const QModelIndex & parent = QModelIndex()) const override;
     int columnCount(const QModelIndex &parent = QModelIndex()) const override;
     QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;