From 87d89f2dc606200270541a9253e4d65df59002af Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Fri, 26 Sep 2014 14:20:04 +0200 Subject: [PATCH] Move arbitration screens to new account tab --- src/main/java/io/bitsquare/BitSquare.java | 8 +- .../java/io/bitsquare/gui/Navigation.java | 9 +- .../gui/main/account/AccountView.fxml | 4 +- .../gui/main/account/AccountViewCB.java | 59 ++++++-- .../arbitrator/ArbitratorSettingsView.fxml | 38 +++++ .../arbitrator/ArbitratorSettingsViewCB.java | 143 ++++++++++++++++++ .../browser/ArbitratorBrowserView.fxml | 2 +- .../browser/ArbitratorBrowserViewCB.java | 20 +-- .../profile/ArbitratorProfileView.fxml | 2 +- .../profile/ArbitratorProfileViewCB.java | 6 +- .../ArbitratorRegistrationView.fxml | 3 +- .../ArbitratorRegistrationViewCB.java | 6 +- .../io/bitsquare/gui/main/home/HomeView.fxml | 5 +- .../bitsquare/gui/main/home/HomeViewCB.java | 65 -------- .../io/bitsquare/gui/main/msg/MsgView.fxml | 2 +- .../java/io/bitsquare/msg/MessageFacade.java | 1 + 16 files changed, 266 insertions(+), 107 deletions(-) create mode 100644 src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.fxml create mode 100644 src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsViewCB.java rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/browser/ArbitratorBrowserView.fxml (93%) rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/browser/ArbitratorBrowserViewCB.java (96%) rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/profile/ArbitratorProfileView.fxml (97%) rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/profile/ArbitratorProfileViewCB.java (96%) rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/registration/ArbitratorRegistrationView.fxml (98%) rename src/main/java/io/bitsquare/gui/main/{arbitrators => account/arbitrator}/registration/ArbitratorRegistrationViewCB.java (98%) diff --git a/src/main/java/io/bitsquare/BitSquare.java b/src/main/java/io/bitsquare/BitSquare.java index 0422edfb5c..ae726fc9f8 100644 --- a/src/main/java/io/bitsquare/BitSquare.java +++ b/src/main/java/io/bitsquare/BitSquare.java @@ -125,8 +125,14 @@ public class BitSquare extends Application { setupCloseHandlers(primaryStage, scene); primaryStage.setScene(scene); + + // TODO resizing not fully supported yet + /* primaryStage.setMinWidth(750); - primaryStage.setMinHeight(500); + primaryStage.setMinHeight(500);*/ + + primaryStage.setMinWidth(1000); + primaryStage.setMinHeight(750); Profiler.initScene(primaryStage.getScene()); diff --git a/src/main/java/io/bitsquare/gui/Navigation.java b/src/main/java/io/bitsquare/gui/Navigation.java index 4ee0c88be5..8fbdbdada6 100644 --- a/src/main/java/io/bitsquare/gui/Navigation.java +++ b/src/main/java/io/bitsquare/gui/Navigation.java @@ -186,6 +186,7 @@ public class Navigation { // account ACCOUNT_SETUP("/io/bitsquare/gui/main/account/setup/AccountSetupView.fxml"), ACCOUNT_SETTINGS("/io/bitsquare/gui/main/account/settings/AccountSettingsView.fxml"), + ARBITRATOR_SETTINGS("/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.fxml"), /////////////////////////////////////////////////////////////////////////////////////////// @@ -206,9 +207,11 @@ public class Navigation { /////////////////////////////////////////////////////////////////////////////////////////// // arbitrator - ARBITRATOR_PROFILE("/io/bitsquare/gui/main/arbitrators/profile/ArbitratorProfileView.fxml"), - ARBITRATOR_BROWSER("/io/bitsquare/gui/main/arbitrators/browser/ArbitratorBrowserView.fxml"), - ARBITRATOR_REGISTRATION("/io/bitsquare/gui/main/arbitrators/registration/ArbitratorRegistrationView.fxml"); + + ARBITRATOR_PROFILE("/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.fxml"), + ARBITRATOR_BROWSER("/io/bitsquare/gui/main/account/arbitrator/browser/ArbitratorBrowserView.fxml"), + ARBITRATOR_REGISTRATION("/io/bitsquare/gui/main/account/arbitrator/registration/ArbitratorRegistrationView" + + ".fxml"); private final String fxmlUrl; diff --git a/src/main/java/io/bitsquare/gui/main/account/AccountView.fxml b/src/main/java/io/bitsquare/gui/main/account/AccountView.fxml index f776441a9a..fbeab9caa4 100644 --- a/src/main/java/io/bitsquare/gui/main/account/AccountView.fxml +++ b/src/main/java/io/bitsquare/gui/main/account/AccountView.fxml @@ -24,7 +24,7 @@ AnchorPane.bottomAnchor="0" AnchorPane.leftAnchor="0" AnchorPane.rightAnchor="0" AnchorPane.topAnchor="0" xmlns:fx="http://javafx.com/fxml"> - + + - \ No newline at end of file diff --git a/src/main/java/io/bitsquare/gui/main/account/AccountViewCB.java b/src/main/java/io/bitsquare/gui/main/account/AccountViewCB.java index af49605afa..0e22f48f92 100644 --- a/src/main/java/io/bitsquare/gui/main/account/AccountViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/AccountViewCB.java @@ -30,10 +30,11 @@ import java.util.ResourceBundle; import javax.inject.Inject; +import javafx.beans.value.ChangeListener; import javafx.fxml.FXML; import javafx.fxml.Initializable; +import javafx.scene.*; import javafx.scene.control.*; -import javafx.scene.layout.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,9 +44,11 @@ public class AccountViewCB extends CachedViewCB { private static final Logger log = LoggerFactory.getLogger(AccountViewCB.class); private final Navigation navigation; - private Navigation.Listener listener; + private Navigation.Listener navigationListener; - @FXML Tab tab; + private ChangeListener tabChangeListener; + + @FXML Tab accountSettingsTab, arbitratorSettingsTab; /////////////////////////////////////////////////////////////////////////////////////////// @@ -66,13 +69,23 @@ public class AccountViewCB extends CachedViewCB { @Override public void initialize(URL url, ResourceBundle rb) { - listener = navigationItems -> { + navigationListener = navigationItems -> { if (navigationItems != null && navigationItems.length == 3 && navigationItems[1] == Navigation.Item.ACCOUNT) loadView(navigationItems[2]); }; + tabChangeListener = (ov, oldValue, newValue) -> { + if (newValue == accountSettingsTab) + navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, + Navigation.Item.ACCOUNT_SETTINGS); + else + navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, + Navigation.Item.ARBITRATOR_SETTINGS); + + }; + super.initialize(url, rb); } @@ -80,16 +93,23 @@ public class AccountViewCB extends CachedViewCB { public void activate() { super.activate(); - navigation.addListener(listener); + navigation.addListener(navigationListener); + ((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener); if (navigation.getCurrentItems().length == 2 && navigation.getCurrentItems()[1] == Navigation.Item.ACCOUNT) { - if (presentationModel.getNeedRegistration()) + if (presentationModel.getNeedRegistration()) { navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, Navigation.Item.ACCOUNT_SETUP); - else - navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, - Navigation.Item.ACCOUNT_SETTINGS); + } + else { + if (((TabPane) root).getSelectionModel().getSelectedItem() == accountSettingsTab) + navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, + Navigation.Item.ACCOUNT_SETTINGS); + else + navigation.navigationTo(Navigation.Item.MAIN, Navigation.Item.ACCOUNT, + Navigation.Item.ARBITRATOR_SETTINGS); + } } } @@ -97,7 +117,8 @@ public class AccountViewCB extends CachedViewCB { public void deactivate() { super.deactivate(); - navigation.removeListener(listener); + navigation.removeListener(navigationListener); + ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); } @SuppressWarnings("EmptyMethod") @@ -115,11 +136,25 @@ public class AccountViewCB extends CachedViewCB { protected Initializable loadView(Navigation.Item navigationItem) { super.loadView(navigationItem); - tab.setText((navigationItem == Navigation.Item.ACCOUNT_SETUP) ? "Account setup" : "Account settings"); final ViewLoader loader = new ViewLoader(getClass().getResource(navigationItem.getFxmlUrl())); try { - AnchorPane view = loader.load(); + Node view = loader.load(); + Tab tab = null; + switch (navigationItem) { + case ACCOUNT_SETTINGS: + tab = accountSettingsTab; + tab.setText("Account settings"); + case ACCOUNT_SETUP: + tab = accountSettingsTab; + tab.setText("Account setup"); + break; + case ARBITRATOR_SETTINGS: + tab = arbitratorSettingsTab; + break; + } + tab.setContent(view); + ((TabPane) root).getSelectionModel().select(tab); Initializable childController = loader.getController(); ((ViewCB) childController).setParent(this); diff --git a/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.fxml b/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.fxml new file mode 100644 index 0000000000..b4fe8c6109 --- /dev/null +++ b/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.fxml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + +