Commit Graph

53 Commits

Author SHA1 Message Date
SomberNight
fcff4b7274 qml: begone, you C-style for loops
how am I going to continue in the middle of the loop body if the i+=1 is at the end? :P
2023-04-05 14:13:40 +00:00
SomberNight
1530668960 qt/qml: delay starting network until after first-start-network-setup
The qt, qml, and kivy GUIs have a first-start network-setup screen
that allows the user customising the network settings before creating a wallet.
Previously the daemon used to create the network and start it, before this screen,
before the GUI even starts. If the user changed network settings, those would
be set on the already running network, potentially including restarting the network.

Now it becomes the responsibility of the GUI to start the network, allowing this
first-start customisation to take place before starting the network at all.
The qt and the qml GUIs are adapted to make use of this. Kivy, and the other
prototype GUIs are not adapted and just start the network right away, as before.
2023-03-30 00:59:02 +00:00
Sander van Grieken
39ac484ec7 qml: password change requires password, not PIN. fixes #8257 2023-03-18 00:52:42 +01:00
ThomasV
849d987d0d qml: fix #8247 2023-03-16 20:23:29 +01:00
Sander van Grieken
0f596cf2e9 qml: report unified password change failure, impose minimum password length of 5, disallow empty passwords 2023-03-03 12:56:02 +01:00
Sander van Grieken
c7cb2fb9e6 qml: explicitly use None when empty string is used as password
backend requires None, Qt5 passes empty string
2023-02-28 14:51:19 +01:00
Sander van Grieken
d59e687cdb qml: follow-up fe540200a9 2023-02-28 14:11:52 +01:00
Sander van Grieken
fe540200a9 qml: report wallet open problems when walletdb cannot open a wallet (WalletFileException) 2023-02-28 14:04:20 +01:00
Sander van Grieken
278486602b qml: add loader overlay, avoid interacting with the to-be-unloaded wallet 2023-02-23 18:20:29 +01:00
Sander van Grieken
a56c9687c8 qml: initial async wallet load 2023-02-23 14:39:55 +01:00
Sander van Grieken
e9ad9986d7 qml: qedaemon doesn't need wallet path and name properties, pass them via the signal 2023-02-10 14:27:39 +01:00
Sander van Grieken
0bc8460005 qml: don't initialize instance variables on class scope for non-singletons
(this somehow escaped attention before, as most objects usually don't have multiple instances,
unless multiple wallets are open at the same time.)
Also, move all signal declarations, class constants and variables to the top of class definitions.
2023-01-12 13:09:21 +01:00
Sander van Grieken
20eacc37e1 qml: allow delete wallet if has channels not in REDEEMED state but is channelbackup 2023-01-06 13:42:59 +01:00
Sander van Grieken
79d12330ac qml: let WalletListModel update the wallet state when a wallet is loaded 2022-11-11 12:28:00 +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
SomberNight
01b5e3f8e0 flake8: enable more mandatory tests 2022-10-31 16:13:22 +00: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
e579f5b8a5 properly remember wallet password and pass to tx signing call 2022-10-21 13:31:24 +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
98c747ea6e qml: use -w command line parameter to open wallet, if specified 2022-10-04 12:35:07 +02:00
Sander van Grieken
32a81d8ee7 qml: initial plugin support, with labelsync mostly implemented 2022-09-08 12:19:38 +02:00
SomberNight
c421bdaff4 (trivial) qml/qedaemon.py: add missing import 2022-08-04 21:52:22 +02:00
Sander van Grieken
3de498907c qml: delete_wallet and add checks for channels, balance, pending requests 2022-07-28 18:56:27 +02:00
Sander van Grieken
5008cef491 qml: optimize imports 2022-07-28 16:53:05 +02:00
Sander van Grieken
894495aa92 qml: clean up 2022-07-12 19:07:19 +02:00
Sander van Grieken
63fed38305 qml: skip wallet password entry when single_password and password is known 2022-07-12 17:34:52 +02:00
Sander van Grieken
70cf44ccec qml: wip single password 2022-07-12 16:55:11 +02:00
Sander van Grieken
f83c944f0e qml: properly set keystore password when creating new wallet 2022-07-12 14:00:53 +02:00
SomberNight
bcbe69672e qml gui: fix flake8 "F821 undefined name" errors 2022-07-09 03:49:45 +02:00
Sander van Grieken
f5933da348 skip wallet files with leading dot 2022-07-08 11:10:15 +02:00
Sander van Grieken
0228169852 refactor to new event listener framework 2022-07-08 11:09:08 +02:00
Sander van Grieken
cd6d5e577b add unified wallet password support 2022-07-07 18:30:20 +02:00
Sander van Grieken
0130e5aecf invert (in)validPassword property in QEWalletDB, add invalidPassword signal.
This is to better support state in OpenWallet page
2022-07-07 18:30:20 +02:00
Sander van Grieken
a44f8d9b3b create new wallet name suggestion and pre-select and focus the textfield 2022-07-07 18:29:02 +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
e9a174711b UI on Wallets screen. Add active/not active/current indicator tags.
initial wallet delete/change password boilerplate
2022-07-07 18:29:01 +02:00
Sander van Grieken
e1f53c4ea0 QEDaemon uses internal QEWalletDB for wallet open pre-checks
various other fixes
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
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
5d77daa5e3 add currencies to preferences 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
d427be70b2 move wallet name to qewallet 2022-07-07 18:28:00 +02:00
Sander van Grieken
45f50d3078 fixes 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
7e1606fe86 validate seeds for Electrum, BIP39, SLIP39 seeds and perform create wallet in from seed scenario
Currently only Electrum seeds are considered valid.
For BIP39 additional dialog is needed.
For SLIP39 multiple mnemonics need to be supported to generate a seed
2022-07-07 18:28:00 +02:00
Sander van Grieken
c79414012c fix bug where undefined wallet instance crashes app 2022-07-07 18:28:00 +02:00
Sander van Grieken
670882c3c0 improve wallet open flow
remove load_wallet from walletDB, route all wallet loading through QEDaemon.
QEDaemon emits walletLoaded and walletRequiresPassword signals. main.qml opens
OpenWallet view when extra user interaction is needed
2022-07-07 18:28:00 +02:00
Sander van Grieken
4cae116ad8 create wallet at end of new wallet wizard 2022-07-07 18:28:00 +02:00
Sander van Grieken
4b3f79f41c use QEAvailableWalletListModel for available wallets 2022-07-07 18:28:00 +02:00