1
0
Commit Graph

13 Commits

Author SHA1 Message Date
Sander van Grieken
3b66cf70ee qewallet: minimally viable send_onchain() 2022-07-07 18:29:01 +02:00
Sander van Grieken
6cf4fc9e1e implement user notifications for new_transaction events
As the QML app can have multiple active wallets managed from
a single window (unlike the desktop Qt version), we let each
wallet manage its own user notification queue (as there are
some rules here specific to each wallet, e.g. not emitting
user notifications for each tx while the wallet is still
syncing), including collating and rate limiting. The app then
consumes the userNotify events from all active wallets, and
adds these to its own queue, which get displayed (eventually,
again implementing rate limiting) to the user.

It also uses timers efficiently, only enabling them if there
are actual userNotify events waiting.

If at any point the QML app wants to use multiple windows,
it can forego on the app user notification queue and instead
attach each window to the associated wallet userNotify signal.

        app
         ▲
         │
         │  timer -> userNotify(msg) signal
         │
  ┌──┬───┴───────┐
  │  │           │  app user notification queue
  └──┴───▲───────┘
         │
         │  timer -> userNotify(wallet, msg) signal
         │
  ┌──┬───┴───────┐
  │  │           │  wallet user notification queue
  └──┴───▲───────┘
         │
         │  new_transaction
         │
      wallet
2022-07-07 18:29:01 +02:00
Sander van Grieken
490862d096 add RequestDialog, open request on create, and implement UI delete request 2022-07-07 18:29:01 +02:00
Sander van Grieken
d427be70b2 move wallet name to qewallet 2022-07-07 18:28:00 +02:00
Sander van Grieken
7b71323506 cleanup 2022-07-07 18:28:00 +02:00
Sander van Grieken
03048d39b6 handle gap limit warning when creating Request.
(using string error code for now, ideally should be properly defined
as an enum)

Also fix animation bug and work around broken ListView header implementation
2022-07-07 18:28:00 +02:00
Sander van Grieken
dec0cdd0d3 refactor QEAddressListModel and QETransactionListModel to their own files 2022-07-07 18:28:00 +02:00
Sander van Grieken
cd6d2f8a69 add QERequestListModel and hook up the gui in Receive tab 2022-07-07 18:28:00 +02:00
Sander van Grieken
e329c54162 implement bip39 seed to wallet
fix auto-upgrade wallet
2022-07-07 18:28:00 +02:00
Sander van Grieken
17820b9346 add QEAddressListModel and initial Addresses.qml page.
show sane main view when no wallet loaded.
show error dialog when wallet could not be loaded.
show wallet up_to_date indicator in title bar.
refactor QETransactionListModel to be more self-contained.
2022-07-07 18:28:00 +02:00
Sander van Grieken
6e482f437a qml: fixes and cleanup for qedaemon, qenetwork. expose many wallet properties in qewallet 2022-07-07 18:28:00 +02:00
Sander van Grieken
a3801ecae8 qml: map fields of tx history 2022-07-07 18:28:00 +02:00
Sander van Grieken
7eb733757a qml: add initial qml.ElectrumGui class, Electrum QObject wrappers and an initial QObject for QR en/decoding 2022-07-07 18:28:00 +02:00