Don't show own offers in offer book, make it adjustable in settings

This commit is contained in:
Manfred Karrer 2016-03-17 02:02:33 +01:00
parent 0350b6e5e7
commit 4f03d35284
3 changed files with 21 additions and 4 deletions

View File

@ -102,6 +102,7 @@ public final class Preferences implements Persistable {
private final Map<String, Boolean> dontShowAgainMap;
private boolean tacAccepted;
private boolean useTorForBitcoinJ = true;
private boolean showOwnOffersInOfferBook;
private Locale preferredLocale;
private TradeCurrency preferredTradeCurrency;
private long txFeePerKB = FeePolicy.getFeePerKb().value;
@ -153,6 +154,7 @@ public final class Preferences implements Persistable {
preferredTradeCurrency = persisted.getPreferredTradeCurrency();
defaultTradeCurrency = preferredTradeCurrency;
useTorForBitcoinJ = persisted.getUseTorForBitcoinJ();
showOwnOffersInOfferBook = persisted.getShowOwnOffersInOfferBook();
try {
setTxFeePerKB(persisted.getTxFeePerKB());
@ -449,4 +451,12 @@ public final class Preferences implements Persistable {
public boolean getUseTorForBitcoinJ() {
return useTorForBitcoinJ;
}
public boolean getShowOwnOffersInOfferBook() {
return showOwnOffersInOfferBook;
}
public void setShowOwnOffersInOfferBook(boolean showOwnOffersInOfferBook) {
this.showOwnOffersInOfferBook = showOwnOffersInOfferBook;
}
}

View File

@ -409,7 +409,8 @@ class OfferBookViewModel extends ActivatableViewModel {
offer.getCurrencyCode().equals(selectedTradeCurrency.getCode());
boolean paymentMethodResult = showAllPaymentMethods ||
offer.getPaymentMethod().equals(selectedPaymentMethod);
return directionResult && currencyResult && paymentMethodResult;
boolean notMyOfferOrShowMyOffersActivated = !isMyOffer(offerBookListItem.getOffer()) || preferences.getShowOwnOffersInOfferBook();
return directionResult && currencyResult && paymentMethodResult && notMyOfferOrShowMyOffersActivated;
});
}

View File

@ -56,7 +56,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
// private ComboBox<String> userLanguageComboBox;
private ComboBox<TradeCurrency> preferredTradeCurrencyComboBox;
private CheckBox useAnimationsCheckBox, autoSelectArbitratorsCheckBox;
private CheckBox useAnimationsCheckBox, autoSelectArbitratorsCheckBox, showOwnOffersInOfferBook;
private int gridRow = 0;
//private InputTextField transactionFeeInputTextField;
private ChangeListener<Boolean> transactionFeeFocusedListener;
@ -295,9 +295,11 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
}
private void initializeDisplayOptions() {
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 2, "Display options", Layout.GROUP_DISTANCE);
TitledGroupBg titledGroupBg = addTitledGroupBg(root, ++gridRow, 3, "Display options", Layout.GROUP_DISTANCE);
GridPane.setColumnSpan(titledGroupBg, 4);
useAnimationsCheckBox = addLabelCheckBox(root, gridRow, "Use animations:", "", Layout.FIRST_ROW_AND_GROUP_DISTANCE).second;
showOwnOffersInOfferBook = addLabelCheckBox(root, gridRow, "Show my own offers in offer book:", "", Layout.FIRST_ROW_AND_GROUP_DISTANCE).second;
useAnimationsCheckBox = addLabelCheckBox(root, ++gridRow, "Use animations:", "").second;
resetDontShowAgainButton = addLabelButton(root, ++gridRow, "Reset all don't show again flags:", "Reset", 0).second;
}
@ -396,6 +398,9 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
}
private void activateDisplayPreferences() {
showOwnOffersInOfferBook.setSelected(preferences.getShowOwnOffersInOfferBook());
showOwnOffersInOfferBook.setOnAction(e -> preferences.setShowOwnOffersInOfferBook(showOwnOffersInOfferBook.isSelected()));
useAnimationsCheckBox.setSelected(preferences.getUseAnimations());
useAnimationsCheckBox.setOnAction(e -> preferences.setUseAnimations(useAnimationsCheckBox.isSelected()));
@ -424,6 +429,7 @@ public class PreferencesView extends ActivatableViewAndModel<GridPane, Activatab
private void deactivateDisplayPreferences() {
useAnimationsCheckBox.setOnAction(null);
showOwnOffersInOfferBook.setOnAction(null);
autoSelectArbitratorsCheckBox.setOnAction(null);
resetDontShowAgainButton.setOnAction(null);
}