diff --git a/src/main/java/com/sparrowwallet/sparrow/control/CodexKeystoreImportPane.java b/src/main/java/com/sparrowwallet/sparrow/control/CodexKeystoreImportPane.java index cd5d390f..deaf96c3 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/CodexKeystoreImportPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/CodexKeystoreImportPane.java @@ -97,7 +97,7 @@ public class CodexKeystoreImportPane extends TitledDescriptionPane { importButton = new SplitMenuButton(); importButton.setAlignment(Pos.CENTER_RIGHT); importButton.setText("Import Keystore"); - importButton.getStyleClass().add("default-button"); + setDefaultButton(importButton); importButton.setOnAction(event -> { importButton.setDisable(true); importKeystore(getDefaultDerivation()); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/DevicePane.java b/src/main/java/com/sparrowwallet/sparrow/control/DevicePane.java index e4137a94..0a5d98c5 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/DevicePane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/DevicePane.java @@ -519,7 +519,7 @@ public class DevicePane extends TitledDescriptionPane { SplitMenuButton sendPassphraseButton = new SplitMenuButton(); sendPassphraseButton.setText("Send Passphrase"); - sendPassphraseButton.getStyleClass().add("default-button"); + setDefaultButton(sendPassphraseButton); sendPassphraseButton.setOnAction(event -> { setExpanded(false); setDescription("Confirm passphrase on device..."); @@ -1124,7 +1124,7 @@ public class DevicePane extends TitledDescriptionPane { private void showOperationButton() { if(deviceOperation.equals(DeviceOperation.IMPORT)) { if(defaultDevice) { - importButton.getStyleClass().add("default-button"); + setDefaultButton(importButton); } importButton.setVisible(true); showHideLink.setText("Show derivation..."); @@ -1148,7 +1148,7 @@ public class DevicePane extends TitledDescriptionPane { showHideLink.setVisible(false); } else if(deviceOperation.equals(DeviceOperation.GET_PRIVATE_KEY)) { if(defaultDevice) { - getPrivateKeyButton.getStyleClass().add("default-button"); + setDefaultButton(getPrivateKeyButton); } getPrivateKeyButton.setVisible(true); showHideLink.setVisible(false); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/MnemonicKeystoreImportPane.java b/src/main/java/com/sparrowwallet/sparrow/control/MnemonicKeystoreImportPane.java index 2372ab35..8ef08545 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/MnemonicKeystoreImportPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/MnemonicKeystoreImportPane.java @@ -58,7 +58,7 @@ public class MnemonicKeystoreImportPane extends MnemonicKeystorePane { importButton = new SplitMenuButton(); importButton.setAlignment(Pos.CENTER_RIGHT); importButton.setText("Import Keystore"); - importButton.getStyleClass().add("default-button"); + setDefaultButton(importButton); importButton.setOnAction(event -> { importButton.setDisable(true); importKeystore(getDefaultDerivation(), false); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/MnemonicShareKeystoreImportPane.java b/src/main/java/com/sparrowwallet/sparrow/control/MnemonicShareKeystoreImportPane.java index 906659b8..a3885f16 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/MnemonicShareKeystoreImportPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/MnemonicShareKeystoreImportPane.java @@ -196,7 +196,7 @@ public class MnemonicShareKeystoreImportPane extends MnemonicKeystorePane { importButton = new SplitMenuButton(); importButton.setAlignment(Pos.CENTER_RIGHT); importButton.setText("Import Keystore"); - importButton.getStyleClass().add("default-button"); + setDefaultButton(importButton); importButton.setOnAction(event -> { importButton.setDisable(true); importKeystore(getDefaultDerivation(), false); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/TitledDescriptionPane.java b/src/main/java/com/sparrowwallet/sparrow/control/TitledDescriptionPane.java index 84f8c24d..2882cc2d 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/TitledDescriptionPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/TitledDescriptionPane.java @@ -5,6 +5,7 @@ import com.sparrowwallet.drongo.wallet.Wallet; import com.sparrowwallet.drongo.wallet.WalletModel; import com.sparrowwallet.sparrow.AppServices; import javafx.application.Platform; +import javafx.collections.ListChangeListener; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Node; @@ -182,6 +183,22 @@ public class TitledDescriptionPane extends TitledPane { }); } + protected static void setDefaultButton(ButtonBase button) { + button.getStyleClass().add("default-button"); + if(button instanceof SplitMenuButton splitMenuButton) { + for(MenuItem item : splitMenuButton.getItems()) { + item.getStyleClass().add("default-button"); + } + splitMenuButton.getItems().addListener((ListChangeListener) c -> { + while(c.next()) { + for(MenuItem item : c.getAddedSubList()) { + item.getStyleClass().add("default-button"); + } + } + }); + } + } + protected static int getAccount(Wallet wallet, KeyDerivation requiredDerivation) { if(wallet == null || requiredDerivation == null) { return 0; diff --git a/src/main/java/com/sparrowwallet/sparrow/control/XprvKeystoreImportPane.java b/src/main/java/com/sparrowwallet/sparrow/control/XprvKeystoreImportPane.java index e7c15ba5..06a16eb7 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/XprvKeystoreImportPane.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/XprvKeystoreImportPane.java @@ -79,7 +79,7 @@ public class XprvKeystoreImportPane extends TitledDescriptionPane { importButton = new SplitMenuButton(); importButton.setAlignment(Pos.CENTER_RIGHT); importButton.setText("Import Keystore"); - importButton.getStyleClass().add("default-button"); + setDefaultButton(importButton); importButton.setOnAction(event -> { importButton.setDisable(true); importKeystore(getDefaultDerivation()); diff --git a/src/main/resources/com/sparrowwallet/sparrow/darktheme.css b/src/main/resources/com/sparrowwallet/sparrow/darktheme.css index c7d721a2..477a769d 100644 --- a/src/main/resources/com/sparrowwallet/sparrow/darktheme.css +++ b/src/main/resources/com/sparrowwallet/sparrow/darktheme.css @@ -38,7 +38,7 @@ -fx-base: -fx-default-button; } -.split-menu-button.default-button > .label { +.split-menu-button.default-button > .label, .menu-item.default-button > .label { -fx-text-fill: white; }