mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2026-08-10 00:27:00 +00:00
notifications preference
This commit is contained in:
@@ -926,30 +926,32 @@ public class AppController implements Initializable {
|
||||
|
||||
@Subscribe
|
||||
public void newWalletTransactions(NewWalletTransactionsEvent event) {
|
||||
String text = "New " + (event.getBlockTransactions().size() > 1 ? "transactions: " : "transaction: ");
|
||||
if(Config.get().isNotifyNewTransactions()) {
|
||||
String text = "New " + (event.getBlockTransactions().size() > 1 ? "transactions: " : "transaction: ");
|
||||
|
||||
BitcoinUnit unit = Config.get().getBitcoinUnit();
|
||||
if(unit == null || unit.equals(BitcoinUnit.AUTO)) {
|
||||
unit = (event.getTotalValue() >= BitcoinUnit.getAutoThreshold() ? BitcoinUnit.BTC : BitcoinUnit.SATOSHIS);
|
||||
BitcoinUnit unit = Config.get().getBitcoinUnit();
|
||||
if(unit == null || unit.equals(BitcoinUnit.AUTO)) {
|
||||
unit = (event.getTotalValue() >= BitcoinUnit.getAutoThreshold() ? BitcoinUnit.BTC : BitcoinUnit.SATOSHIS);
|
||||
}
|
||||
|
||||
if(unit == BitcoinUnit.BTC) {
|
||||
text += CoinLabel.getBTCFormat().format((double)event.getTotalValue() / Transaction.SATOSHIS_PER_BITCOIN) + " BTC";
|
||||
} else {
|
||||
text += String.format(Locale.ENGLISH, "%,d", event.getTotalValue()) + " sats";
|
||||
}
|
||||
|
||||
Image image = new Image("image/sparrow-small.png", 50, 50, false, false);
|
||||
Notifications notificationBuilder = Notifications.create()
|
||||
.title("Sparrow - " + event.getWallet().getName())
|
||||
.text(text)
|
||||
.graphic(new ImageView(image))
|
||||
.hideAfter(Duration.seconds(180))
|
||||
.position(Pos.TOP_RIGHT)
|
||||
.threshold(5, Notifications.create().title("Sparrow").text("Multiple new wallet transactions").graphic(new ImageView(image)))
|
||||
.onAction(e -> selectTab(event.getWallet()));
|
||||
|
||||
notificationBuilder.show();
|
||||
}
|
||||
|
||||
if(unit == BitcoinUnit.BTC) {
|
||||
text += CoinLabel.getBTCFormat().format((double)event.getTotalValue() / Transaction.SATOSHIS_PER_BITCOIN) + " BTC";
|
||||
} else {
|
||||
text += String.format(Locale.ENGLISH, "%,d", event.getTotalValue()) + " sats";
|
||||
}
|
||||
|
||||
Image image = new Image("image/sparrow-small.png", 50, 50, false, false);
|
||||
Notifications notificationBuilder = Notifications.create()
|
||||
.title("Sparrow - " + event.getWallet().getName())
|
||||
.text(text)
|
||||
.graphic(new ImageView(image))
|
||||
.hideAfter(Duration.seconds(180))
|
||||
.position(Pos.TOP_RIGHT)
|
||||
.threshold(5, Notifications.create().title("Sparrow").text("Multiple new wallet transactions").graphic(new ImageView(image)))
|
||||
.onAction(e -> selectTab(event.getWallet()));
|
||||
|
||||
notificationBuilder.show();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
||||
@@ -21,6 +21,7 @@ public class Config {
|
||||
private ExchangeSource exchangeSource;
|
||||
private boolean groupByAddress = true;
|
||||
private boolean includeMempoolChange = true;
|
||||
private boolean notifyNewTransactions = true;
|
||||
private Integer keyDerivationPeriod;
|
||||
private File hwi;
|
||||
private String electrumServer;
|
||||
@@ -123,6 +124,15 @@ public class Config {
|
||||
flush();
|
||||
}
|
||||
|
||||
public boolean isNotifyNewTransactions() {
|
||||
return notifyNewTransactions;
|
||||
}
|
||||
|
||||
public void setNotifyNewTransactions(boolean notifyNewTransactions) {
|
||||
this.notifyNewTransactions = notifyNewTransactions;
|
||||
flush();
|
||||
}
|
||||
|
||||
public Integer getKeyDerivationPeriod() {
|
||||
return keyDerivationPeriod;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,9 @@ public class GeneralPreferencesController extends PreferencesDetailController {
|
||||
@FXML
|
||||
private UnlabeledToggleSwitch includeMempoolChange;
|
||||
|
||||
@FXML
|
||||
private UnlabeledToggleSwitch notifyNewTransactions;
|
||||
|
||||
private final ChangeListener<Currency> fiatCurrencyListener = new ChangeListener<Currency>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends Currency> observable, Currency oldValue, Currency newValue) {
|
||||
@@ -78,6 +81,11 @@ public class GeneralPreferencesController extends PreferencesDetailController {
|
||||
includeMempoolChange.selectedProperty().addListener((observableValue, oldValue, newValue) -> {
|
||||
config.setIncludeMempoolChange(newValue);
|
||||
});
|
||||
|
||||
notifyNewTransactions.setSelected(config.isNotifyNewTransactions());
|
||||
notifyNewTransactions.selectedProperty().addListener((observableValue, oldValue, newValue) -> {
|
||||
config.setNotifyNewTransactions(newValue);
|
||||
});
|
||||
}
|
||||
|
||||
private void updateCurrencies(ExchangeSource exchangeSource) {
|
||||
|
||||
Reference in New Issue
Block a user