mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2026-08-10 08:37:05 +00:00
add show transaction as qr button to signed transaction tab when offline
* [feature/1630] Add QR code button on signed transaction screen * [feature/1630] Button positioning improvements * [feature/1630] Added owner to qrDisplayDialog
This commit is contained in:
@@ -9,6 +9,7 @@ import com.sparrowwallet.drongo.psbt.PSBT;
|
||||
import com.sparrowwallet.drongo.psbt.PSBTInput;
|
||||
import com.sparrowwallet.drongo.uri.BitcoinURI;
|
||||
import com.sparrowwallet.drongo.wallet.*;
|
||||
import com.sparrowwallet.hummingbird.UR;
|
||||
import com.sparrowwallet.hummingbird.registry.CryptoPSBT;
|
||||
import com.sparrowwallet.sparrow.AppServices;
|
||||
import com.sparrowwallet.sparrow.EventManager;
|
||||
@@ -227,6 +228,9 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
@FXML
|
||||
private Button broadcastButton;
|
||||
|
||||
@FXML
|
||||
private Button showTransactionButton;
|
||||
|
||||
@FXML
|
||||
private Button saveFinalButton;
|
||||
|
||||
@@ -461,6 +465,8 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
broadcastProgressBar.visibleProperty().bind(signaturesProgressBar.visibleProperty().not());
|
||||
|
||||
broadcastButton.managedProperty().bind(broadcastButton.visibleProperty());
|
||||
showTransactionButton.managedProperty().bind(showTransactionButton.visibleProperty());
|
||||
showTransactionButton.visibleProperty().bind(broadcastButton.visibleProperty().not());
|
||||
saveFinalButton.managedProperty().bind(saveFinalButton.visibleProperty());
|
||||
saveFinalButton.visibleProperty().bind(broadcastButton.visibleProperty().not());
|
||||
broadcastButton.visibleProperty().bind(AppServices.onlineProperty());
|
||||
@@ -1255,6 +1261,21 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
broadcastTransactionService.start();
|
||||
}
|
||||
|
||||
public void showTransaction(ActionEvent event) {
|
||||
try {
|
||||
Transaction transaction = headersForm.getPsbt().extractTransaction();
|
||||
byte[] txBytes = transaction.bitcoinSerialize();
|
||||
UR ur = UR.fromBytes(txBytes);
|
||||
BBQR bbqr = new BBQR(BBQRType.TXN, txBytes);
|
||||
QRDisplayDialog qrDisplayDialog = new QRDisplayDialog(ur, bbqr, false, false, false);
|
||||
qrDisplayDialog.initOwner(showTransactionButton.getScene().getWindow());
|
||||
qrDisplayDialog.showAndWait();
|
||||
} catch (Exception exception) {
|
||||
log.error("Error creating UR", exception);
|
||||
AppServices.showErrorDialog("Error displaying transaction QR code", exception.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void saveFinalTransaction(ActionEvent event) {
|
||||
Stage window = new Stage();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user