Skip to content

Commit

Permalink
Merge pull request #5071 from jmacxx/fix_issue_5067
Browse files Browse the repository at this point in the history
Show a confirmation of successfully sending BTC or BSQ from wallet
  • Loading branch information
ripcurlx authored Jan 14, 2021
2 parents 685d797 + 3984e8b commit 01bfbe7
Show file tree
Hide file tree
Showing 5 changed files with 128 additions and 0 deletions.
7 changes: 7 additions & 0 deletions core/src/main/resources/i18n/displayStrings.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2695,6 +2695,13 @@ tradeDetailsWindow.tradeState=Trade state
tradeDetailsWindow.agentAddresses=Arbitrator/Mediator
tradeDetailsWindow.detailData=Detail data

txDetailsWindow.headline=Transaction Details
txDetailsWindow.btc.note=You have sent BTC.
txDetailsWindow.bsq.note=You have sent BSQ funds. \
BSQ is colored bitcoin, so the transaction will not show in a BSQ explorer until it has been confirmed in a bitcoin block.
txDetailsWindow.sentTo=Sent to
txDetailsWindow.txId=TxId

walletPasswordWindow.headline=Enter password to unlock

torNetworkSettingWindow.header=Tor networks settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import bisq.desktop.main.funds.FundsView;
import bisq.desktop.main.funds.deposit.DepositView;
import bisq.desktop.main.overlays.popups.Popup;
import bisq.desktop.main.overlays.windows.TxDetailsBsq;
import bisq.desktop.main.overlays.windows.WalletPasswordWindow;
import bisq.desktop.util.GUIUtil;
import bisq.desktop.util.Layout;
Expand All @@ -45,6 +46,7 @@
import bisq.core.btc.wallet.WalletsManager;
import bisq.core.dao.state.model.blockchain.TxType;
import bisq.core.locale.Res;
import bisq.core.user.DontShowAgainLookup;
import bisq.core.util.FormattingUtils;
import bisq.core.util.coin.BsqFormatter;
import bisq.core.util.coin.CoinFormatter;
Expand Down Expand Up @@ -260,8 +262,12 @@ private void addSendBsqGroup() {
bsqFormatter,
btcFormatter,
() -> {
receiversAddressInputTextField.setValidator(null);
receiversAddressInputTextField.setText("");
receiversAddressInputTextField.setValidator(bsqAddressValidator);
amountInputTextField.setValidator(null);
amountInputTextField.setText("");
amountInputTextField.setValidator(bsqValidator);
});
} catch (BsqChangeBelowDustException e) {
String msg = Res.get("popup.warning.bsqChangeBelowDustException", bsqFormatter.formatCoinWithCode(e.getOutputValue()));
Expand Down Expand Up @@ -373,6 +379,12 @@ private void showPublishTxPopup(Coin receiverAmount,
@Override
public void onSuccess(Transaction transaction) {
log.debug("Successfully sent tx with id {}", txWithBtcFee.getTxId().toString());
String key = "showTransactionSentBsq";
if (DontShowAgainLookup.showAgain(key)) {
new TxDetailsBsq(txWithBtcFee.getTxId().toString(), address, amountFormatter.formatCoinWithCode(receiverAmount))
.dontShowAgainId(key)
.show();
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import bisq.desktop.components.HyperlinkWithIcon;
import bisq.desktop.components.TitledGroupBg;
import bisq.desktop.main.overlays.popups.Popup;
import bisq.desktop.main.overlays.windows.TxDetails;
import bisq.desktop.main.overlays.windows.WalletPasswordWindow;
import bisq.desktop.util.GUIUtil;
import bisq.desktop.util.Layout;
Expand All @@ -39,6 +40,7 @@
import bisq.core.locale.Res;
import bisq.core.trade.Trade;
import bisq.core.trade.TradeManager;
import bisq.core.user.DontShowAgainLookup;
import bisq.core.user.Preferences;
import bisq.core.util.FormattingUtils;
import bisq.core.util.ParsingUtils;
Expand Down Expand Up @@ -383,6 +385,12 @@ private void onWithdraw() {
@Override
public void onSuccess(@javax.annotation.Nullable Transaction transaction) {
if (transaction != null) {
String key = "showTransactionSent";
if (DontShowAgainLookup.showAgain(key)) {
new TxDetails(transaction.getTxId().toString(), withdrawToTextField.getText(), formatter.formatCoinWithCode(sendersAmount))
.dontShowAgainId(key)
.show();
}
log.debug("onWithdraw onSuccess tx ID:{}", transaction.getTxId().toString());
} else {
log.error("onWithdraw transaction is null");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* This file is part of Bisq.
*
* Bisq is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at
* your option) any later version.
*
* Bisq is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
* License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/

package bisq.desktop.main.overlays.windows;

import bisq.desktop.components.TxIdTextField;
import bisq.desktop.main.overlays.Overlay;

import bisq.core.locale.Res;

import javafx.scene.layout.GridPane;
import javafx.scene.layout.Region;

import static bisq.desktop.util.FormBuilder.*;

public class TxDetails extends Overlay<TxDetails> {

protected String txId, address, amount, note;
protected TxIdTextField txIdTextField;

public TxDetails(String txId, String address, String amount) {
type = Type.Attention;
this.txId = txId;
this.address = address;
this.amount = amount;
this.note = Res.get("txDetailsWindow.btc.note");
}

public void show() {
rowIndex = -1;
width = 918;
if (headLine == null)
headLine = Res.get("txDetailsWindow.headline");
createGridPane();
gridPane.setHgap(15);
addHeadLine();
addContent();
addButtons();
addDontShowAgainCheckBox();
applyStyles();
display();
}

protected void addContent() {
GridPane.setColumnSpan(
addMultilineLabel(gridPane, ++rowIndex, note, 0), 2);
Region spacer = new Region();
spacer.setMinHeight(20);
gridPane.add(spacer, 0, ++rowIndex);
addConfirmationLabelLabel(gridPane, ++rowIndex, Res.get("shared.amount"), amount);
addConfirmationLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, Res.get("txDetailsWindow.sentTo"), address);
txIdTextField = addLabelTxIdTextField(gridPane, ++rowIndex, Res.get("txDetailsWindow.txId"), txId).second;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* This file is part of Bisq.
*
* Bisq is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at
* your option) any later version.
*
* Bisq is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
* License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/

package bisq.desktop.main.overlays.windows;

import bisq.core.locale.Res;

public class TxDetailsBsq extends TxDetails {

public TxDetailsBsq(String txId, String address, String amount) {
super(txId, address, amount);
note = Res.get("txDetailsWindow.bsq.note");
}

protected void addContent() {
super.addContent();
txIdTextField.setBsq(true);
}
}

0 comments on commit 01bfbe7

Please sign in to comment.