mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-09 15:12:26 -04:00
Fix bug with not rePublished offers. Update offerbook when offer gets removed. Add pref. language and currency to preferences
This commit is contained in:
parent
b1c4d7b636
commit
3222019480
13 changed files with 184 additions and 36 deletions
|
@ -42,7 +42,7 @@ class MarketViewModel extends ActivatableViewModel {
|
|||
private final OfferBook offerBook;
|
||||
private final Preferences preferences;
|
||||
|
||||
final ObjectProperty<TradeCurrency> tradeCurrency = new SimpleObjectProperty<>(CurrencyUtil.getDefaultFiatCurrency());
|
||||
final ObjectProperty<TradeCurrency> tradeCurrency = new SimpleObjectProperty<>(CurrencyUtil.getDefaultTradeCurrency());
|
||||
private final List<XYChart.Data> buyData = new ArrayList();
|
||||
private final List<XYChart.Data> sellData = new ArrayList();
|
||||
private final ObservableList<OfferBookListItem> offerBookListItems;
|
||||
|
|
|
@ -89,7 +89,7 @@ public abstract class OfferView extends ActivatableView<TabPane, Void> {
|
|||
}
|
||||
});
|
||||
|
||||
tradeCurrency = CurrencyUtil.getDefaultFiatCurrency();
|
||||
tradeCurrency = CurrencyUtil.getDefaultTradeCurrency();
|
||||
|
||||
navigation.addListener(listener);
|
||||
navigation.navigateTo(MainView.class, this.getClass(), OfferBookView.class);
|
||||
|
|
|
@ -88,7 +88,7 @@ class OfferBookViewModel extends ActivatableViewModel {
|
|||
this.filteredItems = new FilteredList<>(offerBookListItems);
|
||||
this.sortedItems = new SortedList<>(filteredItems);
|
||||
|
||||
tradeCurrency = CurrencyUtil.getDefaultFiatCurrency();
|
||||
tradeCurrency = CurrencyUtil.getDefaultTradeCurrency();
|
||||
tradeCurrencyCode.set(tradeCurrency.getCode());
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@ package io.bitsquare.gui.main.settings.application;
|
|||
import io.bitsquare.gui.common.view.ActivatableViewAndModel;
|
||||
import io.bitsquare.gui.common.view.FxmlView;
|
||||
import io.bitsquare.gui.util.Layout;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.locale.TradeCurrency;
|
||||
import io.bitsquare.user.BlockChainExplorer;
|
||||
import javafx.scene.control.CheckBox;
|
||||
import javafx.scene.control.ComboBox;
|
||||
|
@ -33,8 +35,11 @@ import static io.bitsquare.gui.util.FormBuilder.*;
|
|||
@FxmlView
|
||||
public class PreferencesView extends ActivatableViewAndModel<GridPane, PreferencesViewModel> {
|
||||
|
||||
private ComboBox<String> btcDenominationComboBox;
|
||||
// not supported yet
|
||||
//private ComboBox<String> btcDenominationComboBox;
|
||||
private ComboBox<BlockChainExplorer> blockExplorerComboBox;
|
||||
private ComboBox<String> languageComboBox;
|
||||
private ComboBox<TradeCurrency> tradeCurrencyComboBox;
|
||||
|
||||
private CheckBox useAnimationsCheckBox, useEffectsCheckBox, showPlaceOfferConfirmationCheckBox, showTakeOfferConfirmationCheckBox,
|
||||
autoSelectArbitratorsCheckBox;
|
||||
|
@ -47,9 +52,11 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Preferenc
|
|||
|
||||
@Override
|
||||
public void initialize() {
|
||||
addTitledGroupBg(root, gridRow, 7, "Preferences");
|
||||
addTitledGroupBg(root, gridRow, 9, "Preferences");
|
||||
|
||||
btcDenominationComboBox = addLabelComboBox(root, gridRow, "Bitcoin denomination:", Layout.FIRST_ROW_DISTANCE).second;
|
||||
tradeCurrencyComboBox = addLabelComboBox(root, ++gridRow, "Preferred currency:", Layout.FIRST_ROW_DISTANCE).second;
|
||||
languageComboBox = addLabelComboBox(root, ++gridRow, "Language:").second;
|
||||
// btcDenominationComboBox = addLabelComboBox(root, gridRow, "Bitcoin denomination:", Layout.FIRST_ROW_DISTANCE).second;
|
||||
blockExplorerComboBox = addLabelComboBox(root, ++gridRow, "Bitcoin block explorer:").second;
|
||||
useAnimationsCheckBox = addLabelCheckBox(root, ++gridRow, "Use animations:", "").second;
|
||||
useEffectsCheckBox = addLabelCheckBox(root, ++gridRow, "Use effects:", "").second;
|
||||
|
@ -60,11 +67,42 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Preferenc
|
|||
|
||||
@Override
|
||||
protected void activate() {
|
||||
btcDenominationComboBox.setDisable(true);
|
||||
/* btcDenominationComboBox.setDisable(true);
|
||||
btcDenominationComboBox.setItems(model.btcDenominations);
|
||||
btcDenominationComboBox.getSelectionModel().select(model.getBtcDenomination());
|
||||
btcDenominationComboBox.setOnAction(e -> model.onSelectBtcDenomination(btcDenominationComboBox.getSelectionModel().getSelectedItem()));
|
||||
btcDenominationComboBox.setOnAction(e -> model.onSelectBtcDenomination(btcDenominationComboBox.getSelectionModel().getSelectedItem()));*/
|
||||
|
||||
tradeCurrencyComboBox.setItems(model.tradeCurrencies);
|
||||
tradeCurrencyComboBox.getSelectionModel().select(model.getTradeCurrency());
|
||||
tradeCurrencyComboBox.setConverter(new StringConverter<TradeCurrency>() {
|
||||
@Override
|
||||
public String toString(TradeCurrency tradeCurrency) {
|
||||
return tradeCurrency.getCodeAndName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TradeCurrency fromString(String string) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
tradeCurrencyComboBox.setOnAction(e -> model.onSelectTradeCurrency(tradeCurrencyComboBox.getSelectionModel().getSelectedItem()));
|
||||
|
||||
languageComboBox.setItems(model.languageCodes);
|
||||
languageComboBox.getSelectionModel().select(model.getLanguageCode());
|
||||
languageComboBox.setConverter(new StringConverter<String>() {
|
||||
@Override
|
||||
public String toString(String code) {
|
||||
return LanguageUtil.getDisplayName(code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String fromString(String string) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
languageComboBox.setOnAction(e -> model.onSelectLanguageCode(languageComboBox.getSelectionModel().getSelectedItem()));
|
||||
|
||||
|
||||
blockExplorerComboBox.setItems(model.blockExplorers);
|
||||
blockExplorerComboBox.getSelectionModel().select(model.getBlockExplorer());
|
||||
blockExplorerComboBox.setConverter(new StringConverter<BlockChainExplorer>() {
|
||||
|
@ -80,6 +118,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Preferenc
|
|||
});
|
||||
blockExplorerComboBox.setOnAction(e -> model.onSelectBlockExplorer(blockExplorerComboBox.getSelectionModel().getSelectedItem()));
|
||||
|
||||
|
||||
useAnimationsCheckBox.setSelected(model.getUseAnimations());
|
||||
useAnimationsCheckBox.setOnAction(e -> model.onSelectUseAnimations(useAnimationsCheckBox.isSelected()));
|
||||
|
||||
|
@ -94,12 +133,14 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Preferenc
|
|||
|
||||
autoSelectArbitratorsCheckBox.setSelected(model.getAutoSelectArbitrators());
|
||||
autoSelectArbitratorsCheckBox.setOnAction(e -> model.onSelectAutoSelectArbitratorsCheckBox(autoSelectArbitratorsCheckBox.isSelected()));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void deactivate() {
|
||||
btcDenominationComboBox.setOnAction(null);
|
||||
//btcDenominationComboBox.setOnAction(null);
|
||||
languageComboBox.setOnAction(null);
|
||||
tradeCurrencyComboBox.setOnAction(null);
|
||||
blockExplorerComboBox.setOnAction(null);
|
||||
useAnimationsCheckBox.setOnAction(null);
|
||||
useEffectsCheckBox.setOnAction(null);
|
||||
showPlaceOfferConfirmationCheckBox.setOnAction(null);
|
||||
|
|
|
@ -19,17 +19,23 @@ package io.bitsquare.gui.main.settings.application;
|
|||
|
||||
import com.google.inject.Inject;
|
||||
import io.bitsquare.gui.common.model.ActivatableViewModel;
|
||||
import io.bitsquare.locale.LanguageUtil;
|
||||
import io.bitsquare.locale.TradeCurrency;
|
||||
import io.bitsquare.user.BlockChainExplorer;
|
||||
import io.bitsquare.user.Preferences;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
class PreferencesViewModel extends ActivatableViewModel {
|
||||
|
||||
private final Preferences preferences;
|
||||
final ObservableList<String> btcDenominations = FXCollections.observableArrayList(Preferences.getBtcDenominations());
|
||||
final ObservableList<BlockChainExplorer> blockExplorers;
|
||||
|
||||
final ObservableList<TradeCurrency> tradeCurrencies;
|
||||
final ObservableList<String> languageCodes;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Constructor, initialisation
|
||||
|
@ -38,7 +44,10 @@ class PreferencesViewModel extends ActivatableViewModel {
|
|||
@Inject
|
||||
public PreferencesViewModel(Preferences preferences) {
|
||||
this.preferences = preferences;
|
||||
|
||||
blockExplorers = FXCollections.observableArrayList(preferences.getBlockChainExplorers());
|
||||
tradeCurrencies = preferences.getTradeCurrenciesAsObservable();
|
||||
languageCodes = FXCollections.observableArrayList(LanguageUtil.getAllLanguageCodes());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,6 +87,18 @@ class PreferencesViewModel extends ActivatableViewModel {
|
|||
preferences.setAutoSelectArbitrators(selected);
|
||||
}
|
||||
|
||||
public void onSelectBlockExplorer(BlockChainExplorer selectedItem) {
|
||||
preferences.setBlockChainExplorer(selectedItem);
|
||||
}
|
||||
|
||||
public void onSelectTradeCurrency(TradeCurrency selectedItem) {
|
||||
preferences.setPreferredTradeCurrency(selectedItem);
|
||||
}
|
||||
|
||||
public void onSelectLanguageCode(String code) {
|
||||
preferences.setPreferredLocale(new Locale(code, preferences.getPreferredLocale().getCountry()));
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Getters
|
||||
|
@ -111,7 +132,11 @@ class PreferencesViewModel extends ActivatableViewModel {
|
|||
return preferences.getBlockChainExplorer();
|
||||
}
|
||||
|
||||
public void onSelectBlockExplorer(BlockChainExplorer selectedItem) {
|
||||
preferences.setBlockChainExplorer(selectedItem);
|
||||
public String getLanguageCode() {
|
||||
return preferences.getPreferredLocale().getLanguage();
|
||||
}
|
||||
|
||||
public TradeCurrency getTradeCurrency() {
|
||||
return preferences.getPreferredTradeCurrency();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue