diff --git a/gui/src/main/java/io/bitsquare/gui/bitsquare.css b/gui/src/main/java/io/bitsquare/gui/bitsquare.css index 6a5abe16a7..ce77ff1b89 100644 --- a/gui/src/main/java/io/bitsquare/gui/bitsquare.css +++ b/gui/src/main/java/io/bitsquare/gui/bitsquare.css @@ -53,6 +53,8 @@ bg color of non edit textFields: fafafa -bs-smooth-red: #ed7157; -bs-soft-red: #fe5e1c; -bs-soft-red2: #f35e1c; + -bs-soft-red3: #fa6f25; + -bs-yellow2: #f7ac03; -bs-warning: -bs-orange; @@ -955,15 +957,24 @@ textfield */ -fx-font-size: 14; -fx-text-fill: #333; -fx-background-color: white; - -fx-background-radius: 5 5 5 5; + -fx-background-radius: 10 10 10 10; + -fx-background-insets: 10; + -fx-effect: dropshadow(gaussian, #999, 10, 0, 0, 0); +} + +#popup-bg-top { + -fx-font-size: 14; + -fx-text-fill: #333; + -fx-background-color: white; + -fx-background-radius: 0 0 10 10; -fx-background-insets: 10; -fx-effect: dropshadow(gaussian, #999, 10, 0, 0, 0); } #notification-popup-headline { - -fx-font-size: 12; + -fx-font-size: 13; -fx-font-weight: bold; - -fx-text-fill: #3c3c3c; + -fx-text-fill: #333; } #notification-popup-bg { @@ -972,7 +983,7 @@ textfield */ -fx-background-color: linear-gradient(to bottom, #fcfcfc, #e5e5e5); -fx-background-radius: 5 5 5 5; -fx-background-insets: 5 5 20 20; - -fx-effect: dropshadow(gaussian, #000000, 15, 0, 2, 2); + -fx-effect: dropshadow(gaussian, #666, 10, 0, 2, 2); } .popup-icon-information { diff --git a/gui/src/main/java/io/bitsquare/gui/components/paymentmethods/PaymentMethodForm.java b/gui/src/main/java/io/bitsquare/gui/components/paymentmethods/PaymentMethodForm.java index 035ea32f4b..bd5a701dea 100644 --- a/gui/src/main/java/io/bitsquare/gui/components/paymentmethods/PaymentMethodForm.java +++ b/gui/src/main/java/io/bitsquare/gui/components/paymentmethods/PaymentMethodForm.java @@ -35,6 +35,8 @@ import javafx.util.StringConverter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nullable; + import static io.bitsquare.gui.util.FormBuilder.*; public abstract class PaymentMethodForm { @@ -101,20 +103,22 @@ public abstract class PaymentMethodForm { } public static void addAllowedPeriod(GridPane gridPane, int gridRow, - PaymentAccountContractData paymentAccountContractData, String dateFromBlocks) { - long hours = paymentAccountContractData.getMaxTradePeriod() / 6; - String displayText; - if (hours == 1) - displayText = hours + " hour"; - else - displayText = hours + " hours"; - if (hours == 24) - displayText = "1 day"; - if (hours > 24) - displayText = hours / 24 + " days"; + @Nullable PaymentAccountContractData paymentAccountContractData, String dateFromBlocks) { + if (paymentAccountContractData != null) { + long hours = paymentAccountContractData.getMaxTradePeriod() / 6; + String displayText; + if (hours == 1) + displayText = hours + " hour"; + else + displayText = hours + " hours"; + if (hours == 24) + displayText = "1 day"; + if (hours > 24) + displayText = hours / 24 + " days"; - addLabelTextField(gridPane, gridRow, "Max. allowed trade period / date:", displayText + " / " + dateFromBlocks); + addLabelTextField(gridPane, gridRow, "Max. allowed trade period / date:", displayText + " / " + dateFromBlocks); + } } protected void addAllowedPeriod() { diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainView.java b/gui/src/main/java/io/bitsquare/gui/main/MainView.java index f9236ca6bd..825b5a344c 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/MainView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/MainView.java @@ -70,6 +70,10 @@ public class MainView extends InitializableView { transitions.blur(MainView.rootContainer, Transitions.DEFAULT_DURATION, true, false, 5); } + public static void blurUltraLight() { + transitions.blur(MainView.rootContainer, Transitions.DEFAULT_DURATION, true, false, 2); + } + public static void removeBlur() { transitions.removeBlur(MainView.rootContainer); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java index 606a07db16..a90f8a33d8 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java @@ -209,7 +209,7 @@ public class SeedWordsView extends ActivatableView { new Popup() .warning("Your bitcoin wallet is encrypted.\n\n" + "After restore, the wallet will no longer be encrypted and you must set a new password.") - .closeButtonText("I got it") + .closeButtonText("I understand") .onClose(() -> doRestore()).show(); } else { doRestore(); diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java index 967e1dbbda..63b3ecbadd 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java @@ -94,7 +94,7 @@ public class FundsView extends ActivatableViewAndModel { "traders.") .closeButtonText("I want to learn more") .onClose(() -> Utilities.openWebPage("https://bitsquare.io/faq")) - .actionButtonText("I got it") + .actionButtonText("I understand") .onAction(() -> { }) .dontShowAgainId(key, preferences) 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 4f9e97b572..d0164f746e 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 @@ -245,7 +245,9 @@ public class CreateOfferView extends ActivatableViewAndModel Utilities.openWebPage("https://bitsquare.io/faq#6")) - .actionButtonText("I got it") + .actionButtonText("I understand") .onAction(() -> { }) .dontShowAgainId(key, preferences) @@ -514,26 +516,24 @@ public class CreateOfferView extends ActivatableViewAndModel { - String key = "createOfferSuccessInfo"; - if (preferences.showAgain(key)) { - new Popup().headLine(BSResources.get("createOffer.success.headline")) - .feedback(BSResources.get("createOffer.success.info")) - .dontShowAgainId(key, preferences) - .actionButtonText("Go to \"My open offers\"") - .onAction(() -> { - UserThread.runAfter(() -> - navigation.navigateTo(MainView.class, PortfolioView.class, OpenOffersView.class), - 100, TimeUnit.MILLISECONDS); - close(); - }) - .onClose(this::close) - .show(); - } else { - close(); - } - }, - 500, TimeUnit.MILLISECONDS); + String key = "createOfferSuccessInfo"; + if (preferences.showAgain(key)) { + UserThread.runAfter(() -> new Popup().headLine(BSResources.get("createOffer.success.headline")) + .feedback(BSResources.get("createOffer.success.info")) + .dontShowAgainId(key, preferences) + .actionButtonText("Go to \"My open offers\"") + .onAction(() -> { + UserThread.runAfter(() -> + navigation.navigateTo(MainView.class, PortfolioView.class, OpenOffersView.class), + 100, TimeUnit.MILLISECONDS); + close(); + }) + .onClose(this::close) + .show(), + 1); + } else { + close(); + } } }; } @@ -680,7 +680,7 @@ public class CreateOfferView extends ActivatableViewAndModel onShowFundsScreen()); + nextButton.setOnAction(e -> onShowPayFundsScreen()); } private void addFundingGroup() { diff --git a/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferViewModel.java index b7bc2cf008..2c7b9babf8 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/offer/createoffer/CreateOfferViewModel.java @@ -100,6 +100,7 @@ class CreateOfferViewModel extends ActivatableWithDataModel errorMessageListener; private Offer offer; private Timer timeoutTimer; + private boolean showPayFundsScreenDisplayed; /////////////////////////////////////////////////////////////////////////////////////////// @@ -155,13 +156,7 @@ class CreateOfferViewModel extends ActivatableWithDataModel { - String key = "takeOfferSuccessInfo"; - if (preferences.showAgain(key)) { - new Popup().headLine(BSResources.get("takeOffer.success.headline")) - .feedback(BSResources.get("takeOffer.success.info")) - .actionButtonText("Go to \"Open trades\"") - .dontShowAgainId(key, preferences) - .onAction(() -> { - UserThread.runAfter( - () -> navigation.navigateTo(MainView.class, PortfolioView.class, PendingTradesView.class) - , 100, TimeUnit.MILLISECONDS); - close(); - }) - .onClose(this::close) - .show(); - } else { + String key = "takeOfferSuccessInfo"; + if (preferences.showAgain(key)) { + UserThread.runAfter(() -> new Popup().headLine(BSResources.get("takeOffer.success.headline")) + .feedback(BSResources.get("takeOffer.success.info")) + .actionButtonText("Go to \"Open trades\"") + .dontShowAgainId(key, preferences) + .onAction(() -> { + UserThread.runAfter( + () -> navigation.navigateTo(MainView.class, PortfolioView.class, PendingTradesView.class) + , 100, TimeUnit.MILLISECONDS); close(); - } - }, 500, TimeUnit.MILLISECONDS); + }) + .onClose(this::close) + .show(), 1); + } else { + close(); + } } }); @@ -404,7 +401,7 @@ public class TakeOfferView extends ActivatableViewAndModel Utilities.openWebPage("https://bitsquare.io/faq#6")) - .actionButtonText("I got it") + .actionButtonText("I understand") .onAction(() -> { }) .dontShowAgainId(key, preferences) 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 3eb6c9e952..2b427f8cc6 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 @@ -117,7 +117,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel im addListeners(); amount.set(formatter.formatCoin(dataModel.amountAsCoin.get())); - isSpinnerVisible.set(false); showTransactionPublishedScreen.set(false); // when getting back to an open screen we want to re-check again @@ -198,7 +197,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel im dataModel.onPaymentAccountSelected(paymentAccount); } - public void onShowPayFundsScreen() { showPayFundsScreenDisplayed = true; updateSpinnerInfo(); diff --git a/gui/src/main/java/io/bitsquare/gui/main/overlays/Overlay.java b/gui/src/main/java/io/bitsquare/gui/main/overlays/Overlay.java index f57abe5e15..101ed6f14c 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/overlays/Overlay.java +++ b/gui/src/main/java/io/bitsquare/gui/main/overlays/Overlay.java @@ -25,7 +25,12 @@ import io.bitsquare.gui.main.MainView; import io.bitsquare.gui.util.Transitions; import io.bitsquare.locale.BSResources; import io.bitsquare.user.Preferences; +import javafx.animation.Interpolator; +import javafx.animation.KeyFrame; +import javafx.animation.KeyValue; +import javafx.animation.Timeline; import javafx.beans.value.ChangeListener; +import javafx.collections.ObservableList; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.geometry.Orientation; @@ -37,6 +42,7 @@ import javafx.stage.Modality; import javafx.stage.Stage; import javafx.stage.StageStyle; import javafx.stage.Window; +import javafx.util.Duration; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -110,40 +116,34 @@ public abstract class Overlay { public void hide() { animateHide(() -> { - if (owner == null) - owner = MainView.getRootContainer(); - Scene rootScene = owner.getScene(); - if (rootScene != null) { - Window window = rootScene.getWindow(); - window.xProperty().removeListener(positionListener); - window.yProperty().removeListener(positionListener); - window.widthProperty().removeListener(positionListener); + removeEffectFromBackground(); - if (centerTime != null) - centerTime.stop(); + if (stage != null) + stage.hide(); + else + log.warn("Stage is null"); - removeEffectFromBackground(); - - if (stage != null) - stage.hide(); - else - log.warn("Stage is null"); - - cleanup(); - onHidden(); - } + cleanup(); + onHidden(); }); } protected void onHidden() { } - protected void animateHide(Runnable onFinishedHandler) { - onFinishedHandler.run(); - } - protected void cleanup() { + if (centerTime != null) + centerTime.stop(); + if (owner == null) + owner = MainView.getRootContainer(); + Scene rootScene = owner.getScene(); + if (rootScene != null) { + Window window = rootScene.getWindow(); + window.xProperty().removeListener(positionListener); + window.yProperty().removeListener(positionListener); + window.widthProperty().removeListener(positionListener); + } } public T onClose(Runnable closeHandler) { @@ -273,7 +273,6 @@ public abstract class Overlay { return (T) this; } - /////////////////////////////////////////////////////////////////////////////////////////// // Protected /////////////////////////////////////////////////////////////////////////////////////////// @@ -338,29 +337,55 @@ public abstract class Overlay { } } - protected void animateDisplay() { - } - - protected void setModality() { - stage.initOwner(owner.getScene().getWindow()); - stage.initModality(Modality.WINDOW_MODAL); - } - - protected void applyStyles() { - gridPane.setId("popup-bg"); - if (headLineLabel != null) - headLineLabel.setId("popup-headline"); - } - - protected void addEffectToBackground() { - MainView.blurLight(); - } - - protected void removeEffectFromBackground() { - MainView.removeBlur(); + protected void animateHide(Runnable onFinishedHandler) { + if ("backgroundInfo".equals(type)) + animateToTop(onFinishedHandler); + else + animateToCenter(onFinishedHandler); } protected void layout() { + if ("backgroundInfo".equals(type)) + layoutAtTop(); + else + layoutAtCenter(); + } + + protected void addEffectToBackground() { + if ("backgroundInfo".equals(type)) + MainView.blurUltraLight(); + else + MainView.blurLight(); + + } + + protected void animateDisplay() { + if ("backgroundInfo".equals(type)) + animateFromTop(); + else + animateFromCenter(); + } + + protected void applyStyles() { + if ("backgroundInfo".equals(type)) + applyStylesTop(); + else + applyStylesCenter(); + } + + protected void layoutAtTop() { + if (owner == null) + owner = MainView.getRootContainer(); + Scene rootScene = owner.getScene(); + if (rootScene != null) { + Window window = rootScene.getWindow(); + double titleBarHeight = window.getHeight() - rootScene.getHeight(); + stage.setX(Math.round(window.getX() + (owner.getWidth() - stage.getWidth()) / 2)); + stage.setY(Math.round(window.getY() + titleBarHeight /*+ (owner.getHeight() - stage.getHeight()) / 2*/)); + } + } + + protected void layoutAtCenter() { if (owner == null) owner = MainView.getRootContainer(); Scene rootScene = owner.getScene(); @@ -372,6 +397,137 @@ public abstract class Overlay { } } + + protected void animateFromTop() { + gridPane.setOpacity(0); + double startY = -gridPane.getHeight(); + double duration = 400; + Interpolator interpolator = Interpolator.SPLINE(0.25, 0.1, 0.25, 1); + + Timeline timeline = new Timeline(); + ObservableList keyFrames = timeline.getKeyFrames(); + keyFrames.add(new KeyFrame(Duration.millis(0), + new KeyValue(gridPane.opacityProperty(), 0, interpolator), + new KeyValue(gridPane.translateYProperty(), startY, interpolator) + )); + keyFrames.add(new KeyFrame(Duration.millis(duration), + new KeyValue(gridPane.opacityProperty(), 1, interpolator), + new KeyValue(gridPane.translateYProperty(), -10, interpolator) + )); + + timeline.play(); + } + + protected void animateFromCenter() { + gridPane.setOpacity(0); + double startScale = 0.25; + double duration = 400; + Interpolator interpolator = Interpolator.SPLINE(0.25, 0.1, 0.25, 1); + + Timeline timeline = new Timeline(); + ObservableList keyFrames = timeline.getKeyFrames(); + keyFrames.add(new KeyFrame(Duration.millis(0), + new KeyValue(gridPane.opacityProperty(), 0, interpolator), + new KeyValue(gridPane.scaleXProperty(), startScale, interpolator), + new KeyValue(gridPane.scaleYProperty(), startScale, interpolator) + + )); + keyFrames.add(new KeyFrame(Duration.millis(duration), + new KeyValue(gridPane.opacityProperty(), 1, interpolator), + new KeyValue(gridPane.scaleXProperty(), 1, interpolator), + new KeyValue(gridPane.scaleYProperty(), 1, interpolator) + )); + timeline.play(); + } + + protected void animateFromBottom() { + gridPane.setOpacity(0); + double startScale = 0.25; + double duration = 400; + Interpolator interpolator = Interpolator.SPLINE(0.25, 0.1, 0.25, 1); + + Timeline timeline = new Timeline(); + ObservableList keyFrames = timeline.getKeyFrames(); + keyFrames.add(new KeyFrame(Duration.millis(0), + new KeyValue(gridPane.opacityProperty(), 0, interpolator), + new KeyValue(gridPane.scaleXProperty(), startScale, interpolator), + new KeyValue(gridPane.scaleYProperty(), startScale, interpolator) + + )); + keyFrames.add(new KeyFrame(Duration.millis(duration), + new KeyValue(gridPane.opacityProperty(), 1, interpolator), + new KeyValue(gridPane.scaleXProperty(), 1, interpolator), + new KeyValue(gridPane.scaleYProperty(), 1, interpolator) + )); + timeline.play(); + } + + + protected void animateToTop(Runnable onFinishedHandler) { + double endY = -gridPane.getHeight(); + double duration = 200; + Interpolator interpolator = Interpolator.SPLINE(0.25, 0.1, 0.25, 1); + + Timeline timeline = new Timeline(); + ObservableList keyFrames = timeline.getKeyFrames(); + keyFrames.add(new KeyFrame(Duration.millis(0), + new KeyValue(gridPane.opacityProperty(), 1, interpolator), + new KeyValue(gridPane.translateYProperty(), -10, interpolator) + )); + keyFrames.add(new KeyFrame(Duration.millis(duration), + new KeyValue(gridPane.opacityProperty(), 0, interpolator), + new KeyValue(gridPane.translateYProperty(), endY, interpolator) + )); + + timeline.setOnFinished(e -> onFinishedHandler.run()); + timeline.play(); + } + + protected void animateToCenter(Runnable onFinishedHandler) { + double endScale = 0.25; + double duration = 200; + Interpolator interpolator = Interpolator.SPLINE(0.25, 0.1, 0.25, 1); + + Timeline timeline = new Timeline(); + ObservableList keyFrames = timeline.getKeyFrames(); + keyFrames.add(new KeyFrame(Duration.millis(0), + new KeyValue(gridPane.opacityProperty(), 1, interpolator), + new KeyValue(gridPane.scaleXProperty(), 1, interpolator), + new KeyValue(gridPane.scaleYProperty(), 1, interpolator) + )); + keyFrames.add(new KeyFrame(Duration.millis(duration), + new KeyValue(gridPane.opacityProperty(), 0, interpolator), + new KeyValue(gridPane.scaleXProperty(), endScale, interpolator), + new KeyValue(gridPane.scaleYProperty(), endScale, interpolator) + )); + + timeline.setOnFinished(e -> onFinishedHandler.run()); + timeline.play(); + } + + + protected void applyStylesTop() { + gridPane.setId("popup-bg-top"); + if (headLineLabel != null) + headLineLabel.setId("popup-headline"); + } + + protected void applyStylesCenter() { + gridPane.setId("popup-bg"); + if (headLineLabel != null) + headLineLabel.setId("popup-headline"); + } + + protected void setModality() { + stage.initOwner(owner.getScene().getWindow()); + stage.initModality(Modality.WINDOW_MODAL); + } + + + protected void removeEffectFromBackground() { + MainView.removeBlur(); + } + protected void addHeadLine() { if (headLine != null) { ++rowIndex; diff --git a/gui/src/main/java/io/bitsquare/gui/main/overlays/notifications/Notification.java b/gui/src/main/java/io/bitsquare/gui/main/overlays/notifications/Notification.java index 564ff8d71a..cdf0f7f8a8 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/overlays/notifications/Notification.java +++ b/gui/src/main/java/io/bitsquare/gui/main/overlays/notifications/Notification.java @@ -35,6 +35,21 @@ public class Notification extends Overlay { autoCloseTimer = UserThread.runAfter(this::hide, 4); } + @Override + public void hide() { + animateHide(() -> { + removeEffectFromBackground(); + + if (stage != null) + stage.hide(); + else + log.warn("Stage is null"); + + cleanup(); + onHidden(); + }); + } + @Override protected void onShow() { NotificationManager.queueForDisplay(this); @@ -159,6 +174,7 @@ public class Notification extends Overlay { @Override protected void setModality() { + stage.initOwner(owner.getScene().getWindow()); stage.initModality(Modality.NONE); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/Popup.java b/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/Popup.java index c14c937930..543b24f429 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/Popup.java +++ b/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/Popup.java @@ -21,7 +21,7 @@ import io.bitsquare.gui.main.overlays.Overlay; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class Popup extends Overlay { +public class Popup extends Overlay { protected final Logger log = LoggerFactory.getLogger(this.getClass()); public void onReadyForDisplay() { @@ -37,4 +37,6 @@ public class Popup extends Overlay { protected void onHidden() { PopupManager.onHidden(this); } + + } diff --git a/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/PopupManager.java b/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/PopupManager.java index 329de06c50..0120ccad56 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/PopupManager.java +++ b/gui/src/main/java/io/bitsquare/gui/main/overlays/popups/PopupManager.java @@ -9,6 +9,7 @@ import java.util.concurrent.LinkedBlockingQueue; public class PopupManager { private static final Logger log = LoggerFactory.getLogger(PopupManager.class); private static final Queue popups = new LinkedBlockingQueue<>(5); + private static Popup displayedPopup; public static void queueForDisplay(Popup popup) { 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 6740aa4864..a58be76cd7 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 @@ -97,7 +97,6 @@ public class OfferDetailsWindow extends Overlay { display(); } - public OfferDetailsWindow onPlaceOffer(Runnable placeOfferHandler) { this.placeOfferHandlerOptional = Optional.of(placeOfferHandler); return this; @@ -113,6 +112,12 @@ public class OfferDetailsWindow extends Overlay { // Protected /////////////////////////////////////////////////////////////////////////////////////////// + @Override + protected void onHidden() { + if (spinner != null) + spinner.setProgress(0); + } + @Override protected void createGridPane() { super.createGridPane(); @@ -283,10 +288,4 @@ public class OfferDetailsWindow extends Overlay { } }); } - - @Override - protected void onHidden() { - if (spinner != null) - spinner.setProgress(0); - } }