From 50046b6adc12939a8bda6bdd6faea19869dfd3cd Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 25 Nov 2014 01:15:49 +0100 Subject: [PATCH] Fix conditional logic in AccountView#activate --- .../gui/main/account/AccountView.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/bitsquare/gui/main/account/AccountView.java b/src/main/java/io/bitsquare/gui/main/account/AccountView.java index 8f9c46c337..730b6bafb8 100644 --- a/src/main/java/io/bitsquare/gui/main/account/AccountView.java +++ b/src/main/java/io/bitsquare/gui/main/account/AccountView.java @@ -57,7 +57,7 @@ public class AccountView extends ActivatableView { public void initialize() { navigationListener = viewPath -> { if (viewPath.size() == 3 && viewPath.indexOf(AccountView.class) == 1) - loadView(viewPath); + loadView(viewPath.tip()); }; tabChangeListener = (ov, oldValue, newValue) -> { @@ -73,16 +73,18 @@ public class AccountView extends ActivatableView { navigation.addListener(navigationListener); root.getSelectionModel().selectedItemProperty().addListener(tabChangeListener); - if (!navigation.getCurrentPath().contains(AccountView.class)) - return; - - if (model.getNeedRegistration()) - navigation.navigateTo(MainView.class, AccountView.class, AccountSetupWizard.class); - - else if (root.getSelectionModel().getSelectedItem() == accountSettingsTab) - navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class); - - navigation.navigateTo(MainView.class, AccountView.class, ArbitratorSettingsView.class); + if (navigation.getCurrentPath().size() == 2 && + navigation.getCurrentPath().get(1) == AccountView.class) { + if (model.getNeedRegistration()) { + navigation.navigateTo(MainView.class, AccountView.class, AccountSetupWizard.class); + } + else { + if (root.getSelectionModel().getSelectedItem() == accountSettingsTab) + navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class); + else + navigation.navigateTo(MainView.class, AccountView.class, ArbitratorSettingsView.class); + } + } } @Override @@ -91,9 +93,8 @@ public class AccountView extends ActivatableView { root.getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); } - private void loadView(ViewPath viewPath) { + private void loadView(Class viewClass) { Tab tab; - Class viewClass = viewPath.tip(); if (viewClass == AccountSettingsView.class) { tab = accountSettingsTab;