Commit Graph

30 Commits

Author SHA1 Message Date
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
Sander van Grieken 34ef93b2b5 add confirm payment dialog/feepicker and qobject backing 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 d3e2737308 complete and refactor Fx preferences and use in Send/Receive tabs 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 ddbd785a46 add version information to QML context 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 16a2d0c7fb add PT Mono bold 2022-07-07 18:28:00 +02:00
Sander van Grieken 88e8993442 Add PT Mono monospace font. 2022-07-07 18:28:00 +02:00
Sander van Grieken 492f246b9a qml: add QR code imageprovider using qrcode/PIL
adds buildozer 'pillow' recipe to requirements

add initial PoC on qml receive tab
2022-07-07 18:28:00 +02:00
Sander van Grieken c999b3a297 add Bitcoin QObject for seed generation 2022-07-07 18:28:00 +02:00
Sander van Grieken 0682f05d95 factor off the main QGuiApplication class into its own file 2022-07-07 18:28:00 +02:00