Browse Source

dont open the same wallet twice

bwt
Craig Raw 4 years ago
parent
commit
10edf31e13
  1. 22
      src/main/java/com/sparrowwallet/sparrow/AppController.java

22
src/main/java/com/sparrowwallet/sparrow/AppController.java

@ -810,6 +810,18 @@ public class AppController implements Initializable {
if(result.isPresent() && result.get() == ButtonType.CANCEL) {
return;
}
//Close existing wallet first if open
for(Iterator<Tab> iter = tabs.getTabs().iterator(); iter.hasNext(); ) {
Tab tab = iter.next();
TabData tabData = (TabData)tab.getUserData();
if(tabData.getType() == TabData.TabType.WALLET) {
WalletTabData walletTabData = (WalletTabData) tabData;
if(walletTabData.getStorage().getWalletFile().equals(walletFile)) {
iter.remove();
}
}
}
}
Storage storage = new Storage(walletFile);
@ -837,6 +849,16 @@ public class AppController implements Initializable {
}
public Tab addWalletTab(Storage storage, Wallet wallet) {
for(Tab tab : tabs.getTabs()) {
TabData tabData = (TabData)tab.getUserData();
if(tabData.getType() == TabData.TabType.WALLET) {
WalletTabData walletTabData = (WalletTabData) tabData;
if(storage.getWalletFile().equals(walletTabData.getStorage().getWalletFile())) {
return tab;
}
}
}
try {
String name = storage.getWalletFile().getName();
if(name.endsWith(".json")) {

Loading…
Cancel
Save