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