1
0
Commit Graph

62 Commits

Author SHA1 Message Date
ThomasV
d4c386a62c qml: use daemon threads everywhere the network is involved
The app hangs indefinitely if we try to quit it while one of
these threads is active, because once asyncio has shut down,
futures never return. This was already fixed for lightning
payments in c5dc133, but there are many other cases.
2023-04-05 12:31:20 +02:00
Sander van Grieken
0c83f363eb qml: haptic use constant compatible with older android 2023-04-05 12:28:56 +02:00
Sander van Grieken
8f3f282b62 Revert "qml: haptic override global setting"
This reverts commit 3e4737d6e9.
2023-04-05 12:08:54 +02:00
Sander van Grieken
3e4737d6e9 qml: haptic override global setting 2023-04-05 11:38:38 +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
8bb2464acd qml: add haptic feedback for android. Also preload most used classes to reduce
lag on first use.
2023-04-03 16:07:15 +02:00
SomberNight
d189fdce69 qml: crash reporter: fix "show never" option
102.82 | E | gui.qml.qeapp.Exception_Hook | exception caught by crash reporter
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qml/qeapp.py", line 271, in showNever
    self.config.set_key(BaseCrashReporter.config_key, False)
AttributeError: 'QEAppController' object has no attribute 'config'
2023-03-30 00:58:51 +00:00
SomberNight
f4e66810e7 qml: ElectrumGui to inherit BaseElectrumGui 2023-03-29 16:41:04 +00:00
SomberNight
0ebcc7df63 qml: only do android-specific stuff when on android
don't log an error when running on desktop
2023-03-23 14:34:47 +00:00
SomberNight
ff2da7ceb9 crash reporter: hardcode gui text. do not trust the server with it
paranoia.
2023-03-16 19:48:35 +00:00
Sander van Grieken
90355a150f qml: fix exception handler register opened wallet 2023-03-03 12:26:36 +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
fa45e1b7ba qml: fix name clash QML vs registered QObjects NewWalletWizard and ServerConnectWizard 2023-02-16 13:22:24 +01:00
Sander van Grieken
1bfc4f1529 qml: android notification params 2023-02-10 13:29:18 +01:00
Sander van Grieken
11439fb3fd qml: don't stack exception dialogs when multiple exceptions happen 2023-02-09 01:34:54 +01:00
Sander van Grieken
5eb7bcebef qml: remove ugly notification popup, add wallet name to notifications 2023-02-07 13:55:22 +01:00
Sander van Grieken
26f7238eb5 qml: add initial generic listmodel filter QEFilterProxyModel 2023-01-30 16:22:29 +01:00
Sander van Grieken
58d25d4a5d qml: flake8 happifier 2023-01-10 17:32:20 +01:00
Sander van Grieken
bc91732f22 qml: crash handler, move Exception_Hook to qeapp.py 2023-01-10 17:17:19 +01:00
Sander van Grieken
fa030b3fa5 qml: initial crash handler impl 2023-01-10 17:02:38 +01:00
Sander van Grieken
1887502151 qml: remove back button in top bar, move menu button to left
add AppController.isAndroid function to test for android platform. Disable fade in if not on android
2023-01-06 13:42:59 +01:00
Sander van Grieken
78df722419 qml: add initial logic and UI for CPFP 2022-11-25 18:43:05 +01:00
Sander van Grieken
8fbfe87e78 qml: rename QETxFeeBumper -> QETxRbfFeeBumper, BumpFeeDialog.qml -> RbfBumpFeeDialog.qml 2022-11-23 17:10:34 +01:00
Sander van Grieken
990ec311d2 qml: implement cancel rbf tx 2022-11-22 13:37:46 +01:00
Sander van Grieken
12086ba0de qml: unify to single WalletListModel, WalletDB trigger actions on every path set,
camelcase more QML exposed functions/slots.
2022-11-11 12:00:07 +01:00
Sander van Grieken
902f16204c qml: initial RbF bump fee feature 2022-10-25 15:13:57 +02:00
Sander van Grieken
15e2ed4f58 rewrite server connect wizard to new wizard style
'last' property on WizardComponents is now queried from UI, not from the wizard.
This allows the content of the WizardComponent itself to be taken into account.
2022-10-21 13:32:16 +02:00
Sander van Grieken
43bac2edff qml: use new wizard approach in qml and also implement 2FA/trustedcoin 2022-10-21 13:31:24 +02:00
Sander van Grieken
49037ecc85 qml: handle bitcoin: and lightning: uri intents 2022-10-18 18:31:59 +02:00
Sander van Grieken
27999a9583 qml: clean up, generalize plugin gui base, enumerate plugins in gui
(still quite crude impl, dynamic enable/disable plugin gui is misaligned
with backend)
2022-09-08 15:15:46 +02:00
Sander van Grieken
32a81d8ee7 qml: initial plugin support, with labelsync mostly implemented 2022-09-08 12:19:38 +02:00
Sander van Grieken
f05ff0c9b8 qml: add QERequestDetails component.
Auto binds to wallet request status update signal so qml doesn't have to.
implements timer to update status string when near expiry.
2022-08-23 17:13:22 +02:00
Sander van Grieken
279b5a1b48 qml: let qenetwork monitor gossip events, start/stop gossip service on config change
add simple gossip feedback on NetworkStats page
2022-07-22 14:08:06 +02:00
Sander van Grieken
a970c0f78a qml: add initial bolt-11/bip-21 chooser in requestdialog
implement proper placement of icon over qr code
fix urlencoding in qr imageprovider
2022-07-21 12:56:55 +02:00
Sander van Grieken
0cc22931d8 qml: don't expose WalletListModel as a declarative type 2022-07-20 11:08:46 +02:00
Sander van Grieken
894495aa92 qml: clean up 2022-07-12 19:07:19 +02:00
Sander van Grieken
b2fafcb428 add initial submarine swap functionality 2022-07-07 18:29:02 +02:00
Sander van Grieken
4c9f713f9a further separate invoice objects 2022-07-07 18:29:02 +02:00
Sander van Grieken
12d726efc2 split user entered fields object from invoice uri parsing object 2022-07-07 18:29:01 +02:00
Sander van Grieken
04ce548e42 initial lightning channel details, action menu 2022-07-07 18:29:01 +02:00
Sander van Grieken
9243f3b896 implement wallet password change.
implement wallet delete (though actual wallet file delete is left out still)
2022-07-07 18:29:01 +02:00
Sander van Grieken
d3e88064d0 Use screen size as upper bound for qr code size
also fix some typing issues
2022-07-07 18:29:01 +02:00
Sander van Grieken
8f8a1fc8cf wip 2022-07-07 18:29:01 +02:00
Sander van Grieken
c55aa7bb48 wip lightning 2022-07-07 18:29:01 +02:00
Sander van Grieken
e84bc4561f bold font wasn't loaded when regular font loading was succesful
some styling fixes
2022-07-07 18:29:01 +02:00
Sander van Grieken
bbc1f4dba8 enable android share option 2022-07-07 18:29:01 +02:00
Sander van Grieken
a6e72ae42f add initial Transaction Details page and backing qobject 2022-07-07 18:29:01 +02:00
Sander van Grieken
bb2b1738b7 add initial address detail page 2022-07-07 18:29:01 +02:00
Sander van Grieken
5031391484 add a QEAmount type for storing/passing BTC amounts in the widest sense
from a UI perspective. Stores sats, millisats (LN), whether MAX amount is
requested etc

some refactor QEInvoice type and Send page
2022-07-07 18:29:01 +02:00
Sander van Grieken
cd4bd39583 wip 2022-07-07 18:29:01 +02:00