Commit Graph

104 Commits

Author SHA1 Message Date
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
f8eb2e8cf8 qml: resize menus according to content 2023-11-15 17:35:08 +01:00
Sander van Grieken
94b1df4a08 qml: small UI fix, wording. 2023-11-13 11:35:30 +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
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
8b567ae447 qml: remove all QML imports version numbers 2023-11-07 10:17:08 +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
e5e1e46b7b qml: add message sign/verify 2023-09-26 11:28:55 +02:00
Sander van Grieken
3c232d70d1 small fixes 2023-09-20 14:34:31 +02:00
Sander van Grieken
a740a20fc2 qml: pass the invoice/invoiceparser to payOnchain 2023-09-01 15:44:24 +02:00
Sander van Grieken
c348d4d7ce follow-up 0a804607a4, don't ask confirmation for regular onchain invoices 2023-09-01 15:08:01 +02:00
Sander van Grieken
0a804607a4 qml: properly suggest paying bolt11 invoice onchain if insufficient LN balance.
Also, if fallback address is present, don't warn on bolt11 and no ln channels.
2023-09-01 15:03:44 +02:00
SomberNight
d663d92424 qml: handle importChannelBackupFailed in WalletMainView
error was not being shown when scanning/pasting channel backup from Send screen
2023-08-10 14:46:00 +00:00
Sander van Grieken
04c9078955 qml: show pay_invoice error to user 2023-05-15 11:56:40 +02:00
SomberNight
312e50e9a9 qml: send screen: bip21: fallback to onchain addr if no LN channels
given a bip21 uri that has both onchain addr and bolt11,
if we have LN enabled but no LN channels, auto-fallback to paying onchain

we will have to clean up and unify this logic between GUIs. becoming spaghetti :/
rumour has it, Thomas has a branch? :P
2023-04-25 22:23:24 +00:00
Sander van Grieken
264540e12b qml: consistency camelcase public slots qedaemon, qeinvoice, qewizard 2023-04-25 13:40:16 +02:00
Sander van Grieken
61179ede8c qml: consistency camelcase qewallet 2023-04-25 13:33:15 +02:00
Sander van Grieken
5ead4feabb qml: wallet menu wider to fit wide translated texts 2023-04-24 17:24:22 +02:00
SomberNight
2ec4758a12 qml: follow-up fix for offline-signing pre-segwit tx
follow-up 3cec6cdcfb
2023-04-21 17:14:49 +00:00
Sander van Grieken
3cec6cdcfb qml: second part of partially signing tx while not having txid yet 2023-04-21 15:09:33 +02:00
ThomasV
5e29b94561 qml MessageDialog: split messages into title and header message. hide header if it is empty. 2023-04-18 14:07:41 +02:00
Sander van Grieken
62af3265cb qml: disable menu option associated with current page 2023-04-17 15:36:13 +02:00
Sander van Grieken
9bbc354e0e qml: refactor txaccepted/txcancelled signals to standard accepted/rejected. 2023-04-11 12:13:41 +02:00
Sander van Grieken
75f63a4666 qml: remove yesClicked signal, use accept()/accepted signal in MessageDialog. 2023-04-11 10:22:48 +02:00
Sander van Grieken
6c65161d27 qml: refactor qeinvoice.py
QEInvoice/QEInvoiceParser now properly split for mapping to Invoice type (QEInvoice)
and parsing/resolving of payment identifiers (QEInvoiceParser).
additionally, old, unused QEUserEnteredPayment was removed.

invoices are now never saved with user-entered amount if the original invoice
did not specify an amount (e.g. address-only, no-amount bip21 uri, or no-amount
lightning invoice). Furthermore, QEInvoice now adds an isSaved property so the
UI doesn't need to infer that from the existence of the invoice key.

Payments of lightning invoices are now triggered through QEInvoice.pay_lightning_invoice(),
using the internally kept Invoice instance. This replaces the old call path of
QEWallet.pay_lightning_invoice(invoice_key) which required the invoice to be saved
in the backend wallet before payment.

The LNURLpay flow arriving on InvoiceDialog implicitly triggered payment, this is
now indicated by InvoiceDialog.payImmediately property instead of inferrred from the
QEInvoiceParser isLnurlPay property.
2023-04-04 16:13:00 +02:00
Sander van Grieken
2f9ecf3311 qml: combine Connections on same target 2023-04-04 13:22:58 +02:00
Sander van Grieken
ffac79c324 qml: follupup prev 2023-04-03 10:27:33 +02:00
Sander van Grieken
4c87773174 qml: move user_knowns_press_and_hold to config 2023-04-03 10:26:03 +02:00
ThomasV
198ca10cd0 qml: add InfoTextArea about PressAndHold 2023-04-02 11:15:28 +02:00
ThomasV
986955a6e8 qml: allow user to delete invoices and requests from the list screen
also, delete expired requests before loading list
2023-03-31 20:00:29 +02:00
Sander van Grieken
b8aa87ded8 qml: handle phase-2 lnurl errors from within WalletMainView, add sanity check on
the bolt11 invoice we get from the service
2023-03-31 13:21:11 +02:00
Sander van Grieken
df44a5c361 qml: port over 'show_qr to warn if QR code is missing data' 2023-03-31 10:50:11 +02:00
ThomasV
ea46d3c318 qml create request: if no address is available, show how to access
the list of pending requests.
2023-03-31 10:22:16 +02:00
ThomasV
4647fda04f qml: show invoices/requests lists through long press
I think we can re-enable the requests list, because requests
are now created explicitly by pressing the create request button.

Since this is an advanced feature, it should not be in the way of
people who do not want to see it. Here is a solution that might
work.
2023-03-30 16:09:59 +02:00
Sander van Grieken
c08ca94591 qml: support create & save transaction on watch-only wallet, refactor showExport and supply
relevant help text when sharing a transaction
2023-03-30 12:28:09 +02:00
Sander van Grieken
7efd6fe1e2 qml: don't show ln payment dialog, update info text instead 2023-03-29 19:08:11 +02:00
Sander van Grieken
288b7cd3bc qml: show explanatory text when sharing partially signed tx
after creating a multisig transaction
2023-03-29 11:39:40 +02:00
ThomasV
2836dccfbb qml: Handle situation where no more addresses are available without
creating addresses beyond the gap limit.

- if lightning is enabled, propose to create a lightning-only invoice
- otherwise, propose to reuse an address
- never generate addresses beyond the gap limit

Implementation:
 - createDefaultRequest is removed
 - create_bitcoin_address is called whether the wallet has lightning
   or not
2023-03-18 12:58:42 +01:00
ThomasV
fed5fe5991 Qml: new receive flow. fixes #8258 2023-03-17 23:02:43 +01:00
Sander van Grieken
4979346881 qml: detect channel backups in send dialog 2023-03-14 10:20:42 +01:00
Sander van Grieken
5fd7721508 qml: de-dupe broadcastFailed handler, styling InvoiceDialog amount 2023-03-13 18:22:51 +01:00
Sander van Grieken
faf0c80893 qml: enable canPay in InvoiceDialog if wallet has insufficient funds to pay via lightning
and invoice has fallback address and amount can be paid on-chain.
In WalletMainView, follow on-chain payment path if available lighting balance is
insufficient for the invoice amount
2023-03-13 18:07:37 +01:00
Sander van Grieken
15a3c2d344 qml: auto sign & broadcast fee bump transactions if wallet can sign without cosigners.
Show a dialog otherwise
2023-03-10 13:31:41 +01:00
Sander van Grieken
6383f83933 qml: separate app menu and wallet menu 2023-03-02 12:54:59 +01:00
Sander van Grieken
f65158a23f qml: move menu back to topbar, move addresses and channels to walletdetails and
add walletdetails to topbar menu
2023-03-02 10:49:01 +01:00
Sander van Grieken
68a3364c33 qml: clear deferred intent after processing 2023-02-27 14:42:26 +01:00
Sander van Grieken
6a6982cdae qml: defer intent handling at startup, otherwise it gets lost as the app is not handling the signal yet.
Also defer intent handling until a wallet is opened.
2023-02-27 12:20:51 +01:00
Sander van Grieken
f12fe4af4d qml: add option to open ReceiveDialog with existing request key 2023-02-24 14:47:28 +01:00