mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2026-08-10 08:37:05 +00:00
79 lines
2.6 KiB
Java
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();
|
|
}
|
|
}
|
|
}
|