mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-19 15:26:03 -04:00
Fix UI bug with not displaying sub view
This commit is contained in:
parent
991ab56a97
commit
9bb4683379
@ -21,6 +21,7 @@ import io.bitsquare.gui.Navigation;
|
||||
import io.bitsquare.gui.common.view.*;
|
||||
import io.bitsquare.gui.main.MainView;
|
||||
import io.bitsquare.gui.main.account.arbitratorregistration.ArbitratorRegistrationView;
|
||||
import io.bitsquare.gui.main.account.content.paymentsaccount.PaymentAccountView;
|
||||
import io.bitsquare.gui.main.account.settings.AccountSettingsView;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.fxml.FXML;
|
||||
@ -43,6 +44,7 @@ public class AccountView extends ActivatableView<TabPane, AccountViewModel> {
|
||||
private View accountSetupWizardView;
|
||||
private Tab tab;
|
||||
private ArbitratorRegistrationView arbitratorRegistrationView;
|
||||
private AccountSettingsView accountSettingsView;
|
||||
|
||||
@Inject
|
||||
private AccountView(AccountViewModel model, CachingViewLoader viewLoader, Navigation navigation) {
|
||||
@ -59,10 +61,15 @@ public class AccountView extends ActivatableView<TabPane, AccountViewModel> {
|
||||
};
|
||||
|
||||
tabChangeListener = (ov, oldValue, newValue) -> {
|
||||
if (newValue == accountSettingsTab)
|
||||
navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class);
|
||||
else
|
||||
if (newValue == accountSettingsTab) {
|
||||
Class<? extends View> selectedViewClass = accountSettingsView.getSelectedViewClass();
|
||||
if (selectedViewClass == null)
|
||||
navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class, PaymentAccountView.class);
|
||||
else
|
||||
navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class, selectedViewClass);
|
||||
} else {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, ArbitratorRegistrationView.class);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -98,6 +105,7 @@ public class AccountView extends ActivatableView<TabPane, AccountViewModel> {
|
||||
|
||||
if (view instanceof AccountSettingsView) {
|
||||
tab = accountSettingsTab;
|
||||
accountSettingsView = (AccountSettingsView) view;
|
||||
tab.setText("Account settings");
|
||||
arbitratorRegistrationTab.setDisable(false);
|
||||
if (arbitratorRegistrationView != null)
|
||||
|
@ -56,6 +56,8 @@ public class AccountSettingsView extends ActivatableViewAndModel {
|
||||
@FXML
|
||||
private AnchorPane content;
|
||||
|
||||
private Class<? extends View> selecteedViewClass;
|
||||
|
||||
@Inject
|
||||
private AccountSettingsView(CachingViewLoader viewLoader, Navigation navigation) {
|
||||
this.viewLoader = viewLoader;
|
||||
@ -86,10 +88,12 @@ public class AccountSettingsView extends ActivatableViewAndModel {
|
||||
protected void activate() {
|
||||
navigation.addListener(listener);
|
||||
ViewPath viewPath = navigation.getCurrentPath();
|
||||
if (viewPath.size() == 3 && viewPath.indexOf(AccountSettingsView.class) == 2) {
|
||||
if (viewPath.size() == 3 && viewPath.indexOf(AccountSettingsView.class) == 2 ||
|
||||
viewPath.size() == 2 && viewPath.indexOf(AccountView.class) == 1) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, AccountSettingsView.class, PaymentAccountView.class);
|
||||
} else if (viewPath.size() == 4 && viewPath.indexOf(AccountSettingsView.class) == 2) {
|
||||
loadView(viewPath.get(3));
|
||||
selecteedViewClass = viewPath.get(3);
|
||||
loadView(selecteedViewClass);
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,6 +123,11 @@ public class AccountSettingsView extends ActivatableViewAndModel {
|
||||
// else if (view instanceof RegistrationView) registration.setSelected(true);
|
||||
//}
|
||||
}
|
||||
|
||||
public Class<? extends View> getSelectedViewClass() {
|
||||
return selecteedViewClass;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user