1
0
Commit Graph

14628 Commits

Author SHA1 Message Date
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
Sander van Grieken
1609fe8663 parse QR async 2022-07-07 18:29:01 +02:00
Sander van Grieken
756cd9706f use fixed font on amount, address fields 2022-07-07 18:29:01 +02:00
Sander van Grieken
758a30462e implement QR code scanning 2022-07-07 18:29:01 +02:00
Sander van Grieken
62009c647e add buttons in address drawers
also copies two kivy icons to gui/icons
2022-07-07 18:28:00 +02:00
Sander van Grieken
f60eca054d add watch-only indicator
use default state instead of named state
set font defaults where it is convenient
2022-07-07 18:28:00 +02:00
Sander van Grieken
16a2d0c7fb add PT Mono bold 2022-07-07 18:28:00 +02:00
Sander van Grieken
d427be70b2 move wallet name to qewallet 2022-07-07 18:28:00 +02:00
Sander van Grieken
ead4600da6 UI address list 2022-07-07 18:28:00 +02:00
Sander van Grieken
cc9cc67775 add PaneInsetBackground 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
7e6991c097 UI 2022-07-07 18:28:00 +02:00
Sander van Grieken
7b71323506 cleanup 2022-07-07 18:28:00 +02:00
Sander van Grieken
a75960a70d use configured units everywhere 2022-07-07 18:28:00 +02:00
Sander van Grieken
5cfa1fd772 add Preferences to menu and add icons 2022-07-07 18:28:00 +02:00
Sander van Grieken
695f7a31cd add padding constants 2022-07-07 18:28:00 +02:00
Sander van Grieken
3d0fbe5f21 add initial Preferences page 2022-07-07 18:28:00 +02:00
Sander van Grieken
426198dd42 add base unit setting and conversion methods in qeconfig.py 2022-07-07 18:28:00 +02:00
Sander van Grieken
cf059cb31b add initial fee histogram 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
271f36d3b3 add yes/no button option to generic messagedialog, so it can be used
to ask the user a simple yes/no question.
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
e04dbe1eff remove leftover, don't eagerly set wizard pages to not visible 2022-07-07 18:28:00 +02:00
Sander van Grieken
f5807df91c add a container for styling constants, so we don't repeat literals all over the code 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
8000327097 gui: copy wallet.png from kivy to gui/icons/ 2022-07-07 18:28:00 +02:00
Sander van Grieken
a2fac2e3e3 buildozer: exclude env dir, don't include vs, fs extensions 2022-07-07 18:28:00 +02:00
Sander van Grieken
45f50d3078 fixes 2022-07-07 18:28:00 +02:00
Sander van Grieken
4680521d07 ui history page 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
bbd0ff8b91 move wizard components to separate files, add initial bip39 refine page 2022-07-07 18:28:00 +02:00