From aa66d591ab38af77786ec35ab7236c46e8705c38 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Mon, 6 Oct 2014 11:57:17 +0200 Subject: [PATCH] Add info popup for first time user at take offer screen --- .../main/trade/takeoffer/TakeOfferModel.java | 12 +++++++++++- .../gui/main/trade/takeoffer/TakeOfferPM.java | 4 ++++ .../main/trade/takeoffer/TakeOfferViewCB.java | 17 +++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferModel.java b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferModel.java index c374bfd724..40100c252b 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferModel.java +++ b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferModel.java @@ -22,6 +22,7 @@ import io.bitsquare.btc.FeePolicy; import io.bitsquare.btc.WalletFacade; import io.bitsquare.btc.listeners.BalanceListener; import io.bitsquare.gui.UIModel; +import io.bitsquare.persistence.Persistence; import io.bitsquare.settings.Settings; import io.bitsquare.trade.Offer; import io.bitsquare.trade.Trade; @@ -56,6 +57,7 @@ class TakeOfferModel extends UIModel { private final TradeManager tradeManager; private final WalletFacade walletFacade; private final Settings settings; + private Persistence persistence; private Offer offer; private AddressEntry addressEntry; @@ -81,10 +83,11 @@ class TakeOfferModel extends UIModel { /////////////////////////////////////////////////////////////////////////////////////////// @Inject - TakeOfferModel(TradeManager tradeManager, WalletFacade walletFacade, Settings settings) { + TakeOfferModel(TradeManager tradeManager, WalletFacade walletFacade, Settings settings, Persistence persistence) { this.tradeManager = tradeManager; this.walletFacade = walletFacade; this.settings = settings; + this.persistence = persistence; } @@ -227,6 +230,13 @@ class TakeOfferModel extends UIModel { return true; } + Boolean displaySecurityDepositInfo() { + Object securityDepositInfoDisplayedObject = persistence.read("displaySecurityDepositInfo"); + if (securityDepositInfoDisplayedObject instanceof Boolean) + return (Boolean) securityDepositInfoDisplayedObject; + else + return true; + } /////////////////////////////////////////////////////////////////////////////////////////// // Setter diff --git a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferPM.java b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferPM.java index 36602979f6..76ab575f89 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferPM.java +++ b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferPM.java @@ -303,6 +303,10 @@ class TakeOfferPM extends PresentationModel { return paymentLabel; } + Boolean displaySecurityDepositInfo() { + return model.displaySecurityDepositInfo(); + } + /////////////////////////////////////////////////////////////////////////////////////////// // Private diff --git a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewCB.java b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewCB.java index 3f63df824a..bfbe1c8826 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewCB.java @@ -196,6 +196,23 @@ public class TakeOfferViewCB extends CachedViewCB { @FXML void onTakeOffer() { + if (presentationModel.displaySecurityDepositInfo()) { + overlayManager.blurContent(); + List actions = new ArrayList<>(); + actions.add(new AbstractAction(BSResources.get("shared.close")) { + @Override + public void handle(ActionEvent actionEvent) { + Dialog.Actions.CLOSE.handle(actionEvent); + overlayManager.removeBlurContent(); + } + }); + Popups.openInfo("To ensure that both traders behave fair they need to pay a security deposit.", + "The deposit will stay in your local trading wallet until the offer gets accepted by " + + "another trader. " + + "\nIt will be refunded to you after the trade has successfully completed.", + actions); + } + presentationModel.takeOffer(); }