add view menu item to toggle address chunk display formatting

This commit is contained in:
Craig Raw
2026-02-05 15:38:41 +02:00
parent b11afdf2bb
commit efb81555bd
5 changed files with 53 additions and 14 deletions
@@ -138,6 +138,13 @@ public class AppController implements Initializable {
@FXML
private ToggleGroup unitFormat;
@FXML
private CheckMenuItem chunkAddresses;
@FXML
private CheckMenuItem hideEmptyUsedAddresses;
private static final BooleanProperty hideEmptyUsedAddressesProperty = new SimpleBooleanProperty();
@FXML
private ToggleGroup theme;
@@ -145,10 +152,6 @@ public class AppController implements Initializable {
private CheckMenuItem openWalletsInNewWindows;
private static final BooleanProperty openWalletsInNewWindowsProperty = new SimpleBooleanProperty();
@FXML
private CheckMenuItem hideEmptyUsedAddresses;
private static final BooleanProperty hideEmptyUsedAddressesProperty = new SimpleBooleanProperty();
@FXML
private CheckMenuItem hideAmounts;
@@ -373,6 +376,13 @@ public class AppController implements Initializable {
Optional<Toggle> selectedFormatToggle = unitFormat.getToggles().stream().filter(toggle -> selectedFormat.equals(toggle.getUserData())).findFirst();
selectedFormatToggle.ifPresent(toggle -> unitFormat.selectToggle(toggle));
chunkAddresses.setSelected(Config.get().isChunkAddresses());
if(Config.get().isChunkAddresses()) {
rootStack.getStyleClass().add("chunk-addresses");
}
hideEmptyUsedAddressesProperty.set(Config.get().isHideEmptyUsedAddresses());
hideEmptyUsedAddresses.selectedProperty().bindBidirectional(hideEmptyUsedAddressesProperty);
Theme configTheme = Config.get().getTheme();
if(configTheme == null) {
configTheme = Theme.LIGHT;
@@ -385,8 +395,6 @@ public class AppController implements Initializable {
openWalletsInNewWindowsProperty.set(Config.get().isOpenWalletsInNewWindows());
openWalletsInNewWindows.selectedProperty().bindBidirectional(openWalletsInNewWindowsProperty);
hideEmptyUsedAddressesProperty.set(Config.get().isHideEmptyUsedAddresses());
hideEmptyUsedAddresses.selectedProperty().bindBidirectional(hideEmptyUsedAddressesProperty);
hideAmounts.setSelected(Config.get().isHideAmounts());
useHdCameraResolutionProperty.set(Config.get().getWebcamResolution() == null || Config.get().getWebcamResolution().isWidescreenAspect());
useHdCameraResolution.selectedProperty().bindBidirectional(useHdCameraResolutionProperty);
@@ -946,6 +954,16 @@ public class AppController implements Initializable {
EventManager.get().post(new OpenWalletsNewWindowsStatusEvent(item.isSelected()));
}
public void chunkAddresses(ActionEvent event) {
CheckMenuItem item = (CheckMenuItem)event.getSource();
Config.get().setChunkAddresses(item.isSelected());
if(item.isSelected() && !rootStack.getStyleClass().contains("chunk-addresses")) {
rootStack.getStyleClass().add("chunk-addresses");
} else {
rootStack.getStyleClass().remove("chunk-addresses");
}
}
public void hideEmptyUsedAddresses(ActionEvent event) {
CheckMenuItem item = (CheckMenuItem)event.getSource();
Config.get().setHideEmptyUsedAddresses(item.isSelected());
@@ -47,6 +47,7 @@ public class Config {
private boolean checkNewVersions = true;
private Theme theme;
private boolean openWalletsInNewWindows = false;
private boolean chunkAddresses = true;
private boolean hideEmptyUsedAddresses = false;
private boolean hideAmounts = false;
private boolean showTransactionHex = true;
@@ -297,6 +298,15 @@ public class Config {
flush();
}
public boolean isChunkAddresses() {
return chunkAddresses;
}
public void setChunkAddresses(boolean chunkAddresses) {
this.chunkAddresses = chunkAddresses;
flush();
}
public boolean isHideEmptyUsedAddresses() {
return hideEmptyUsedAddresses;
}