Browse Source

disable lock all wallets menu item when all wallets are locked

terminal
Craig Raw 3 years ago
parent
commit
1ccfc3c042
  1. 16
      src/main/java/com/sparrowwallet/sparrow/AppController.java
  2. 2
      src/main/resources/com/sparrowwallet/sparrow/app.fxml

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

@ -156,6 +156,9 @@ public class AppController implements Initializable {
@FXML @FXML
private MenuItem lockWallet; private MenuItem lockWallet;
@FXML
private MenuItem lockAllWallets;
@FXML @FXML
private MenuItem searchWallet; private MenuItem searchWallet;
@ -1382,6 +1385,17 @@ public class AppController implements Initializable {
} }
} }
private boolean allWalletsLocked(Wallet lockingWallet) {
for(Tab tab : tabs.getTabs()) {
TabData tabData = (TabData)tab.getUserData();
if(tabData instanceof WalletTabData walletTabData && walletTabData.getWallet() != lockingWallet && !walletTabData.getWalletForm().isLocked()) {
return false;
}
}
return true;
}
public void searchWallet(ActionEvent event) { public void searchWallet(ActionEvent event) {
Tab selectedTab = tabs.getSelectionModel().getSelectedItem(); Tab selectedTab = tabs.getSelectionModel().getSelectedItem();
if(selectedTab != null) { if(selectedTab != null) {
@ -2557,6 +2571,7 @@ public class AppController implements Initializable {
if(selectedWalletForm != null && selectedWalletForm.getMasterWallet().equals(event.getWallet())) { if(selectedWalletForm != null && selectedWalletForm.getMasterWallet().equals(event.getWallet())) {
lockWallet.setDisable(true); lockWallet.setDisable(true);
exportWallet.setDisable(true); exportWallet.setDisable(true);
lockAllWallets.setDisable(allWalletsLocked(event.getWallet()));
} }
} }
@ -2566,6 +2581,7 @@ public class AppController implements Initializable {
if(selectedWalletForm != null && selectedWalletForm.getMasterWallet().equals(event.getWallet())) { if(selectedWalletForm != null && selectedWalletForm.getMasterWallet().equals(event.getWallet())) {
lockWallet.setDisable(false); lockWallet.setDisable(false);
exportWallet.setDisable(!event.getWallet().isValid()); exportWallet.setDisable(!event.getWallet().isValid());
lockAllWallets.setDisable(false);
} }
} }
} }

2
src/main/resources/com/sparrowwallet/sparrow/app.fxml

@ -102,7 +102,7 @@
<SeparatorMenuItem /> <SeparatorMenuItem />
<MenuItem fx:id="minimizeToTray" mnemonicParsing="false" text="Minimize to System Tray" accelerator="Shortcut+Y" onAction="#minimizeToTray"/> <MenuItem fx:id="minimizeToTray" mnemonicParsing="false" text="Minimize to System Tray" accelerator="Shortcut+Y" onAction="#minimizeToTray"/>
<MenuItem fx:id="lockWallet" mnemonicParsing="false" text="Lock Wallet" accelerator="Shortcut+L" onAction="#lockWallet"/> <MenuItem fx:id="lockWallet" mnemonicParsing="false" text="Lock Wallet" accelerator="Shortcut+L" onAction="#lockWallet"/>
<MenuItem mnemonicParsing="false" text="Lock All Wallets" accelerator="Shortcut+Shift+L" onAction="#lockWallets"/> <MenuItem fx:id="lockAllWallets" mnemonicParsing="false" text="Lock All Wallets" accelerator="Shortcut+Shift+L" onAction="#lockWallets"/>
<SeparatorMenuItem /> <SeparatorMenuItem />
<MenuItem fx:id="searchWallet" mnemonicParsing="false" text="Search Wallet" accelerator="Shortcut+Shift+S" onAction="#searchWallet"/> <MenuItem fx:id="searchWallet" mnemonicParsing="false" text="Search Wallet" accelerator="Shortcut+Shift+S" onAction="#searchWallet"/>
<MenuItem fx:id="refreshWallet" mnemonicParsing="false" text="Refresh Wallet" accelerator="Shortcut+R" onAction="#refreshWallet"/> <MenuItem fx:id="refreshWallet" mnemonicParsing="false" text="Refresh Wallet" accelerator="Shortcut+R" onAction="#refreshWallet"/>

Loading…
Cancel
Save