add separators to trade details

This commit is contained in:
woodser 2025-05-22 15:36:07 -04:00
parent 3d6eb66ee7
commit 114af583ae
No known key found for this signature in database
GPG key ID: 55A10DD48ADEE5EF
2 changed files with 25 additions and 6 deletions

View file

@ -383,7 +383,6 @@ public class OfferDetailsWindow extends Overlay<OfferDetailsWindow> {
if (offerChallenge != null) {
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("offerDetailsWindow.challenge"), offerChallenge);
}

View file

@ -46,6 +46,7 @@ import static haveno.desktop.util.FormBuilder.add2ButtonsWithBox;
import static haveno.desktop.util.FormBuilder.addConfirmationLabelTextArea;
import static haveno.desktop.util.FormBuilder.addConfirmationLabelTextField;
import static haveno.desktop.util.FormBuilder.addLabelTxIdTextField;
import static haveno.desktop.util.FormBuilder.addSeparator;
import static haveno.desktop.util.FormBuilder.addTitledGroupBg;
import haveno.desktop.util.Layout;
import haveno.network.p2p.NodeAddress;
@ -132,7 +133,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
Offer offer = trade.getOffer();
Contract contract = trade.getContract();
int rows = 5;
int rows = 9;
addTitledGroupBg(gridPane, ++rowIndex, rows, Res.get("tradeDetailsWindow.headline"));
boolean myOffer = tradeManager.isMyOffer(offer);
@ -153,14 +154,18 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
xmrDirectionInfo = toSpend;
}
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.xmrAmount") + xmrDirectionInfo,
HavenoUtils.formatXmr(trade.getAmount(), true));
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex,
VolumeUtil.formatVolumeLabel(offer.getCurrencyCode()) + counterCurrencyDirectionInfo,
VolumeUtil.formatVolumeWithCode(trade.getVolume()));
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.tradePrice"),
FormattingUtils.formatPrice(trade.getPrice()));
String paymentMethodText = Res.get(offer.getPaymentMethod().getId());
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.paymentMethod"), paymentMethodText);
// second group
@ -200,6 +205,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
addTitledGroupBg(gridPane, ++rowIndex, rows, Res.get("shared.details"), Layout.GROUP_DISTANCE);
addConfirmationLabelTextField(gridPane, rowIndex, Res.get("shared.tradeId"),
trade.getId(), Layout.TWICE_FIRST_ROW_AND_GROUP_DISTANCE);
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.tradeDate"),
DisplayUtils.formatDateTime(trade.getDate()));
String securityDeposit = Res.getWithColAndCap("shared.buyer") +
@ -209,20 +215,25 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
Res.getWithColAndCap("shared.seller") +
" " +
HavenoUtils.formatXmr(trade.getSellerSecurityDepositBeforeMiningFee(), true);
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.securityDeposit"), securityDeposit);
NodeAddress arbitratorNodeAddress = trade.getArbitratorNodeAddress();
if (arbitratorNodeAddress != null) {
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex,
Res.get("tradeDetailsWindow.agentAddresses"),
arbitratorNodeAddress.getFullAddress());
}
if (trade.getTradePeerNodeAddress() != null)
if (trade.getTradePeerNodeAddress() != null) {
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.tradePeersOnion"),
trade.getTradePeerNodeAddress().getFullAddress());
}
if (offer.getCombinedExtraInfo() != null && !offer.getCombinedExtraInfo().isEmpty()) {
addSeparator(gridPane, ++rowIndex);
TextArea textArea = addConfirmationLabelTextArea(gridPane, ++rowIndex, Res.get("payment.shared.extraInfo.offer"), "", 0).second;
textArea.setText(offer.getCombinedExtraInfo().trim());
textArea.setMaxHeight(200);
@ -236,6 +247,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
if (buyerPaymentAccountPayload != null) {
String paymentDetails = buyerPaymentAccountPayload.getPaymentDetails();
String postFix = " / " + buyersAccountAge;
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex,
Res.get("shared.paymentDetails", Res.get("shared.buyer")),
paymentDetails + postFix).second.setTooltip(new Tooltip(paymentDetails + postFix));
@ -243,21 +255,27 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
if (sellerPaymentAccountPayload != null) {
String paymentDetails = sellerPaymentAccountPayload.getPaymentDetails();
String postFix = " / " + sellersAccountAge;
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex,
Res.get("shared.paymentDetails", Res.get("shared.seller")),
paymentDetails + postFix).second.setTooltip(new Tooltip(paymentDetails + postFix));
}
if (buyerPaymentAccountPayload == null && sellerPaymentAccountPayload == null)
if (buyerPaymentAccountPayload == null && sellerPaymentAccountPayload == null) {
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("shared.paymentMethod"),
Res.get(contract.getPaymentMethodId()));
}
}
if (trade.getMaker().getDepositTxHash() != null)
if (trade.getMaker().getDepositTxHash() != null) {
addSeparator(gridPane, ++rowIndex);
addLabelTxIdTextField(gridPane, ++rowIndex, Res.get("shared.makerDepositTransactionId"),
trade.getMaker().getDepositTxHash());
if (trade.getTaker().getDepositTxHash() != null)
}
if (trade.getTaker().getDepositTxHash() != null) {
addLabelTxIdTextField(gridPane, ++rowIndex, Res.get("shared.takerDepositTransactionId"),
trade.getTaker().getDepositTxHash());
}
if (showDisputedTx) {
@ -269,6 +287,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
}
if (trade.hasFailed()) {
addSeparator(gridPane, ++rowIndex);
textArea = addConfirmationLabelTextArea(gridPane, ++rowIndex, Res.get("shared.errorMessage"), "", 0).second;
textArea.setText(trade.getErrorMessage());
textArea.setEditable(false);
@ -284,6 +303,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
textArea.scrollTopProperty().addListener(changeListener);
textArea.setScrollTop(30);
addSeparator(gridPane, ++rowIndex);
addConfirmationLabelTextField(gridPane, ++rowIndex, Res.get("tradeDetailsWindow.tradePhase"), trade.getPhase().name());
}