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