1
0
Commit Graph

14659 Commits

Author SHA1 Message Date
Sander van Grieken
ef91969fba support update of address in addresslistmodel 2022-07-07 18:29:01 +02:00
Sander van Grieken
2b691c9216 small fixes 2022-07-07 18:29:01 +02:00
Sander van Grieken
300e5e2168 add fiat to balance summary 2022-07-07 18:29:01 +02:00
Sander van Grieken
bf072b037c hook up invoice confirm to payment flow (onchain only)
fix some leftover QEAmount issues
2022-07-07 18:29:01 +02:00
Sander van Grieken
0dce872d37 add invoice status 2022-07-07 18:29:01 +02:00
Sander van Grieken
a163268d79 more QEAmount refactoring 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
Sander van Grieken
8a3aff73fc fix qewallet calls to invoice list model 2022-07-07 18:29:01 +02:00
Sander van Grieken
3aef04f824 factor out InvoiceDelegate 2022-07-07 18:29:01 +02:00
Sander van Grieken
06aed727ef add listmodel for send queue/invoices
generalize request and invoice list models into abstract base
2022-07-07 18:29:01 +02:00
Sander van Grieken
e8ce221a34 Qt.UserRole can be 0 offset, don't repeat wallet create request dict 2022-07-07 18:29:01 +02:00
Sander van Grieken
6a22a7698c various UI 2022-07-07 18:29:01 +02:00
Sander van Grieken
34ef93b2b5 add confirm payment dialog/feepicker and qobject backing 2022-07-07 18:29:01 +02:00
Sander van Grieken
3b25f00041 update History page delegates when rates or rate settings change 2022-07-07 18:29:01 +02:00
Sander van Grieken
0e42744bc0 add request status code to listmodel, update request delegates,
enable bip21 uri copy
2022-07-07 18:29:01 +02:00
Sander van Grieken
08db3190ba add android notification
load both regular and bold fonts
2022-07-07 18:29:01 +02:00
Sander van Grieken
b2f2dfc44f historic rates 2022-07-07 18:29:01 +02:00
Sander van Grieken
5c7060fffb add (today, yesterday, last week, last month, older) sections to history 2022-07-07 18:29:01 +02:00
Sander van Grieken
3868878be4 filter out more unneeded files for packaging 2022-07-07 18:29:01 +02:00
Sander van Grieken
c4c35c7cde make Constants an Item and a child of main so it properly inherits material
style settings from main
2022-07-07 18:29:01 +02:00
Sander van Grieken
90416bd6e2 let most signals not be handled in the UI thread,
use quint64 type for slots where satoshis are expected
2022-07-07 18:29:01 +02:00
Sander van Grieken
bbaf0fe5db UI history page 2022-07-07 18:29:01 +02:00
Sander van Grieken
6cb3a07500 move reusable controls into controls/ subdir 2022-07-07 18:29:01 +02:00
Sander van Grieken
f2a9b5d06a add option for unformatted numbers to string 2022-07-07 18:29:01 +02:00
Sander van Grieken
fad2d879ef UI fixes 2022-07-07 18:29:01 +02:00
Sander van Grieken
7013f9d26b generate and parse bip 21 qr codes 2022-07-07 18:29:01 +02:00
Sander van Grieken
a8ff969ad7 send/receive amounts same style 2022-07-07 18:29:01 +02:00
Sander van Grieken
d3e2737308 complete and refactor Fx preferences and use in Send/Receive tabs 2022-07-07 18:29:01 +02:00
Sander van Grieken
e30cb4ed5f android back button pops pages from stackview unless we reach
bottom of stack
2022-07-07 18:29:01 +02:00
Sander van Grieken
ff33102b91 use qint64 for sats, not int, as it will overflow 2022-07-07 18:29:01 +02:00
Sander van Grieken
d5cfb67ebe add fiat<->sat conversion methods and hook up UI 2022-07-07 18:29:01 +02:00
Sander van Grieken
5d77daa5e3 add currencies to preferences 2022-07-07 18:29:01 +02:00
Sander van Grieken
50e7c082cd request dialog improve, icons 2022-07-07 18:29:01 +02:00
Sander van Grieken
a65ea46b5d avoid duplicate QEWallet instances 2022-07-07 18:29:01 +02:00
Sander van Grieken
201669d178 UI here and there 2022-07-07 18:29:01 +02:00
Sander van Grieken
ddbd785a46 add version information to QML context 2022-07-07 18:29:01 +02:00
Sander van Grieken
d88cd75460 keep all models and various UI items updated on new transactions 2022-07-07 18:29:01 +02:00
Sander van Grieken
cb203dfe50 show popup for user notifications 2022-07-07 18:29:01 +02:00
Sander van Grieken
3b66cf70ee qewallet: minimally viable send_onchain() 2022-07-07 18:29:01 +02:00
Sander van Grieken
3a8e787b58 qenetwork: add height and fiat changed signals 2022-07-07 18:29:01 +02:00
Sander van Grieken
1c7f559f32 UI use constants 2022-07-07 18:29:01 +02:00
Sander van Grieken
2229322beb copy closebutton.png to gui/icons 2022-07-07 18:29:01 +02:00
Sander van Grieken
64745ece10 add simple internal notification popup,
refactor MessageDialog
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
d1623c5ed3 QRParser now a type, not a context property 2022-07-07 18:29:01 +02:00
Sander van Grieken
3942745270 add input method hints 2022-07-07 18:29:01 +02:00
Sander van Grieken
5e039a215a forgot RequestDialog 2022-07-07 18:29:01 +02:00
Sander van Grieken
da727278fa small fixes 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