Skip to content

Commit 146e6cb

Browse files
committed
improve context menu item text fill on dark theme for default split menu buttons
1 parent e4fa0c9 commit 146e6cb

File tree

7 files changed

+25
-8
lines changed

7 files changed

+25
-8
lines changed

src/main/java/com/sparrowwallet/sparrow/control/CodexKeystoreImportPane.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private void createImportButton() {
9797
importButton = new SplitMenuButton();
9898
importButton.setAlignment(Pos.CENTER_RIGHT);
9999
importButton.setText("Import Keystore");
100-
importButton.getStyleClass().add("default-button");
100+
setDefaultButton(importButton);
101101
importButton.setOnAction(event -> {
102102
importButton.setDisable(true);
103103
importKeystore(getDefaultDerivation());

src/main/java/com/sparrowwallet/sparrow/control/DevicePane.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ private Node getPassphraseEntry() {
519519

520520
SplitMenuButton sendPassphraseButton = new SplitMenuButton();
521521
sendPassphraseButton.setText("Send Passphrase");
522-
sendPassphraseButton.getStyleClass().add("default-button");
522+
setDefaultButton(sendPassphraseButton);
523523
sendPassphraseButton.setOnAction(event -> {
524524
setExpanded(false);
525525
setDescription("Confirm passphrase on device...");
@@ -1124,7 +1124,7 @@ private void getAddress() {
11241124
private void showOperationButton() {
11251125
if(deviceOperation.equals(DeviceOperation.IMPORT)) {
11261126
if(defaultDevice) {
1127-
importButton.getStyleClass().add("default-button");
1127+
setDefaultButton(importButton);
11281128
}
11291129
importButton.setVisible(true);
11301130
showHideLink.setText("Show derivation...");
@@ -1148,7 +1148,7 @@ private void showOperationButton() {
11481148
showHideLink.setVisible(false);
11491149
} else if(deviceOperation.equals(DeviceOperation.GET_PRIVATE_KEY)) {
11501150
if(defaultDevice) {
1151-
getPrivateKeyButton.getStyleClass().add("default-button");
1151+
setDefaultButton(getPrivateKeyButton);
11521152
}
11531153
getPrivateKeyButton.setVisible(true);
11541154
showHideLink.setVisible(false);

src/main/java/com/sparrowwallet/sparrow/control/MnemonicKeystoreImportPane.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private void createImportButton() {
5858
importButton = new SplitMenuButton();
5959
importButton.setAlignment(Pos.CENTER_RIGHT);
6060
importButton.setText("Import Keystore");
61-
importButton.getStyleClass().add("default-button");
61+
setDefaultButton(importButton);
6262
importButton.setOnAction(event -> {
6363
importButton.setDisable(true);
6464
importKeystore(getDefaultDerivation(), false);

src/main/java/com/sparrowwallet/sparrow/control/MnemonicShareKeystoreImportPane.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ private void createImportButton() {
196196
importButton = new SplitMenuButton();
197197
importButton.setAlignment(Pos.CENTER_RIGHT);
198198
importButton.setText("Import Keystore");
199-
importButton.getStyleClass().add("default-button");
199+
setDefaultButton(importButton);
200200
importButton.setOnAction(event -> {
201201
importButton.setDisable(true);
202202
importKeystore(getDefaultDerivation(), false);

src/main/java/com/sparrowwallet/sparrow/control/TitledDescriptionPane.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.sparrowwallet.drongo.wallet.WalletModel;
66
import com.sparrowwallet.sparrow.AppServices;
77
import javafx.application.Platform;
8+
import javafx.collections.ListChangeListener;
89
import javafx.geometry.Insets;
910
import javafx.geometry.Pos;
1011
import javafx.scene.Node;
@@ -182,6 +183,22 @@ private void removeArrow(int count) {
182183
});
183184
}
184185

186+
protected static void setDefaultButton(ButtonBase button) {
187+
button.getStyleClass().add("default-button");
188+
if(button instanceof SplitMenuButton splitMenuButton) {
189+
for(MenuItem item : splitMenuButton.getItems()) {
190+
item.getStyleClass().add("default-button");
191+
}
192+
splitMenuButton.getItems().addListener((ListChangeListener<MenuItem>) c -> {
193+
while(c.next()) {
194+
for(MenuItem item : c.getAddedSubList()) {
195+
item.getStyleClass().add("default-button");
196+
}
197+
}
198+
});
199+
}
200+
}
201+
185202
protected static int getAccount(Wallet wallet, KeyDerivation requiredDerivation) {
186203
if(wallet == null || requiredDerivation == null) {
187204
return 0;

src/main/java/com/sparrowwallet/sparrow/control/XprvKeystoreImportPane.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ private void createImportButton() {
7979
importButton = new SplitMenuButton();
8080
importButton.setAlignment(Pos.CENTER_RIGHT);
8181
importButton.setText("Import Keystore");
82-
importButton.getStyleClass().add("default-button");
82+
setDefaultButton(importButton);
8383
importButton.setOnAction(event -> {
8484
importButton.setDisable(true);
8585
importKeystore(getDefaultDerivation());

src/main/resources/com/sparrowwallet/sparrow/darktheme.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
-fx-base: -fx-default-button;
3939
}
4040

41-
.split-menu-button.default-button > .label {
41+
.split-menu-button.default-button > .label, .menu-item.default-button > .label {
4242
-fx-text-fill: white;
4343
}
4444

0 commit comments

Comments
 (0)