mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2024-12-24 12:46:45 +00:00
close message sign dialog on platform button and escape key
This commit is contained in:
parent
324540009a
commit
ea2f858dc9
1 changed files with 8 additions and 3 deletions
|
@ -51,6 +51,7 @@ public class MessageSignDialog extends Dialog<ButtonBar.ButtonData> {
|
||||||
private final Wallet wallet;
|
private final Wallet wallet;
|
||||||
private WalletNode walletNode;
|
private WalletNode walletNode;
|
||||||
private boolean electrumSignatureFormat;
|
private boolean electrumSignatureFormat;
|
||||||
|
private boolean closed;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verification only constructor
|
* Verification only constructor
|
||||||
|
@ -177,7 +178,7 @@ public class MessageSignDialog extends Dialog<ButtonBar.ButtonData> {
|
||||||
|
|
||||||
ButtonType signButtonType = new javafx.scene.control.ButtonType("Sign", ButtonBar.ButtonData.BACK_PREVIOUS);
|
ButtonType signButtonType = new javafx.scene.control.ButtonType("Sign", ButtonBar.ButtonData.BACK_PREVIOUS);
|
||||||
ButtonType verifyButtonType = new javafx.scene.control.ButtonType("Verify", ButtonBar.ButtonData.NEXT_FORWARD);
|
ButtonType verifyButtonType = new javafx.scene.control.ButtonType("Verify", ButtonBar.ButtonData.NEXT_FORWARD);
|
||||||
ButtonType doneButtonType = new javafx.scene.control.ButtonType("Done", ButtonBar.ButtonData.OK_DONE);
|
ButtonType doneButtonType = new javafx.scene.control.ButtonType("Done", ButtonBar.ButtonData.CANCEL_CLOSE);
|
||||||
|
|
||||||
if(buttons.length > 0) {
|
if(buttons.length > 0) {
|
||||||
dialogPane.getButtonTypes().addAll(buttons);
|
dialogPane.getButtonTypes().addAll(buttons);
|
||||||
|
@ -189,7 +190,7 @@ public class MessageSignDialog extends Dialog<ButtonBar.ButtonData> {
|
||||||
customSignButton.setOnAction(event -> {
|
customSignButton.setOnAction(event -> {
|
||||||
customSignButton.setDisable(true);
|
customSignButton.setDisable(true);
|
||||||
signMessage();
|
signMessage();
|
||||||
setResult(ButtonBar.ButtonData.OK_DONE);
|
setResult(ButtonBar.ButtonData.CANCEL_CLOSE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -240,9 +241,13 @@ public class MessageSignDialog extends Dialog<ButtonBar.ButtonData> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
EventManager.get().unregister(this);
|
if(!closed) {
|
||||||
|
EventManager.get().unregister(this);
|
||||||
|
closed = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AppServices.onEscapePressed(dialogPane.getScene(), () -> setResult(ButtonBar.ButtonData.CANCEL_CLOSE));
|
||||||
AppServices.moveToActiveWindowScreen(this);
|
AppServices.moveToActiveWindowScreen(this);
|
||||||
setResultConverter(dialogButton -> dialogButton == signButtonType || dialogButton == verifyButtonType ? ButtonBar.ButtonData.APPLY : dialogButton.getButtonData());
|
setResultConverter(dialogButton -> dialogButton == signButtonType || dialogButton == verifyButtonType ? ButtonBar.ButtonData.APPLY : dialogButton.getButtonData());
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue