Commit Graph

861 Commits

Author SHA1 Message Date
Sander van Grieken a03b2d7bae qt,qml: add a welcome page as initial page for server connect wizard
This is much less intimidating than asking if the user wants to use a proxy
out of the gate.
2023-12-19 18:49:16 +01:00
Sander van Grieken 6e576f2a08 qml: fix cancelling network wizard not closing app 2023-12-19 18:37:53 +01:00
SomberNight 3b5b75325e qml: WCServerConfig.qml: only disable autoconnect if given server
if the user entered the server select screen and immediately clicked next,
a random server would get set but with auto_connect disabled.
2023-12-19 16:43:59 +00:00
SomberNight 2bc056ed33 wallet: refactor check_sighash/risk_of_burning_coins_as_fees
- risk_of_burning_coins_as_fees is turned into a private (helper) method, only called by check_sighash.
  UIs should only care about check_sighash.
- check_sighash returns instance of new class "TxSighashDanger" instead of tuple
- made warning levels more fine-grained (FEE_WARNING_SKIPCONFIRM vs FEE_WARNING_NEEDCONFIRM)
- this became more complicated than I had hoped for but I think it is worth it to ~merge
  check_sighash and risk_of_burning_coins_as_fees into one.

related https://github.com/spesmilo/electrum/pull/8699
2023-12-13 04:52:01 +00:00
Sander van Grieken a6ceeec09d qml: add frozen lightning to BalanceDetails, indent frozen on-chain and lightning amounts 2023-12-12 13:17:57 +01:00
Sander van Grieken 297f971fae qml: improve info text for incomplete transactions and transactions in mempool on transaction details page. 2023-12-12 12:11:37 +01:00
ThomasV 8199a6b5b2 Merge pull request #8733 from accumulator/remove_2fa_email
qt, qml: remove email entry from 2FA wallet ToS pages
2023-12-10 12:39:51 +01:00
Sander van Grieken d8d2426e83 qml: add local/remote SCID alias to ChannelDetails 2023-12-08 14:17:14 +01:00
Sander van Grieken 4c8287358a qt, qml: remove email entry from 2FA wallet ToS pages 2023-12-08 12:07:03 +01:00
Sander van Grieken b87d091a6d qt, qml: allow BIP39 seeds which fail checksum or wordlist (fixes #8720)
removes verifySeed from qebitcoin as this code was 99% duplicate of wizard.validate_seed
2023-12-06 16:12:57 +01:00
Sander van Grieken 24c28409b3 qt, qml: use lowercase bolt11 when copying or sharing 2023-12-04 16:42:49 +01:00
Sander van Grieken 26b5bec5af qml: small text change in proxy settings 2023-11-30 14:27:31 +01:00
Sander van Grieken 7b96a83350 wallet: add sighash check to class Abstract_Wallet
qml: use backend sighash check and add user confirmation path
qt: use backend sighash check and add user confirmation path
qml: include get_warning_for_risk_of_burning_coins_as_fees test in txdetails
qt: add warning icon to sighash warning
add sighash and fee checks to wallet.sign_transaction, making all warnings fatal unless ignore_warnings is set to True
tests: test sign_transaction on both code paths with ignore_warnings True and False,
raise specific exceptions TransactionPotentiallyDangerousException and TransactionDangerousException
2023-11-30 12:53:46 +01:00
Sander van Grieken ae9767880e ui: add icons for script type and deterministic wallet 2023-11-27 16:14:41 +01:00
SomberNight b18f9570fc qml wizard: fix creating imported wallet from camera: concat with space
The parser expects the list of keys/addrs to be whitespace-separated (no commas).
Same as line 61.
2023-11-24 20:48:04 +00:00
SomberNight 7f64ecc4bd wallet.bump_fee: the glorious return of BumpFeeStrategy :D
gui/qt/rbf_dialog.py (old) lines 57-64 were implementing logic that should not be part of GUI code.
Case in point, gui/qml/qetxfinalizer.py (old) lines 511-513 duplicated half of that logic but not the other half.
That logic is now moved to wallet.get_bumpfee_strategies_for_tx().

More context: a user on irc got confused when using the qml gui. They were sending "max" and wanted to bump_fee.
The qml gui selected the "preserve_payment" strategy by default, using which there was no solution, and the user
did not notice that the strategy can be altered (via the "method" dropdown). The qt gui had logic to select
"decrease_payment" by default in such a case (which does find a solution to bump) but this logic was not
duplicated in the qml gui.
Instead of duplicating the logic, this commit moves it to shared lib code.
2023-11-20 18:55:43 +00:00
Sander van Grieken 03dd38bfb8 qml: add support for ln address and openalias, fix lnurl finalize step,
avoid overloading invoiceParser with new payment identifiers while potentially long-running
resolve/finalize steps are ongoing, show errors inresolve/finalize steps to user.
2023-11-20 17:16:22 +01:00
Sander van Grieken b098be988e qml: show channel close tx(id) in ChannelDetails 2023-11-20 12:58:48 +01:00
Sander van Grieken a57a0d001b qml: make TextAreas more visible 2023-11-15 18:42:11 +01:00
Sander van Grieken f8eb2e8cf8 qml: resize menus according to content 2023-11-15 17:35:08 +01:00
Sander van Grieken 4ab973f93d followup 3793a6b6b6, remove leftovers 2023-11-14 17:22:05 +01:00
Sander van Grieken 3793a6b6b6 qml: use highlight pane for QR codes, refactor ReceiveDialog invoice select UI. 2023-11-14 17:19:27 +01:00
Sander van Grieken 86a45c668c few small fixes 2023-11-14 14:36:54 +01:00
Sander van Grieken 94b1df4a08 qml: small UI fix, wording. 2023-11-13 11:35:30 +01:00
ThomasV 4a3a61c6b0 Merge pull request #8678 from accumulator/qml_password_strength
qml: introduce PasswordStrengthIndicator control, and add to Password…
2023-11-11 09:52:52 +01:00
Sander van Grieken d1d4e19554 qml: txdetails: add lockDelay property when height is TX_HEIGHT_FUTURE and add mempool depth for height TX_HEIGHT_UNCONF_PARENT 2023-11-10 17:03:56 +01:00
ThomasV de0dc93a9d Merge pull request #8675 from accumulator/address_delete
qml: implement delete address for imported wallets
2023-11-10 15:23:29 +01:00
ThomasV 4252c30210 Merge pull request #8682 from accumulator/about_version
qml: remove APK version, add Qt and PyQt version strings to About page
2023-11-10 15:04:53 +01:00
Sander van Grieken 3967323842 qml: refactor ChannelDetails. Add funding outpoint 2023-11-10 13:02:55 +01:00
Sander van Grieken 2995bc8b37 qml: fix dialog not closing if dialog is shown/hidden more than once
most dialogs are destroyed when closed, therefore not hitting this bug,
but e.g. ChannelOpenProgressDialog is reused.
2023-11-10 11:59:22 +01:00
Sander van Grieken 42f323ac8d qml: remove APK version, add Qt and PyQt version strings to About page 2023-11-10 11:11:51 +01:00
Sander van Grieken 0fb47c87d2 qml: fixes for CloseChannelDialog;
- split RequestForceClose and LocalForceClose options, as request force close is only available if connected.
- disable no close policy on dialog, as it locks the user in the dialog if no succesful close is initiated.
  what this intended to do is keep the backing object QEChannelDetails alive until a result is obtained, to avoid
  exceptions when emitting the result signal. this is now handled more robustly, the user can leave the dialog
  without triggering exceptions later.
2023-11-10 10:58:08 +01:00
Sander van Grieken e011bd235b qml: implement delete address for imported wallets, and fix address list on address/key add. 2023-11-10 09:30:56 +01:00
Sander van Grieken 98264f64ad qml: introduce PasswordStrengthIndicator control, and add to PasswordDialog and WCWalletPassword 2023-11-10 09:30:31 +01:00
Sander van Grieken 047cc6f957 qml: remove attempt to unfocus by clicking dialog background
Doesn't really work as it triggers on events above the background it is defined on :(
2023-11-08 15:38:26 +01:00
Sander van Grieken 8798a45d70 qml: fix issue with width of fiat textedit on ReceiveDetailsDialog 2023-11-07 17:05:13 +01:00
Sander van Grieken 11d39cd942 qml: fix keyboard exclusion zone
turns out that Qt.inputMethod.keyboardRectangle.height is not suitable for calculating the exact keyboard
dimensions in Qt coordinates. Instead, use Qt.inputMethod.keyboardRectangle.y transformed to Qt coordinates
using Screen.devicePixelRatio

Note: Qt.inputMethod.keyboardRectangle stop being updated after exiting FLAG_SECURE state
(e.g. in seed or master key entry pages)
2023-11-07 10:32:00 +01:00
Sander van Grieken 32c1915de4 qml: restore Send/ScanDialog for desktop/dev, keeping qr scan Activity for android only.
Also use stable R package, regardless of APP_PACKAGE_DOMAIN used in build.
2023-11-07 10:17:10 +01:00
SomberNight 5c3e14d8de qml: replace Send/ScanDialog with java bases zxing qr scan activity. 2023-11-07 10:17:10 +01:00
Sander van Grieken db532dbd19 qml: android back-gesture conflict hack not working on qt6, replace with simple properties 2023-11-07 10:17:10 +01:00
Sander van Grieken a77ff9943a qml: refactor qr scan to qt6
As the method of capturing frames is totally different, the animation when
a QR is found has been removed.
2023-11-07 10:17:10 +01:00
Sander van Grieken 65d41ccc49 qml: qualify all signal handler parameters 2023-11-07 10:17:10 +01:00
Sander van Grieken ae446377f8 qml: work around toolbar layout not right-aligning indicators when indicators toggle visibility 2023-11-07 10:17:10 +01:00
Sander van Grieken 8b567ae447 qml: remove all QML imports version numbers 2023-11-07 10:17:08 +01:00
Sander van Grieken 6270eae5c9 qml: port PyQt5 to PyQt6 2023-11-07 10:16:18 +01:00
Sander van Grieken d6a6f56ddf qml: add ice crystal icon and use for (un)freeze buttons. 2023-11-02 13:06:48 +01:00
Sander van Grieken c694415b4b qml: add addresslist filter persistence 2023-11-01 18:23:16 +01:00
Sander van Grieken e88cf0a683 qml: addresses list formatting, add txid/outpoint and amount to filter 2023-11-01 17:17:16 +01:00
Sander van Grieken cf91d2e5cc qml: also show coins in Addresses page, and add a few filter options. Additionally, long press
now activates multi-select mode, and add action to (un)freeze selection.
2023-11-01 14:32:38 +01:00
Sander van Grieken af61b9d86b qml: also add share option for fallback address in InvoiceDialog 2023-11-01 11:38:47 +01:00