From 844029d96754576d1a950a64712874cf8079ed00 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Wed, 20 Aug 2014 11:06:11 +0200 Subject: [PATCH] fixed network sync panel visibility --- .../java/io/bitsquare/btc/WalletFacade.java | 10 ++-- .../java/io/bitsquare/gui/MainController.java | 47 ++++++++++++++----- src/main/java/io/bitsquare/gui/bitsquare.css | 15 ++++-- .../gui/components/NetworkSyncPane.java | 3 +- .../createOffer/CreateOfferController.java | 5 +- .../market/createOffer/CreateOfferView.fxml | 6 +-- 6 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/main/java/io/bitsquare/btc/WalletFacade.java b/src/main/java/io/bitsquare/btc/WalletFacade.java index a493cf1621..34142bf08c 100644 --- a/src/main/java/io/bitsquare/btc/WalletFacade.java +++ b/src/main/java/io/bitsquare/btc/WalletFacade.java @@ -648,7 +648,7 @@ public class WalletFacade Coin fee = FeePolicy.CREATE_OFFER_FEE.subtract(FeePolicy.TX_FEE); log.trace("fee: " + fee.toFriendlyString()); tx.addOutput(fee, feePolicy.getAddressForCreateOfferFee()); - + printInputs("payCreateOfferFee", tx); Wallet.SendRequest sendRequest = Wallet.SendRequest.forTx(tx); sendRequest.shuffleOutputs = false; // we allow spending of unconfirmed tx (double spend risk is low and usability would suffer if we need to wait for 1 confirmation) @@ -1233,7 +1233,7 @@ public class WalletFacade { void progress(double percent); - void doneDownload(); + void downloadComplete(); } private class BlockChainDownloadListener extends com.google.bitcoin.core.DownloadListener @@ -1242,7 +1242,7 @@ public class WalletFacade protected void progress(double percent, int blocksSoFar, Date date) { super.progress(percent, blocksSoFar, date); - Platform.runLater(() -> onProgressInUserThread(percent, blocksSoFar, date)); + Platform.runLater(() -> onProgressInUserThread(percent)); } @Override @@ -1252,7 +1252,7 @@ public class WalletFacade Platform.runLater(this::onDoneDownloadInUserThread); } - private void onProgressInUserThread(double percent, int blocksSoFar, final Date date) + private void onProgressInUserThread(double percent) { for (DownloadListener downloadListener : downloadListeners) { @@ -1264,7 +1264,7 @@ public class WalletFacade { for (DownloadListener downloadListener : downloadListeners) { - downloadListener.doneDownload(); + downloadListener.downloadComplete(); } } } diff --git a/src/main/java/io/bitsquare/gui/MainController.java b/src/main/java/io/bitsquare/gui/MainController.java index f524b161b4..284a4df5a8 100644 --- a/src/main/java/io/bitsquare/gui/MainController.java +++ b/src/main/java/io/bitsquare/gui/MainController.java @@ -163,12 +163,16 @@ public class MainController implements Initializable, NavigationController public void progress(double percent) { viewBuilder.loadingLabel.setText("Synchronise with network..."); + if (viewBuilder.networkSyncPane == null) + viewBuilder.setShowNetworkSyncPane(); } @Override - public void doneDownload() + public void downloadComplete() { viewBuilder.loadingLabel.setText("Synchronise with network done."); + if (viewBuilder.networkSyncPane != null) + viewBuilder.networkSyncPane.downloadComplete(); } }); @@ -194,10 +198,10 @@ public class MainController implements Initializable, NavigationController Profiler.printMsgWithTime("MainController.fadeOutSplash"); Transitions.blurOutAndRemove(viewBuilder.splashVBox); Transitions.fadeIn(viewBuilder.menuBar); - Transitions.fadeIn(viewBuilder.anchorPane); + Transitions.fadeIn(viewBuilder.contentScreen); } - - + + /////////////////////////////////////////////////////////////////////////////////////////// // Handlers /////////////////////////////////////////////////////////////////////////////////////////// @@ -218,7 +222,7 @@ public class MainController implements Initializable, NavigationController AWTSystemTray.setAlert(); } - + /////////////////////////////////////////////////////////////////////////////////////////// // Private startup methods /////////////////////////////////////////////////////////////////////////////////////////// @@ -430,11 +434,12 @@ class ViewBuilder AnchorPane contentPane; NetworkSyncPane networkSyncPane; StackPane stackPane; - AnchorPane anchorPane; + AnchorPane contentScreen; VBox splashVBox; MenuBar menuBar; BorderPane root; Label loadingLabel; + boolean showNetworkSyncPane; void buildSplashScreen(BorderPane root, MainController controller) { @@ -455,8 +460,8 @@ class ViewBuilder void buildContentView(MainController controller) { Profiler.printMsgWithTime("MainController.ViewBuilder.buildContentView"); - anchorPane = getContentScreen(); - stackPane.getChildren().add(anchorPane); + contentScreen = getContentScreen(); + stackPane.getChildren().add(contentScreen); Platform.runLater(controller::onViewInitialized); } @@ -485,16 +490,32 @@ class ViewBuilder AnchorPane.setTopAnchor(contentPane, 60d); AnchorPane.setBottomAnchor(contentPane, 20d); + anchorPane.getChildren().addAll(leftNavPane, rightNavPane, contentPane); + anchorPane.setOpacity(0); + + if (showNetworkSyncPane) + addNetworkSyncPane(); + + return anchorPane; + } + + void setShowNetworkSyncPane() + { + showNetworkSyncPane = true; + + if (contentScreen != null) + addNetworkSyncPane(); + } + + private void addNetworkSyncPane() + { networkSyncPane = new NetworkSyncPane(); networkSyncPane.setSpacing(10); networkSyncPane.setPrefHeight(20); AnchorPane.setLeftAnchor(networkSyncPane, 0d); - AnchorPane.setBottomAnchor(networkSyncPane, 0d); + AnchorPane.setBottomAnchor(networkSyncPane, 5d); - anchorPane.getChildren().addAll(leftNavPane, rightNavPane, contentPane, networkSyncPane); - anchorPane.setOpacity(0); - - return anchorPane; + contentScreen.getChildren().addAll(networkSyncPane); } VBox getSplashScreen() diff --git a/src/main/java/io/bitsquare/gui/bitsquare.css b/src/main/java/io/bitsquare/gui/bitsquare.css index a8002892ae..40daab6670 100644 --- a/src/main/java/io/bitsquare/gui/bitsquare.css +++ b/src/main/java/io/bitsquare/gui/bitsquare.css @@ -62,7 +62,7 @@ .text-field:readonly { -fx-text-fill: #000000; - -fx-background-color: #FBFBFB; + -fx-background-color: #FAFAFA; } #feedback-text { @@ -169,13 +169,20 @@ #form-group-label { -fx-font-weight: bold; -fx-font-size: 14; - -fx-text-fill:#0096c9; + -fx-text-fill:#111; -fx-background-color:#f4f4f4; } #form-group-border { - -fx-border-color: #96D3E9; - -fx-border-radius: 4; + -fx-body-color: linear-gradient(to bottom, #f4f4f4, #F0F0F0); + -fx-outer-border: linear-gradient(to bottom, #ddd, #ccc); + -fx-background-color: + -fx-shadow-highlight-color, + -fx-outer-border, + -fx-inner-border, + -fx-body-color; + -fx-background-insets: 0 0 -1 0, 0, 1, 2; + -fx-background-radius: 3px, 3px, 2px, 1px; } #form-title { diff --git a/src/main/java/io/bitsquare/gui/components/NetworkSyncPane.java b/src/main/java/io/bitsquare/gui/components/NetworkSyncPane.java index b52057c02f..8e07c5ec46 100644 --- a/src/main/java/io/bitsquare/gui/components/NetworkSyncPane.java +++ b/src/main/java/io/bitsquare/gui/components/NetworkSyncPane.java @@ -31,7 +31,7 @@ public class NetworkSyncPane extends HBox networkSyncInfoLabel.setText("Synchronize with network: " + (int) percent + "%"); } - public void doneDownload() + public void downloadComplete() { networkSyncInfoLabel.setText("Sync with network: Done"); networkSyncProgressBar.setProgress(1); @@ -43,5 +43,4 @@ public class NetworkSyncPane extends HBox fade.play(); fade.setOnFinished(e -> getChildren().clear()); } - } diff --git a/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferController.java b/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferController.java index c62fdf2a48..5240a8faaa 100644 --- a/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferController.java +++ b/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferController.java @@ -214,11 +214,12 @@ public class CreateOfferController implements Initializable, ChildController, Hi transactionIdTextField.textProperty().bind(viewModel.transactionId); placeOfferButton.visibleProperty().bind(viewModel.isOfferPlacedScreen.not()); - progressIndicator.visibleProperty().bind(viewModel.isOfferPlacedScreen); + closeButton.visibleProperty().bind(viewModel.isOfferPlacedScreen); + /* progressIndicator.visibleProperty().bind(viewModel.isOfferPlacedScreen); confirmationLabel.visibleProperty().bind(viewModel.isOfferPlacedScreen); txTitleLabel.visibleProperty().bind(viewModel.isOfferPlacedScreen); transactionIdTextField.visibleProperty().bind(viewModel.isOfferPlacedScreen); - closeButton.visibleProperty().bind(viewModel.isOfferPlacedScreen); + */ } private void setupValidation() diff --git a/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferView.fxml b/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferView.fxml index f452ee6afa..1298d377c3 100644 --- a/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferView.fxml +++ b/src/main/java/io/bitsquare/gui/market/createOffer/CreateOfferView.fxml @@ -14,7 +14,7 @@ - + @@ -64,6 +64,7 @@