Browse Source

notifications preference

bwt
Craig Raw 4 years ago
parent
commit
8aed206a34
  1. 2
      src/main/java/com/sparrowwallet/sparrow/AppController.java
  2. 10
      src/main/java/com/sparrowwallet/sparrow/io/Config.java
  3. 8
      src/main/java/com/sparrowwallet/sparrow/preferences/GeneralPreferencesController.java
  4. 6
      src/main/resources/com/sparrowwallet/sparrow/preferences/general.fxml

2
src/main/java/com/sparrowwallet/sparrow/AppController.java

@ -926,6 +926,7 @@ public class AppController implements Initializable {
@Subscribe
public void newWalletTransactions(NewWalletTransactionsEvent event) {
if(Config.get().isNotifyNewTransactions()) {
String text = "New " + (event.getBlockTransactions().size() > 1 ? "transactions: " : "transaction: ");
BitcoinUnit unit = Config.get().getBitcoinUnit();
@ -951,6 +952,7 @@ public class AppController implements Initializable {
notificationBuilder.show();
}
}
@Subscribe
public void statusUpdated(StatusEvent event) {

10
src/main/java/com/sparrowwallet/sparrow/io/Config.java

@ -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;
}

8
src/main/java/com/sparrowwallet/sparrow/preferences/GeneralPreferencesController.java

@ -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) {

6
src/main/resources/com/sparrowwallet/sparrow/preferences/general.fxml

@ -68,5 +68,11 @@
<HelpLabel helpText="Allow a wallet to spend UTXOs that are still in the mempool where all their inputs are from that wallet"/>
</Field>
</Fieldset>
<Fieldset inputGrow="SOMETIMES" text="Notifications" styleClass="wideLabelFieldSet">
<Field text="New transactions:">
<UnlabeledToggleSwitch fx:id="notifyNewTransactions" />
<HelpLabel helpText="Show system notifications on new wallet transactions"/>
</Field>
</Fieldset>
</Form>
</GridPane>

Loading…
Cancel
Save