-
Notifications
You must be signed in to change notification settings - Fork 37.7k
qt: Add Create Unsigned button to SendConfirmationDialog #18789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@luke-jr suggested that such a button should be behind an expert mode thing but I'm not sure how to do that. It's not clear to me how that would look in the GUI. One thought I had was to have something like an "advanced options" box that could be hidden, but I don't know enough about Qt to implement such a thing. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Definitely an improvement from prior PRs. Have you looked at |
This is very scary: I don't think this model is a good place for this. It's main goal is to allow the user to check their transaction, not to make new decisions. I think the current behaviour of showing "the right" button is good enough for now. Under the hood it could be separate buttons of course, I don't care too deeply. I would prefer to add an option like "Create PSBT instead of sending transaction" in the Expert settings: This preference can later be stored in the wallet payload (so it becomes a per-wallet preference rather than global). See also "wallet config options" in #13044. |
I don't see how making new decisions is mutually exclusive with checking the transaction. Users are still checking the transaction.
The whole point of this is to move away from having private keys disabled change what buttons do. I disagree that showing "the right button" is a good design decision. |
I've added a checkbox in the options to enable/disable showing the |
Thanks for adding the setting. For watch-only wallets, the send screen still says That should be So I think your original approach of adding the Create Unsigned button in the Send screen (and the extra menu option for bump fee) was better, at least when combined with the setting you added. That way:
|
That could be changed to say "Create". I think "Create" is broad enough to imply "make and send" and "make unsigned".
The whole point of this PR is because that may confuse users. I also like this approach as it is simpler. |
47829d1
to
dcf43d6
Compare
284d0aa
to
fc2d0a9
Compare
fc2d0a9
to
768ef5c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing 768ef5c, does not compile on Arch Linux (kernel 5.8.16) with Qt 5.15.2.
Failures are related to QPainterPath
found in qt/trafficgraphwidget.cpp
Below are the failures:
qt/trafficgraphwidget.cpp:55:9: error: invalid use of incomplete type ‘class QPainterPath’
55 | path.moveTo(x, YMARGIN + h);
| ^~~~
qt/trafficgraphwidget.cpp:59:13: error: invalid use of incomplete type ‘class QPainterPath’
59 | path.lineTo(x, y);
| ^~~~
qt/trafficgraphwidget.cpp:61:9: error: invalid use of incomplete type ‘class QPainterPath’
61 | path.lineTo(x, YMARGIN + h);
| ^~~~
qt/trafficgraphwidget.cpp:109:22: error: aggregate ‘QPainterPath p’ has incomplete type and cannot be define
109 | QPainterPath p;
| ^
qt/trafficgraphwidget.cpp:116:22: error: aggregate ‘QPainterPath p’ has incomplete type and cannot be define
116 | QPainterPath p;
| ^
@jarolrod You probably need to merge with master... That's an old issue unrelated to this PR |
768ef5c
to
1601a71
Compare
1601a71
to
954ed37
Compare
954ed37
to
72e0239
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
Will think about the changes over and give this another sweep through tomorrow. Some feedback for now. Mainly translator comments.
tACK 72e0239 For the default wallet not much changes in the interface, unless the user opts into the advanced PSBT setting. So that's good. Although "Increase fee" can correctly create a PSBT, if you actually broadcast it the transaction list tab is confusing, because it doesn't mark the original as replaced (until it's confirmed). But that's a separate bug. |
72e0239
to
6e74c01
Compare
6e74c01
to
84077db
Compare
Instead of having different buttons or changing button behavior for making a PSBT, just have SendConfirmationDialog return whether the user wants a PSBT or a broadcasted transaction. Since this dialog is used by both the bumpFeeAction and the SendCoinsDialog, changes to both to support the different behavior is needed. They will check the return value of the SendConfirmationDialog for whether a PSBT needs to be created instead of checking whether private keys are disabled. Strings used in this dialog are being slightly modified to work with both private keys enabled and disabled wallets.
84077db
to
55c19f9
Compare
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
Moved to the GUI repo: bitcoin-core/gui#441 |
742918c qt: hide Create Unsigned button behind an expert mode option (Andrew Chow) 5c3b800 qt: Add Create Unsigned button to SendConfirmationDialog (Andrew Chow) Pull request description: Instead of having different buttons or changing button behavior for making a PSBT, just have SendConfirmationDialog return whether the user wants a PSBT or a broadcasted transaction. Since this dialog is used by both the bumpFeeAction and the SendCoinsDialog, changes to both to support the different behavior is needed. They will check the return value of the SendConfirmationDialog for whether a PSBT needs to be created instead of checking whether private keys are disabled. Strings used in this dialog are being slightly modified to work with both private keys enabled and disabled wallets. Moved from bitcoin/bitcoin#18789 ACKs for top commit: jarolrod: ACK 742918c ryanofsky: Code review ACK 742918c. Just suggested changes since last review. Looks great! hebasto: ACK 742918c, tested on Linux Mint 20.2 (Qt 5.12.8). Tree-SHA512: dd29f4364c7b4f15befe8fe63257b26187918786b005e0f8336183270b1a162680b93f6ced60f0285c6e607c084cc0d24950fc68a8f9c056521ede614041be66
Instead of having different buttons or changing button behavior for making a PSBT, just have SendConfirmationDialog return whether the user wants a PSBT or a broadcasted transaction. Since this dialog is used by both the bumpFeeAction and the SendCoinsDialog, changes to both to support the different behavior is needed. They will check the return value of the SendConfirmationDialog for whether a PSBT needs to be created instead of checking whether private keys are disabled.
Strings used in this dialog are being slightly modified to work with both private keys enabled and disabled wallets.
Supersedes #18656 and #18655