diff --git a/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferView.java b/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferView.java index 44561a562c..700f51070f 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferView.java @@ -529,7 +529,7 @@ public class CreateOfferView extends ActivatableViewAndModel { stopTimeoutTimer(); - placeOfferCompleted.set(true); resultHandler.run(); + placeOfferCompleted.set(true); errorMessage.set(null); }); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferView.java b/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferView.java index 24add3c591..a490678e4b 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferView.java @@ -217,12 +217,9 @@ public class TakeOfferView extends ActivatableViewAndModel { if (newValue && BitsquareApp.DEV_MODE) { - newValue = false; close(); navigation.navigateTo(MainView.class, PortfolioView.class, PendingTradesView.class); - } - - if (newValue && model.getTrade() != null && model.getTrade().errorMessageProperty().get() == null) { + } else if (newValue && model.getTrade() != null && model.getTrade().errorMessageProperty().get() == null) { UserThread.runAfter( () -> new Popup().headLine(BSResources.get("takeOffer.success.headline")) .feedback(BSResources.get("takeOffer.success.info")) @@ -234,7 +231,7 @@ public class TakeOfferView extends ActivatableViewAndModel model.onTakeOffer()) + offerDetailsWindow.onTakeOffer(() -> + model.onTakeOffer(() -> + offerDetailsWindow.hide())) .show(model.getOffer(), model.dataModel.amountAsCoin.get()); - } else { new Popup().warning("You have no arbitrator selected.\n" + "You need to select at least one arbitrator.") diff --git a/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferViewModel.java index 90fd15336d..ae7ba5dcce 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/offer/takeoffer/TakeOfferViewModel.java @@ -91,6 +91,7 @@ class TakeOfferViewModel extends ActivatableWithDataModel im private ChangeListener offerErrorListener; private ConnectionListener connectionListener; private ChangeListener feeFromFundingTxListener; + private Runnable takeOfferSucceededHandler; /////////////////////////////////////////////////////////////////////////////////////////// @@ -177,11 +178,12 @@ class TakeOfferViewModel extends ActivatableWithDataModel im // UI actions /////////////////////////////////////////////////////////////////////////////////////////// - void onTakeOffer() { + void onTakeOffer(Runnable resultHandler) { + takeOfferSucceededHandler = resultHandler; takeOfferRequested = true; showTransactionPublishedScreen.set(false); - isTakeOfferSpinnerVisible.set(true); - takeOfferSpinnerInfoText.set(BSResources.get("takeOffer.fundsBox.takeOfferSpinnerInfo")); + //isTakeOfferSpinnerVisible.set(true); + //takeOfferSpinnerInfoText.set(BSResources.get("takeOffer.fundsBox.takeOfferSpinnerInfo")); dataModel.onTakeOffer(trade -> { this.trade = trade; trade.stateProperty().addListener(tradeStateListener); @@ -329,10 +331,14 @@ class TakeOfferViewModel extends ActivatableWithDataModel im || trade.getState() == Trade.State.DEPOSIT_SEEN_IN_NETWORK || trade.getState() == Trade.State.DEPOSIT_PUBLISHED_MSG_SENT || trade.getState() == Trade.State.DEPOSIT_PUBLISHED_MSG_RECEIVED) { - if (trade.getDepositTx() != null) + if (trade.getDepositTx() != null) { + if (takeOfferSucceededHandler != null) + takeOfferSucceededHandler.run(); + showTransactionPublishedScreen.set(true); - else + } else { log.error("trade.getDepositTx() == null. That must not happen"); + } } takeOfferSpinnerInfoText.set(""); diff --git a/gui/src/main/java/io/bitsquare/gui/main/overlays/windows/OfferDetailsWindow.java b/gui/src/main/java/io/bitsquare/gui/main/overlays/windows/OfferDetailsWindow.java index b91e01fd56..68190d1b20 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/overlays/windows/OfferDetailsWindow.java +++ b/gui/src/main/java/io/bitsquare/gui/main/overlays/windows/OfferDetailsWindow.java @@ -237,13 +237,13 @@ public class OfferDetailsWindow extends Overlay { String takeOfferButtonText = isBuyerRole ? "Confirm take offer for buying bitcoin" : "Confirm take offer for selling bitcoin"; ImageView iconView = new ImageView(); - iconView.setId(isBuyOffer ? "image-buy-white" : "image-sell-white"); + iconView.setId(isBuyerRole ? "image-buy-white" : "image-sell-white"); Tuple3 placeOfferTuple = addButtonWithStatusAfterGroup(gridPane, ++rowIndex, isPlaceOffer ? placeOfferButtonText : takeOfferButtonText); Button button = placeOfferTuple.first; button.setGraphic(iconView); - button.setId(isBuyOffer ? "buy-button" : "sell-button"); + button.setId(isBuyerRole ? "buy-button" : "sell-button"); button.setText(isPlaceOffer ? placeOfferButtonText : takeOfferButtonText); spinner = placeOfferTuple.second; @@ -269,7 +269,7 @@ public class OfferDetailsWindow extends Overlay { spinnerInfoLabel.setText(BSResources.get("createOffer.fundsBox.placeOfferSpinnerInfo")); placeOfferHandlerOptional.get().run(); } else { - spinnerInfoLabel.setText("Take offer in progress..."); + spinnerInfoLabel.setText(BSResources.get("takeOffer.fundsBox.takeOfferSpinnerInfo")); takeOfferHandlerOptional.get().run(); } } else {