diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 002430c349..2c840138da 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -1119,7 +1119,7 @@ funds.reserved.noFunds=No funds are reserved in open offers funds.reserved.reserved=Reserved in local wallet funds.locked.noFunds=No funds are locked in trades -funds.locked.locked=Locked in multisig for trade with ID: {0} +funds.locked.locked=Locked in multisig funds.tx.direction.sentTo=Sent to: funds.tx.direction.receivedWith=Received with: diff --git a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedListItem.java b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedListItem.java index bf234e96e0..b7360a9881 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedListItem.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedListItem.java @@ -112,7 +112,7 @@ class LockedListItem implements FilterableListItem { public String getDetails() { return trade != null ? - Res.get("funds.locked.locked", trade.getShortId()) : + Res.get("funds.locked.locked") : Res.get("shared.noDetailsAvailable"); } diff --git a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.fxml b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.fxml index 622a8aeafb..67bd8075e7 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.fxml +++ b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.fxml @@ -35,8 +35,9 @@ - - + + + diff --git a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java index fc52fad573..c9aaba3c1f 100644 --- a/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java +++ b/desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java @@ -90,7 +90,7 @@ public class LockedView extends ActivatableView { @FXML TableView tableView; @FXML - TableColumn dateColumn, detailsColumn, addressColumn, balanceColumn; + TableColumn dateColumn, tradeIdColumn, detailsColumn, addressColumn, balanceColumn; @FXML Label numItems; @FXML @@ -138,6 +138,7 @@ public class LockedView extends ActivatableView { public void initialize() { filterBox.initialize(filteredList, tableView); dateColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.dateTime"))); + tradeIdColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.tradeId"))); detailsColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.details"))); addressColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.address"))); balanceColumn.setGraphic(new AutoTooltipLabel(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode()))); @@ -145,13 +146,15 @@ public class LockedView extends ActivatableView { tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.locked.noFunds"))); + setTradeIdColumnCellFactory(); setDateColumnCellFactory(); setDetailsColumnCellFactory(); setAddressColumnCellFactory(); setBalanceColumnCellFactory(); addressColumn.setComparator(Comparator.comparing(LockedListItem::getAddressString)); - detailsColumn.setComparator(Comparator.comparing(o -> o.getTrade().getId())); + tradeIdColumn.setComparator(Comparator.comparing(o -> o.getTrade().getId())); + detailsColumn.setComparator(Comparator.comparing(o -> o.getDetails())); balanceColumn.setComparator(Comparator.comparing(LockedListItem::getBalance)); dateColumn.setComparator(Comparator.comparing(o -> getTradable(o).map(Tradable::getDate).orElse(new Date(0)))); tableView.getSortOrder().add(dateColumn); @@ -196,9 +199,10 @@ public class LockedView extends ActivatableView { CSVEntryConverter contentConverter = item -> { String[] columns = new String[reportColumns]; columns[0] = item.getDateString(); - columns[1] = item.getDetails(); - columns[2] = item.getAddressString(); - columns[3] = item.getBalanceString(); + columns[1] = item.getTrade().getId(); + columns[2] = item.getDetails(); + columns[3] = item.getAddressString(); + columns[4] = item.getBalanceString(); return columns; }; @@ -302,9 +306,9 @@ public class LockedView extends ActivatableView { }); } - private void setDetailsColumnCellFactory() { - detailsColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue())); - detailsColumn.setCellFactory(new Callback<>() { + private void setTradeIdColumnCellFactory() { + tradeIdColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue())); + tradeIdColumn.setCellFactory(new Callback<>() { @Override public TableCell call(TableColumn { if (item != null && !empty) { Optional tradableOptional = getTradable(item); if (tradableOptional.isPresent()) { - field = new HyperlinkWithIcon(item.getDetails(), - AwesomeIcon.INFO_SIGN); + field = new HyperlinkWithIcon(item.getTrade().getId(), AwesomeIcon.INFO_SIGN); field.setOnAction(event -> openDetailPopup(item)); field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); } else { - setGraphic(new AutoTooltipLabel(item.getDetails())); + setGraphic(new AutoTooltipLabel(item.getTrade().getId())); } } else { @@ -340,6 +343,31 @@ public class LockedView extends ActivatableView { }); } + private void setDetailsColumnCellFactory() { + detailsColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue())); + detailsColumn.setCellFactory(new Callback<>() { + + @Override + public TableCell call(TableColumn column) { + return new TableCell<>() { + + private HyperlinkWithIcon field; + + @Override + public void updateItem(final LockedListItem item, boolean empty) { + super.updateItem(item, empty); + if (item != null && !empty) { + setGraphic(new AutoTooltipLabel(item.getDetails())); + } else { + setGraphic(null); + } + } + }; + } + }); + } + private void setAddressColumnCellFactory() { addressColumn.setCellValueFactory((addressListItem) -> new ReadOnlyObjectWrapper<>(addressListItem.getValue()));