Update currency in pricefeed on currency change

This commit is contained in:
Manfred Karrer 2016-07-26 15:18:00 +02:00
parent 5362b14b87
commit 4d17edb1c3

View file

@ -19,6 +19,7 @@ package io.bitsquare.gui.main.markets.trades;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.inject.Inject; import com.google.inject.Inject;
import io.bitsquare.btc.pricefeed.PriceFeed;
import io.bitsquare.gui.common.model.ActivatableViewModel; import io.bitsquare.gui.common.model.ActivatableViewModel;
import io.bitsquare.gui.main.markets.trades.charts.CandleData; import io.bitsquare.gui.main.markets.trades.charts.CandleData;
import io.bitsquare.locale.CurrencyUtil; import io.bitsquare.locale.CurrencyUtil;
@ -58,6 +59,7 @@ class TradesChartsViewModel extends ActivatableViewModel {
private final TradeStatisticsManager tradeStatisticsManager; private final TradeStatisticsManager tradeStatisticsManager;
final Preferences preferences; final Preferences preferences;
private PriceFeed priceFeed;
private final SetChangeListener<TradeStatistics> setChangeListener; private final SetChangeListener<TradeStatistics> setChangeListener;
final ObjectProperty<TradeCurrency> tradeCurrencyProperty = new SimpleObjectProperty<>(); final ObjectProperty<TradeCurrency> tradeCurrencyProperty = new SimpleObjectProperty<>();
@ -75,9 +77,10 @@ class TradesChartsViewModel extends ActivatableViewModel {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@Inject @Inject
public TradesChartsViewModel(TradeStatisticsManager tradeStatisticsManager, Preferences preferences) { public TradesChartsViewModel(TradeStatisticsManager tradeStatisticsManager, Preferences preferences, PriceFeed priceFeed) {
this.tradeStatisticsManager = tradeStatisticsManager; this.tradeStatisticsManager = tradeStatisticsManager;
this.preferences = preferences; this.preferences = preferences;
this.priceFeed = priceFeed;
setChangeListener = change -> updateChartData(); setChangeListener = change -> updateChartData();
@ -103,6 +106,9 @@ class TradesChartsViewModel extends ActivatableViewModel {
protected void activate() { protected void activate() {
tradeStatisticsManager.getObservableTradeStatisticsSet().addListener(setChangeListener); tradeStatisticsManager.getObservableTradeStatisticsSet().addListener(setChangeListener);
updateChartData(); updateChartData();
if (!preferences.getUseStickyMarketPrice())
priceFeed.setCurrencyCode(tradeCurrencyProperty.get().getCode());
} }
@Override @Override
@ -119,6 +125,10 @@ class TradesChartsViewModel extends ActivatableViewModel {
this.tradeCurrencyProperty.set(tradeCurrency); this.tradeCurrencyProperty.set(tradeCurrency);
preferences.setTradeStatisticsScreenCurrencyCode(tradeCurrency.getCode()); preferences.setTradeStatisticsScreenCurrencyCode(tradeCurrency.getCode());
updateChartData(); updateChartData();
if (!preferences.getUseStickyMarketPrice())
priceFeed.setCurrencyCode(tradeCurrency.getCode());
} }
public void setTickUnit(TickUnit tickUnit) { public void setTickUnit(TickUnit tickUnit) {