mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2024-12-24 12:46:45 +00:00
locale and other windows related fixes
This commit is contained in:
parent
eb23cc8e61
commit
3c2dfed96d
5 changed files with 17 additions and 13 deletions
|
@ -97,11 +97,11 @@ run {
|
||||||
"--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx",
|
"--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx",
|
||||||
"--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx",
|
"--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx",
|
||||||
"--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx",
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx",
|
||||||
"--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx",
|
"--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx"]
|
||||||
"--add-opens=javafx.graphics/com.sun.glass.ui.mac=centerdevice.nsmenufx"]
|
|
||||||
|
|
||||||
if(os.macOsX) {
|
if(os.macOsX) {
|
||||||
applicationDefaultJvmArgs += ["-Xdock:name=Sparrow", "-Xdock:icon=/Users/scy/git/sparrow/src/main/resources/sparrow.png"]
|
applicationDefaultJvmArgs += ["-Xdock:name=Sparrow", "-Xdock:icon=/Users/scy/git/sparrow/src/main/resources/sparrow.png",
|
||||||
|
"--add-opens=javafx.graphics/com.sun.glass.ui.mac=centerdevice.nsmenufx"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,14 @@ import javafx.scene.control.TextFormatter;
|
||||||
import javafx.scene.control.TextInputControl;
|
import javafx.scene.control.TextInputControl;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.function.UnaryOperator;
|
import java.util.Locale;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class CoinTextFormatter extends TextFormatter<String> {
|
public class CoinTextFormatter extends TextFormatter<String> {
|
||||||
private static final Pattern COIN_VALIDATION = Pattern.compile("[\\d,]*(\\.\\d{0,8})?");
|
private static final Pattern COIN_VALIDATION = Pattern.compile("[\\d,]*(\\.\\d{0,8})?");
|
||||||
public static final DecimalFormat COIN_FORMAT = new DecimalFormat("###,###.########");
|
public static final DecimalFormat COIN_FORMAT = new DecimalFormat("###,###.########", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||||
|
|
||||||
public CoinTextFormatter() {
|
public CoinTextFormatter() {
|
||||||
super(new CoinFilter());
|
super(new CoinFilter());
|
||||||
|
|
|
@ -11,10 +11,12 @@ import javafx.scene.input.ClipboardContent;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.util.Currency;
|
import java.util.Currency;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
public class FiatLabel extends CopyableLabel {
|
public class FiatLabel extends CopyableLabel {
|
||||||
private static final DecimalFormat CURRENCY_FORMAT = new DecimalFormat("#,##0.00");
|
private static final DecimalFormat CURRENCY_FORMAT = new DecimalFormat("#,##0.00", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||||
|
|
||||||
private final LongProperty valueProperty = new SimpleLongProperty(-1);
|
private final LongProperty valueProperty = new SimpleLongProperty(-1);
|
||||||
private final DoubleProperty btcRateProperty = new SimpleDoubleProperty(0.0);
|
private final DoubleProperty btcRateProperty = new SimpleDoubleProperty(0.0);
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class Hwi {
|
||||||
public List<Device> enumerate(String passphrase) throws ImportException {
|
public List<Device> enumerate(String passphrase) throws ImportException {
|
||||||
try {
|
try {
|
||||||
List<String> command;
|
List<String> command;
|
||||||
if(passphrase != null) {
|
if(passphrase != null && !passphrase.isEmpty()) {
|
||||||
command = List.of(getHwiExecutable(Command.ENUMERATE).getAbsolutePath(), "--password", passphrase, Command.ENUMERATE.toString());
|
command = List.of(getHwiExecutable(Command.ENUMERATE).getAbsolutePath(), "--password", passphrase, Command.ENUMERATE.toString());
|
||||||
} else {
|
} else {
|
||||||
command = List.of(getHwiExecutable(Command.ENUMERATE).getAbsolutePath(), Command.ENUMERATE.toString());
|
command = List.of(getHwiExecutable(Command.ENUMERATE).getAbsolutePath(), Command.ENUMERATE.toString());
|
||||||
|
@ -72,7 +72,7 @@ public class Hwi {
|
||||||
public String getXpub(Device device, String passphrase, String derivationPath) throws ImportException {
|
public String getXpub(Device device, String passphrase, String derivationPath) throws ImportException {
|
||||||
try {
|
try {
|
||||||
String output;
|
String output;
|
||||||
if(passphrase != null && device.getModel().equals(WalletModel.TREZOR_1)) {
|
if(passphrase != null && !passphrase.isEmpty() && device.getModel().equals(WalletModel.TREZOR_1)) {
|
||||||
output = execute(getDeviceCommand(device, passphrase, Command.GET_XPUB, derivationPath));
|
output = execute(getDeviceCommand(device, passphrase, Command.GET_XPUB, derivationPath));
|
||||||
} else {
|
} else {
|
||||||
output = execute(getDeviceCommand(device, Command.GET_XPUB, derivationPath));
|
output = execute(getDeviceCommand(device, Command.GET_XPUB, derivationPath));
|
||||||
|
@ -103,7 +103,7 @@ public class Hwi {
|
||||||
}
|
}
|
||||||
|
|
||||||
String output;
|
String output;
|
||||||
if(passphrase != null && device.getModel().equals(WalletModel.TREZOR_1)) {
|
if(passphrase != null && !passphrase.isEmpty() && device.getModel().equals(WalletModel.TREZOR_1)) {
|
||||||
output = execute(getDeviceCommand(device, passphrase, Command.DISPLAY_ADDRESS, "--path", derivationPath, type));
|
output = execute(getDeviceCommand(device, passphrase, Command.DISPLAY_ADDRESS, "--path", derivationPath, type));
|
||||||
} else {
|
} else {
|
||||||
output = execute(getDeviceCommand(device, Command.DISPLAY_ADDRESS, "--path", derivationPath, type));
|
output = execute(getDeviceCommand(device, Command.DISPLAY_ADDRESS, "--path", derivationPath, type));
|
||||||
|
@ -125,7 +125,7 @@ public class Hwi {
|
||||||
String psbtBase64 = psbt.toBase64String();
|
String psbtBase64 = psbt.toBase64String();
|
||||||
|
|
||||||
String output;
|
String output;
|
||||||
if(passphrase != null && device.getModel().equals(WalletModel.TREZOR_1)) {
|
if(passphrase != null && !passphrase.isEmpty() && device.getModel().equals(WalletModel.TREZOR_1)) {
|
||||||
output = execute(getDeviceCommand(device, passphrase, Command.SIGN_TX, psbtBase64));
|
output = execute(getDeviceCommand(device, passphrase, Command.SIGN_TX, psbtBase64));
|
||||||
} else {
|
} else {
|
||||||
output = execute(getDeviceCommand(device, Command.SIGN_TX, psbtBase64));
|
output = execute(getDeviceCommand(device, Command.SIGN_TX, psbtBase64));
|
||||||
|
|
|
@ -35,6 +35,7 @@ import org.controlsfx.validation.decoration.StyleClassValidationDecoration;
|
||||||
|
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -180,7 +181,7 @@ public class SendController extends WalletFormController implements Initializabl
|
||||||
amountUnit.valueProperty().addListener((observable, oldValue, newValue) -> {
|
amountUnit.valueProperty().addListener((observable, oldValue, newValue) -> {
|
||||||
Long value = getRecipientValueSats(oldValue);
|
Long value = getRecipientValueSats(oldValue);
|
||||||
if(value != null) {
|
if(value != null) {
|
||||||
DecimalFormat df = new DecimalFormat("#.#");
|
DecimalFormat df = new DecimalFormat("#.#", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||||
df.setMaximumFractionDigits(8);
|
df.setMaximumFractionDigits(8);
|
||||||
amount.setText(df.format(newValue.getValue(value)));
|
amount.setText(df.format(newValue.getValue(value)));
|
||||||
}
|
}
|
||||||
|
@ -374,7 +375,7 @@ public class SendController extends WalletFormController implements Initializabl
|
||||||
|
|
||||||
private void setRecipientValueSats(long recipientValue) {
|
private void setRecipientValueSats(long recipientValue) {
|
||||||
amount.textProperty().removeListener(amountListener);
|
amount.textProperty().removeListener(amountListener);
|
||||||
DecimalFormat df = new DecimalFormat("#.#");
|
DecimalFormat df = new DecimalFormat("#.#", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||||
df.setMaximumFractionDigits(8);
|
df.setMaximumFractionDigits(8);
|
||||||
amount.setText(df.format(amountUnit.getValue().getValue(recipientValue)));
|
amount.setText(df.format(amountUnit.getValue().getValue(recipientValue)));
|
||||||
amount.textProperty().addListener(amountListener);
|
amount.textProperty().addListener(amountListener);
|
||||||
|
@ -395,7 +396,7 @@ public class SendController extends WalletFormController implements Initializabl
|
||||||
|
|
||||||
private void setFeeValueSats(long feeValue) {
|
private void setFeeValueSats(long feeValue) {
|
||||||
fee.textProperty().removeListener(feeListener);
|
fee.textProperty().removeListener(feeListener);
|
||||||
DecimalFormat df = new DecimalFormat("#.#");
|
DecimalFormat df = new DecimalFormat("#.#", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||||
df.setMaximumFractionDigits(8);
|
df.setMaximumFractionDigits(8);
|
||||||
fee.setText(df.format(feeAmountUnit.getValue().getValue(feeValue)));
|
fee.setText(df.format(feeAmountUnit.getValue().getValue(feeValue)));
|
||||||
fee.textProperty().addListener(feeListener);
|
fee.textProperty().addListener(feeListener);
|
||||||
|
|
Loading…
Reference in a new issue