mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 07:07:43 +01:00
Prevent duplicate activation of account views. Fixes #2053.
This commit is contained in:
parent
f3efe505bf
commit
ecc0424542
1 changed files with 20 additions and 16 deletions
|
@ -100,6 +100,8 @@ public class AccountView extends ActivatableView<TabPane, Void> {
|
|||
navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class);
|
||||
else
|
||||
loadView(viewPath.tip());
|
||||
} else {
|
||||
resetSelectedTab();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -115,22 +117,20 @@ public class AccountView extends ActivatableView<TabPane, Void> {
|
|||
};
|
||||
|
||||
tabChangeListener = (ov, oldValue, newValue) -> {
|
||||
if (arbitratorRegistrationTab != null) {
|
||||
if (arbitratorRegistrationTab != null && selectedTab != arbitratorRegistrationTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, ArbitratorRegistrationView.class);
|
||||
} else if (newValue == fiatAccountsTab) {
|
||||
} else if (newValue == fiatAccountsTab && selectedTab != fiatAccountsTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class);
|
||||
} else if (newValue == altcoinAccountsTab) {
|
||||
} else if (newValue == altcoinAccountsTab && selectedTab != altcoinAccountsTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, AltCoinAccountsView.class);
|
||||
} else if (newValue == notificationTab) {
|
||||
} else if (newValue == notificationTab && selectedTab != notificationTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, MobileNotificationsView.class);
|
||||
} else if (newValue == passwordTab) {
|
||||
} else if (newValue == passwordTab && selectedTab != passwordTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, PasswordView.class);
|
||||
} else if (newValue == seedwordsTab) {
|
||||
} else if (newValue == seedwordsTab && selectedTab != seedwordsTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, SeedWordsView.class);
|
||||
} else if (newValue == backupTab) {
|
||||
} else if (newValue == backupTab && selectedTab != backupTab) {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, BackupView.class);
|
||||
} else {
|
||||
navigation.navigateTo(MainView.class, AccountView.class, FiatAccountsView.class);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -202,13 +202,7 @@ public class AccountView extends ActivatableView<TabPane, Void> {
|
|||
private void loadView(Class<? extends View> viewClass) {
|
||||
View view = viewLoader.load(viewClass);
|
||||
|
||||
if (selectedTab != null && selectedTab.getContent() != null) {
|
||||
if (selectedTab.getContent() instanceof ScrollPane) {
|
||||
((ScrollPane) selectedTab.getContent()).setContent(null);
|
||||
} else {
|
||||
selectedTab.setContent(null);
|
||||
}
|
||||
}
|
||||
resetSelectedTab();
|
||||
|
||||
if (view instanceof ArbitratorRegistrationView) {
|
||||
if (arbitratorRegistrationTab != null) {
|
||||
|
@ -239,4 +233,14 @@ public class AccountView extends ActivatableView<TabPane, Void> {
|
|||
}
|
||||
root.getSelectionModel().select(selectedTab);
|
||||
}
|
||||
|
||||
private void resetSelectedTab() {
|
||||
if (selectedTab != null && selectedTab.getContent() != null) {
|
||||
if (selectedTab.getContent() instanceof ScrollPane) {
|
||||
((ScrollPane) selectedTab.getContent()).setContent(null);
|
||||
} else {
|
||||
selectedTab.setContent(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue