Files
sparrow/src/main/java/com/sparrowwallet/sparrow/wallet/AddressesController.java
T
2020-12-01 12:45:26 +02:00

79 lines
2.6 KiB
Java

package com.sparrowwallet.sparrow.wallet;
import com.google.common.eventbus.Subscribe;
import com.sparrowwallet.drongo.KeyPurpose;
import com.sparrowwallet.drongo.wallet.WalletNode;
import com.sparrowwallet.sparrow.EventManager;
import com.sparrowwallet.sparrow.control.AddressTreeTable;
import com.sparrowwallet.sparrow.event.*;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import java.net.URL;
import java.util.List;
import java.util.ResourceBundle;
public class AddressesController extends WalletFormController implements Initializable {
@FXML
private AddressTreeTable receiveTable;
@FXML
private AddressTreeTable changeTable;
@Override
public void initialize(URL location, ResourceBundle resources) {
EventManager.get().register(this);
}
@Override
public void initializeView() {
receiveTable.initialize(getWalletForm().getNodeEntry(KeyPurpose.RECEIVE));
changeTable.initialize(getWalletForm().getNodeEntry(KeyPurpose.CHANGE));
}
@Subscribe
public void walletNodesChanged(WalletNodesChangedEvent event) {
if(event.getWallet().equals(walletForm.getWallet())) {
receiveTable.updateAll(getWalletForm().getNodeEntry(KeyPurpose.RECEIVE));
changeTable.updateAll(getWalletForm().getNodeEntry(KeyPurpose.CHANGE));
}
}
@Subscribe
public void walletHistoryChanged(WalletHistoryChangedEvent event) {
if(event.getWallet().equals(walletForm.getWallet())) {
List<WalletNode> receiveNodes = event.getReceiveNodes();
if(!receiveNodes.isEmpty()) {
receiveTable.updateHistory(receiveNodes);
}
List<WalletNode> changeNodes = event.getChangeNodes();
if(!changeNodes.isEmpty()) {
changeTable.updateHistory(changeNodes);
}
}
}
@Subscribe
public void walletEntryLabelChanged(WalletEntryLabelChangedEvent event) {
if(event.getWallet().equals(walletForm.getWallet())) {
receiveTable.updateLabel(event.getEntry());
changeTable.updateLabel(event.getEntry());
}
}
@Subscribe
public void bitcoinUnitChanged(BitcoinUnitChangedEvent event) {
receiveTable.setBitcoinUnit(getWalletForm().getWallet(), event.getBitcoinUnit());
changeTable.setBitcoinUnit(getWalletForm().getWallet(), event.getBitcoinUnit());
}
@Subscribe
public void walletUtxoStatusChanged(WalletUtxoStatusChangedEvent event) {
if(event.getWallet().equals(getWalletForm().getWallet())) {
receiveTable.refresh();
changeTable.refresh();
}
}
}