diff --git a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java index 34ee36e2e0c..38fde6680a6 100644 --- a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java +++ b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java @@ -360,8 +360,10 @@ public void updateItem(final FiatCurrency item, boolean empty) { new Popup<>().warning(Res.get("setting.preferences.cannotRemovePrefCurrency")).show(); } else { preferences.removeFiatCurrency(item); - if (!allFiatCurrencies.contains(item)) + if (!allFiatCurrencies.contains(item)) { allFiatCurrencies.add(item); + allFiatCurrencies.sort(TradeCurrency::compareTo); + } } }); setGraphic(pane); @@ -410,8 +412,10 @@ public void updateItem(final CryptoCurrency item, boolean empty) { new Popup<>().warning(Res.get("setting.preferences.cannotRemovePrefCurrency")).show(); } else { preferences.removeCryptoCurrency(item); - if (!allCryptoCurrencies.contains(item)) + if (!allCryptoCurrencies.contains(item)) { allCryptoCurrencies.add(item); + allCryptoCurrencies.sort(TradeCurrency::compareTo); + } } }); setGraphic(pane); @@ -426,6 +430,17 @@ public void updateItem(final CryptoCurrency item, boolean empty) { fiatCurrenciesComboBox = FormBuilder.addLabelComboBox(root, ++gridRow).second; fiatCurrenciesComboBox.setPromptText(Res.get("setting.preferences.addFiat")); + fiatCurrenciesComboBox.setButtonCell(new ListCell() { + @Override + protected void updateItem(final FiatCurrency item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(Res.get("setting.preferences.addFiat")); + } else { + setText(item.getNameAndCode()); + } + } + }); fiatCurrenciesComboBox.setConverter(new StringConverter() { @Override public String toString(FiatCurrency tradeCurrency) { @@ -442,6 +457,17 @@ public FiatCurrency fromString(String s) { cryptoCurrenciesComboBox = labelComboBoxTuple2.second; GridPane.setColumnIndex(cryptoCurrenciesComboBox, 3); cryptoCurrenciesComboBox.setPromptText(Res.get("setting.preferences.addAltcoin")); + cryptoCurrenciesComboBox.setButtonCell(new ListCell() { + @Override + protected void updateItem(final CryptoCurrency item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(Res.get("setting.preferences.addAltcoin")); + } else { + setText(item.getNameAndCode()); + } + } + }); cryptoCurrenciesComboBox.setConverter(new StringConverter() { @Override public String toString(CryptoCurrency tradeCurrency) { @@ -604,7 +630,7 @@ private void activateDisplayCurrencies() { fiatCurrenciesComboBox.setItems(allFiatCurrencies); fiatCurrenciesListView.setItems(fiatCurrencies); - fiatCurrenciesComboBox.setOnAction(e -> { + fiatCurrenciesComboBox.setOnHiding(e -> { FiatCurrency selectedItem = fiatCurrenciesComboBox.getSelectionModel().getSelectedItem(); if (selectedItem != null) { preferences.addFiatCurrency(selectedItem); @@ -619,7 +645,7 @@ private void activateDisplayCurrencies() { }); cryptoCurrenciesComboBox.setItems(allCryptoCurrencies); cryptoCurrenciesListView.setItems(cryptoCurrencies); - cryptoCurrenciesComboBox.setOnAction(e -> { + cryptoCurrenciesComboBox.setOnHiding(e -> { CryptoCurrency selectedItem = cryptoCurrenciesComboBox.getSelectionModel().getSelectedItem(); if (selectedItem != null) { preferences.addCryptoCurrency(selectedItem);