Commit Graph

220 Commits

Author SHA1 Message Date
Sander van Grieken
f76218ea83 qml: introduce InfoBanner allowing a clickable sticky message to stay below header and
implement ln utxo reserve check with warning. Clicking shows a suggestion to swap.
2025-04-03 14:39:05 +02:00
Sander van Grieken
3fd64b60ab qml: show warning in ConfirmTxDialog if max amount cannot be fully sent due to channel reserve requirements. 2025-04-03 14:39:05 +02:00
SomberNight
2aa427b4bf Merge branch 'pr/9507': qt: refactor NetworkChoiceLayout to ProxyWidget+ServerWidget
ref https://github.com/spesmilo/electrum/pull/9507
2025-03-05 15:01:05 +00:00
Sander van Grieken
f1e9abf04e qt,qml: review rework, refactor spinner, add tor probe active indicator 2025-03-05 10:52:25 +01:00
ThomasV
840243e029 separate fee policy from config
- Wallet.make_unsigned_transaction takes a FeePolicy parameter
 - fee sliders act on a FeePolicy instead of config
 - different fee policies may be used for different purposes
 - do not detect dust outputs in lnsweep, delegate that to lnwatcher
2025-03-05 10:29:26 +01:00
Sander van Grieken
fea598cfbe network: create ProxySettings class replacing dict and encapsulating proxy related funcs,
allow enable/disable proxy without nuking proxy mode, host and port (explicit enable_proxy config setting),
move tor probe from frontend to backend code, add probe buttons for Qt and QML
2025-03-04 14:23:33 +01:00
Sander van Grieken
376d881154 qml: always initialize BtcField.textAsSats 2025-02-26 11:02:12 +01:00
ThomasV
30901212d0 Merge pull request #9467 from accumulator/qml_input_output_color
qml: apply TxInput/TxOutput coloring for swap and billing addresses.
2025-02-24 12:54:33 +01:00
SomberNight
a3fc43cc2d qml: remove dependency "Pillow" (and its transitive deps)
closes https://github.com/spesmilo/electrum/issues/9572
2025-02-20 18:53:08 +00:00
Josh Geden
6331448860 qml: add config setting for max brightness on qr display 2025-01-22 09:47:10 +01:00
Sander van Grieken
bb66b567e0 qml: apply TxInput/TxOutput coloring for swap and billing addresses. 2025-01-21 17:11:58 +01:00
Sander van Grieken
2134fcc4dc qml: fix InfoTextArea text sometimes out of bounds 2024-11-01 17:35:37 +01:00
Sander van Grieken
3aa12cd97f qml: allow direct seed edit when platform is not android
useful for debugging
2024-10-24 16:19:07 +02:00
Sander van Grieken
eaebcaf383 qml: styling HelpDialog 2024-09-17 13:22:37 +02:00
SomberNight
7a7b43c0a8 qml/android: set max screen brightness when displaying QR codes
In some cases this makes it much easier to successfully scan a QR code.
I was trying to scan a PSBT using a laptop camera from my phone screen for 2 minutes, until I realised the screen brightness was the issue.  o.O
2024-08-21 23:37:36 +00:00
Sander van Grieken
b0227c7e03 qml: add HelpDialog and HelpButton for showing additional info 2024-02-23 10:28:11 +01:00
Sander van Grieken
016e500993 qml: FeePicker parameterize enable display of tx info and picker, use this for CPFP
to put picker in Total section
2024-02-16 12:56:18 +01:00
Sander van Grieken
c0b892720e qml: consolidate fee slider ui in various places to a single FeePicker control 2024-02-16 10:09:56 +01:00
SomberNight
67b57da402 qml: WCHaveMasterKey: (fix) re-verify text in onTextChanged
fixes https://github.com/spesmilo/electrum/issues/8853

This is a bit ugly, but activeFocus is declared as final and cannot be overridden directly...
```
  1.42 | W | gui.qml.qeapp | file:///home/user/wspace/electrum/electrum/gui/qml/components/controls/ElTextArea.qml:23:5: Cannot override FINAL property
```
2024-01-30 02:11:01 +00:00
accumulator
a51b3bdbfb qml: show fiat price when historic rates are enabled and no timestamp available
Co-authored-by: ghost43 <somber.night@protonmail.com>
2024-01-04 17:31:00 +01:00
Sander van Grieken
5077e013f3 qml: don't show fiat amount when timestamp more than a day old and historic rates are disabled 2024-01-04 12:25:40 +01:00
accumulator
88058df409 Merge pull request #8772 from accumulator/qml_tx_inputs
qml: add transaction inputs in TxDetails and …
2023-12-29 16:21:22 +01:00
Sander van Grieken
92bff08ba5 qml: don't use predictive text for fields where it makes no sense 2023-12-29 16:18:03 +01:00
Sander van Grieken
7164392b1c qml: add transaction inputs in TxDetails and ConfirmTxDialog, RbfBumpFeeDialog, RbfCancelDialog, CpfpBumpFeeDialog
and allow collapse/expand of input/output lists by clicking on label.
2023-12-29 11:55:36 +01:00
Sander van Grieken
a57a0d001b qml: make TextAreas more visible 2023-11-15 18:42:11 +01:00
Sander van Grieken
3793a6b6b6 qml: use highlight pane for QR codes, refactor ReceiveDialog invoice select UI. 2023-11-14 17:19:27 +01:00
Sander van Grieken
86a45c668c few small fixes 2023-11-14 14:36:54 +01:00
ThomasV
4a3a61c6b0 Merge pull request #8678 from accumulator/qml_password_strength
qml: introduce PasswordStrengthIndicator control, and add to Password…
2023-11-11 09:52:52 +01:00
Sander van Grieken
2995bc8b37 qml: fix dialog not closing if dialog is shown/hidden more than once
most dialogs are destroyed when closed, therefore not hitting this bug,
but e.g. ChannelOpenProgressDialog is reused.
2023-11-10 11:59:22 +01:00
Sander van Grieken
98264f64ad qml: introduce PasswordStrengthIndicator control, and add to PasswordDialog and WCWalletPassword 2023-11-10 09:30:31 +01:00
Sander van Grieken
047cc6f957 qml: remove attempt to unfocus by clicking dialog background
Doesn't really work as it triggers on events above the background it is defined on :(
2023-11-08 15:38:26 +01:00
Sander van Grieken
11d39cd942 qml: fix keyboard exclusion zone
turns out that Qt.inputMethod.keyboardRectangle.height is not suitable for calculating the exact keyboard
dimensions in Qt coordinates. Instead, use Qt.inputMethod.keyboardRectangle.y transformed to Qt coordinates
using Screen.devicePixelRatio

Note: Qt.inputMethod.keyboardRectangle stop being updated after exiting FLAG_SECURE state
(e.g. in seed or master key entry pages)
2023-11-07 10:32:00 +01:00
Sander van Grieken
db532dbd19 qml: android back-gesture conflict hack not working on qt6, replace with simple properties 2023-11-07 10:17:10 +01:00
Sander van Grieken
a77ff9943a qml: refactor qr scan to qt6
As the method of capturing frames is totally different, the animation when
a QR is found has been removed.
2023-11-07 10:17:10 +01:00
Sander van Grieken
8b567ae447 qml: remove all QML imports version numbers 2023-11-07 10:17:08 +01:00
Sander van Grieken
6270eae5c9 qml: port PyQt5 to PyQt6 2023-11-07 10:16:18 +01:00
Sander van Grieken
e88cf0a683 qml: addresses list formatting, add txid/outpoint and amount to filter 2023-11-01 17:17:16 +01:00
Sander van Grieken
cf91d2e5cc qml: also show coins in Addresses page, and add a few filter options. Additionally, long press
now activates multi-select mode, and add action to (un)freeze selection.
2023-11-01 14:32:38 +01:00
Sander van Grieken
b20a4b9bf1 qml: increase font on seed keyboard, and height of seedkeyboard slightly 2023-10-13 13:42:16 +02:00
Sander van Grieken
7ca9b735d5 daemon: refactor load_wallet to not just return None, but raise specific exceptions.
The following exceptions should be expected:
FileNotFoundError: given wallet path does not exist
StorageReadWriteError: given file is not readable/writable or containing folder is not writable
InvalidPassword: wallet requires a password but no password or an invalid password was given
WalletFileException: any internal wallet data issue. specific subclasses can be caught separately:
-  WalletRequiresSplit: wallet needs splitting (split_data passed in Exception)
-  WalletRequiresUpgrade: wallet needs upgrade, and no upgrade=True was passed to load_wallet
-  WalletUnfinished: wallet file contains an action and needs additional information to finalize. (WalletDB passed in exception)

Removed qml/qewalletdb.py

This patch also fixes load_wallet calls in electrum/scripts and adds a qml workaround for dialogs opening and closing so
fast that the dialog opened==true property change is missed (which we need to manage the dialog/page stack)
2023-10-10 17:42:07 +02:00
Sander van Grieken
9ed5f7bf43 qml: don't show "select server automatically" checkbox in network setup wizard 2023-10-05 11:01:29 +02:00
Sander van Grieken
b12c3233e5 qml: followup 5acfe418079dbc9935cf9576e50ae2c8c841e301; don't save expiry Never as default. 2023-09-30 14:45:42 +02:00
ThomasV
5acfe41807 qml: add never-expiring requests. fixes #8631 2023-09-30 09:46:16 +02:00
Sander van Grieken
e5e1e46b7b qml: add message sign/verify 2023-09-26 11:28:55 +02:00
Sander van Grieken
b846eabb70 qml: clicking on one of your own addresses on TxDetails page now takes you to AddressDetails page. 2023-09-25 17:53:18 +02:00
Sander van Grieken
05a34fbe24 qml: tap-on-background now removes focus, allowing convenient way to hide keyboard 2023-09-25 16:58:27 +02:00
Sander van Grieken
58dbe6690d qml: create ElCombBox and ElRadioButton that automatically word wrap their text element. Fixes #8611 2023-09-12 17:56:35 +02:00
SomberNight
5a3abdde85 qml: don't apply ElListView deadzones on Linux desktop
otherwise I can't click on list items if the window is moved too far to the right :O

follow-up 583afefe33

Note: on modern Android, apps don't always run full-screen.
      You can pop them out into small windows and move them.
      Haven't tested how the deadzones work then though.
2023-08-10 15:22:36 +00:00
Sander van Grieken
583afefe33 qml: add deadzones on the edge of the screen to work around android back gesture unintended click events 2023-07-28 14:47:40 +02:00
Sander van Grieken
60e007862b qml: defer updates, fixes listitems not updating 2023-07-13 19:17:16 +02:00