mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2026-08-09 08:14:43 +00:00
dynamic blockchain form updating, minor tweaks
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.sparrowwallet.sparrow.control;
|
||||
|
||||
import tornadofx.control.Form;
|
||||
|
||||
public class DynamicForm extends Form {
|
||||
private DynamicUpdate dynamicUpdate;
|
||||
|
||||
public DynamicForm() {
|
||||
super();
|
||||
}
|
||||
|
||||
public void setDynamicUpdate(DynamicUpdate dynamicUpdate) {
|
||||
this.dynamicUpdate = dynamicUpdate;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void layoutChildren() {
|
||||
if(dynamicUpdate != null) {
|
||||
dynamicUpdate.update();
|
||||
}
|
||||
|
||||
super.layoutChildren();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.sparrowwallet.sparrow.control;
|
||||
|
||||
public interface DynamicUpdate {
|
||||
void update();
|
||||
}
|
||||
@@ -15,8 +15,8 @@ import org.controlsfx.control.ToggleSwitch;
|
||||
public class WelcomeDialog extends Dialog<Mode> {
|
||||
private static final String[] ELECTRUM_SERVERS = new String[]{
|
||||
"ElectrumX (Recommended)", "https://github.com/spesmilo/electrumx",
|
||||
"electrs (Experimental)", "https://github.com/romanz/electrs",
|
||||
"esplora-electrs (Experimental)", "https://github.com/Blockstream/electrs"};
|
||||
"electrs", "https://github.com/romanz/electrs",
|
||||
"esplora-electrs", "https://github.com/Blockstream/electrs"};
|
||||
|
||||
private final HostServices hostServices;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ import java.time.*;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class HeadersController extends TransactionFormController implements Initializable {
|
||||
public class HeadersController extends TransactionFormController implements Initializable, DynamicUpdate {
|
||||
private static final Logger log = LoggerFactory.getLogger(HeadersController.class);
|
||||
public static final String LOCKTIME_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||
public static final String BLOCK_TIMESTAMP_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss ZZZ";
|
||||
@@ -121,7 +121,7 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
private CopyableLabel feeRate;
|
||||
|
||||
@FXML
|
||||
private Form blockchainForm;
|
||||
private DynamicForm blockchainForm;
|
||||
|
||||
@FXML
|
||||
private Label blockStatus;
|
||||
@@ -410,6 +410,8 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
|
||||
EventManager.get().post(new RequestOpenWalletsEvent());
|
||||
}
|
||||
|
||||
blockchainForm.setDynamicUpdate(this);
|
||||
}
|
||||
|
||||
private void updateType() {
|
||||
@@ -493,6 +495,8 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
indicator = (ConfirmationProgressIndicator)blockStatus.getGraphic();
|
||||
indicator.setConfirmations(confirmations);
|
||||
}
|
||||
} else {
|
||||
blockStatus.setGraphic(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,6 +783,19 @@ public class HeadersController extends TransactionFormController implements Init
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
BlockTransaction blockTransaction = headersForm.getBlockTransaction();
|
||||
Sha256Hash txId = headersForm.getTransaction().getTxId();
|
||||
if(headersForm.getSigningWallet() != null && headersForm.getSigningWallet().getTransactions().containsKey(txId)) {
|
||||
blockTransaction = headersForm.getSigningWallet().getTransactions().get(txId);
|
||||
}
|
||||
|
||||
if(blockTransaction != null && AppController.getCurrentBlockHeight() != null) {
|
||||
updateBlockchainForm(blockTransaction, AppController.getCurrentBlockHeight());
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void transactionChanged(TransactionChangedEvent event) {
|
||||
if(headersForm.getTransaction().equals(event.getTransaction())) {
|
||||
|
||||
Reference in New Issue
Block a user