mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-12-22 19:49:32 +00:00
fix updating display of current price
This commit is contained in:
parent
c7277187c5
commit
07769fd8d9
3 changed files with 30 additions and 31 deletions
|
@ -429,14 +429,12 @@ public class MainView extends InitializableView<StackPane, MainViewModel> {
|
||||||
return new ListCell<>() {
|
return new ListCell<>() {
|
||||||
@Override
|
@Override
|
||||||
protected void updateItem(PriceFeedComboBoxItem item, boolean empty) {
|
protected void updateItem(PriceFeedComboBoxItem item, boolean empty) {
|
||||||
UserThread.execute(() -> {
|
super.updateItem(item, empty);
|
||||||
super.updateItem(item, empty);
|
if (!empty && item != null) {
|
||||||
if (!empty && item != null) {
|
textProperty().bind(item.displayStringProperty);
|
||||||
textProperty().bind(item.displayStringProperty);
|
} else {
|
||||||
} else {
|
textProperty().unbind();
|
||||||
textProperty().unbind();
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,31 +131,33 @@ public class MarketPricePresentation {
|
||||||
});
|
});
|
||||||
|
|
||||||
marketPriceBinding.subscribe((observable, oldValue, newValue) -> {
|
marketPriceBinding.subscribe((observable, oldValue, newValue) -> {
|
||||||
if (newValue != null && !newValue.equals(oldValue)) {
|
UserThread.execute(() -> {
|
||||||
setMarketPriceInItems();
|
if (newValue != null && !newValue.equals(oldValue)) {
|
||||||
|
setMarketPriceInItems();
|
||||||
|
|
||||||
String code = priceFeedService.currencyCodeProperty().get();
|
String code = priceFeedService.currencyCodeProperty().get();
|
||||||
Optional<PriceFeedComboBoxItem> itemOptional = findPriceFeedComboBoxItem(code);
|
Optional<PriceFeedComboBoxItem> itemOptional = findPriceFeedComboBoxItem(code);
|
||||||
if (itemOptional.isPresent()) {
|
if (itemOptional.isPresent()) {
|
||||||
itemOptional.get().setDisplayString(newValue);
|
itemOptional.get().setDisplayString(newValue);
|
||||||
selectedPriceFeedComboBoxItemProperty.set(itemOptional.get());
|
selectedPriceFeedComboBoxItemProperty.set(itemOptional.get());
|
||||||
} else {
|
|
||||||
if (CurrencyUtil.isCryptoCurrency(code)) {
|
|
||||||
CurrencyUtil.getCryptoCurrency(code).ifPresent(cryptoCurrency -> {
|
|
||||||
preferences.addCryptoCurrency(cryptoCurrency);
|
|
||||||
fillPriceFeedComboBoxItems();
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
CurrencyUtil.getTraditionalCurrency(code).ifPresent(traditionalCurrency -> {
|
if (CurrencyUtil.isCryptoCurrency(code)) {
|
||||||
preferences.addTraditionalCurrency(traditionalCurrency);
|
CurrencyUtil.getCryptoCurrency(code).ifPresent(cryptoCurrency -> {
|
||||||
fillPriceFeedComboBoxItems();
|
preferences.addCryptoCurrency(cryptoCurrency);
|
||||||
});
|
fillPriceFeedComboBoxItems();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
CurrencyUtil.getTraditionalCurrency(code).ifPresent(traditionalCurrency -> {
|
||||||
|
preferences.addTraditionalCurrency(traditionalCurrency);
|
||||||
|
fillPriceFeedComboBoxItems();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (selectedPriceFeedComboBoxItemProperty.get() != null)
|
if (selectedPriceFeedComboBoxItemProperty.get() != null)
|
||||||
selectedPriceFeedComboBoxItemProperty.get().setDisplayString(newValue);
|
selectedPriceFeedComboBoxItemProperty.get().setDisplayString(newValue);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
marketPriceCurrencyCode.bind(priceFeedService.currencyCodeProperty());
|
marketPriceCurrencyCode.bind(priceFeedService.currencyCodeProperty());
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
|
|
||||||
package haveno.desktop.main.shared;
|
package haveno.desktop.main.shared;
|
||||||
|
|
||||||
import haveno.common.UserThread;
|
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.beans.property.StringProperty;
|
import javafx.beans.property.StringProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
@ -38,6 +37,6 @@ public class PriceFeedComboBoxItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDisplayString(String displayString) {
|
public void setDisplayString(String displayString) {
|
||||||
UserThread.execute(() -> this.displayStringProperty.set(displayString));
|
this.displayStringProperty.set(displayString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue