1
0
Commit Graph

15844 Commits

Author SHA1 Message Date
Sander van Grieken
0799560ae4 qml: make fiat and btc states in BalanceSummary hopefully equally tall 2023-03-14 16:36:34 +01:00
SomberNight
a6c4069617 qt send_tab: allow saving bip70 payment requests
probably got disabled in or around https://github.com/spesmilo/electrum/pull/7839 by accident
2023-03-14 14:54:15 +00:00
Sander van Grieken
f0f320b119 qml: ElDialog titlebar click moves focus, hack for android to remove onscreen keyboard 2023-03-14 15:52:24 +01:00
ThomasV
1f4cedf56a Rework PaytoEdit:
- show a QLineEdit by default, a QTextEdit only if paytomany is active.
   paytomany is a rare use case, it should not interfer with regular
   use (e.g. when a user inadvertently types enter).
 - this also fixes the visual appearance if the payto line
 - keep paytomany menu in sync with actual state
2023-03-14 15:37:20 +01:00
Sander van Grieken
1b0a58a0ff qml: don't pass lightning flag from GUI when creating payment requests 2023-03-14 14:49:58 +01:00
Sander van Grieken
950d8f4885 qml: Pin dialog wider (small form factor issue) 2023-03-14 14:01:03 +01:00
Sander van Grieken
876b0ff295 qml: handle empty histogram more gracefully, set histogram limit to 10MB 2023-03-14 13:59:56 +01:00
Sander van Grieken
5feb16ad75 qml: SeedTextArea only lower case input 2023-03-14 12:46:00 +01:00
Sander van Grieken
7fc4153f46 qml: render balance bar using (local|remote) capacity instead of can_(send|receive) 2023-03-14 12:42:52 +01:00
Sander van Grieken
842229c4bb qt: fit StatusBarButton to inner height of status bar 2023-03-14 12:37:34 +01:00
Sander van Grieken
4979346881 qml: detect channel backups in send dialog 2023-03-14 10:20:42 +01:00
Sander van Grieken
c0ce0296f8 qml: show channel backups together with channels in Channels, remove Channel backups button from WalletDetails,
filter backups to bottom, add backups section header
2023-03-14 10:06:31 +01:00
SomberNight
acc1f22442 qt: MyTreeView: small clean-up for WatcherList and ContactList 2023-03-13 19:00:46 +00:00
SomberNight
1740765125 qt settings_dialog: fix trampoline_cb 2023-03-13 18:51:34 +00:00
SomberNight
9d64fe7046 qt: MyTreeView: disambiguate "parent" and "main_window" 2023-03-13 17:29:29 +00:00
Sander van Grieken
5fd7721508 qml: de-dupe broadcastFailed handler, styling InvoiceDialog amount 2023-03-13 18:22:51 +01:00
Sander van Grieken
faf0c80893 qml: enable canPay in InvoiceDialog if wallet has insufficient funds to pay via lightning
and invoice has fallback address and amount can be paid on-chain.
In WalletMainView, follow on-chain payment path if available lighting balance is
insufficient for the invoice amount
2023-03-13 18:07:37 +01:00
SomberNight
dd27c6beff qt utxo list: copy menu: separate items for short/long outpoint 2023-03-13 16:41:10 +00:00
SomberNight
08c37ab088 qt: HistoryList to also use BaseColumnsEnum 2023-03-13 16:39:13 +00:00
Sander van Grieken
8e2a5853b8 qml: don't crash on bolt11 invoice when wallet is non-lightning 2023-03-13 17:20:01 +01:00
SomberNight
d3c241db4c qt: MyTreeView: use enum.auto() in Columns enum 2023-03-13 16:12:50 +00:00
SomberNight
638c896b11 qt: MyTreeView: make item labels independent of column order 2023-03-13 15:54:52 +00:00
SomberNight
9e0d7b61bb util.format_time: trivial clean-up 2023-03-13 15:03:36 +00:00
Sander van Grieken
c29e82053f qml: use config.FEERATE_DEFAULT_RELAY as lower bound for fee histogram 2023-03-13 15:51:36 +01:00
ThomasV
2571eeeecd coins tab: add toolbar. 2023-03-13 15:35:35 +01:00
SomberNight
c39653c796 qt wallet info dlg: make mess smaller 2023-03-13 14:21:40 +00:00
ThomasV
0f1fe1b1f1 address_list: fix counter (was not displaying filtered count) 2023-03-13 14:38:21 +01:00
ThomasV
32ee70438c Address filter: remove label 2023-03-13 14:30:45 +01:00
Sander van Grieken
a7e5349a58 qml: clamp min fees in histogram to 1, server can report invalid 0 fees 2023-03-13 14:24:11 +01:00
ThomasV
b690f2e5cd qr_window: keep menu in sync with actual visibility 2023-03-13 14:23:36 +01:00
SomberNight
375ae851ec qt tx dialog: better size policy. for nicer window resizing 2023-03-13 13:14:03 +00:00
ThomasV
90b46885a9 address_dialog: set num_tx_label 2023-03-13 12:55:30 +01:00
ThomasV
2bf2d815d2 Qt: add tx and address counters 2023-03-13 12:25:55 +01:00
Sander van Grieken
0ebec200e2 qml: render fee histogram as a HSV gradient over next 25 blocks 2023-03-13 12:17:36 +01:00
ThomasV
cbab50e4ce channels_list: move swap and rebalance buttons into toolbar 2023-03-13 12:11:50 +01:00
ThomasV
303ad02d17 privacy analysis: add warning about tx downstream of address reuse 2023-03-13 11:41:36 +01:00
ThomasV
439f1e6331 settings_dialog: add confirmation dialog before disabling trampoline 2023-03-13 11:08:04 +01:00
ThomasV
e150a9ccad restructure settings_dialog, create 'Units' tab 2023-03-13 10:02:47 +01:00
ThomasV
519926ade3 move 'allow_instant_swaps' option from preferences dialog to swap_dialog toolbar 2023-03-13 09:53:08 +01:00
ThomasV
4909cebdae move recoverable channel option from preferences to new_channel_dialog toolbar 2023-03-13 09:36:02 +01:00
ThomasV
b15387c89b Qt send tab: move payto_edit input buttons to toolbar 2023-03-13 08:55:45 +01:00
ThomasV
eef1f0b2fd transaction_dialog: move tx_dialog_fetch_txin_data checkbox into toolbar 2023-03-13 08:16:44 +01:00
ThomasV
503776c0de move fiat columns show/hide settings from settings_dialog to tab toolbars 2023-03-12 13:30:11 +01:00
ThomasV
98f0526996 swap_dialog: minor fix 2023-03-12 11:54:44 +01:00
ThomasV
37a0e125c6 move config settings that are related to invoice creation to receive tab. 2023-03-12 10:42:26 +01:00
ThomasV
473c86c395 toolbar: use custom MyMenu class with addToggle 2023-03-12 10:11:08 +01:00
ThomasV
f87cac0498 Merge pull request #8241 from SomberNight/202303_wallet_split_add_input_info
split out network reqs from `wallet.add_input_info`, and add "Download input data" cb in qt tx dlg
2023-03-12 09:01:44 +01:00
SomberNight
d83863cc52 qt tx dialog: add checkbox "Download input data"
If checked, we download prev (parent) txs from the network, asynchronously.
This allows calculating the fee and showing "input addresses".

We could also SPV-verify the tx, to fill in missing tx_mined_status
(block height, blockhash, timestamp, short ids), but this is not done currently.
Note that there is no clean way to do this with electrum protocol 1.4:
`blockchain.transaction.get_merkle(tx_hash, height)` requires knowledge of the block height.

Loosely based on 6112fe0e51
2023-03-12 00:24:31 +00:00
Calin Culianu
c79074c4d8 qt: port "rate_limiter" function decorator utility from Electron-Cash
ported from e8bbf8280c/electroncash_gui/qt/util.py
(originally added in 8b8d8a5690 )

Co-authored-by: Calin Culianu <calin.culianu@gmail.com>
Co-authored-by: SomberNight <somber.night@protonmail.com>
2023-03-12 00:22:01 +00:00
SomberNight
81772faf6c wallet: add_input_info to no longer do network requests
- wallet.add_input_info() previously had a fallback to download parent
  prev txs from the network (after a lookup in wallet.db failed).
  wallet.add_input_info() is not async, so the network request cannot
  be done cleanly there and was really just a hack.
- tx.add_info_from_wallet() calls wallet.add_input_info() on each txin,
  in which case these network requests were done sequentially, not concurrently
- the network part of wallet.add_input_info() is now split out into new method:
  txin.add_info_from_network()
- in addition to tx.add_info_from_wallet(), there is now also tx.add_info_from_network()
  - callers of old tx.add_info_from_wallet() should now called either
    - tx.add_info_from_wallet(), then tx.add_info_from_network(), preferably in that order
    - tx.add_info_from_wallet() alone is sufficient if the tx is complete,
      or typically when not in a signing context
- callers of wallet.bump_fee and wallet.dscancel are now expected to have already
  called tx.add_info_from_network(), as it cannot be done in a non-async context
  (but for the common case of all-inputs-are-ismine, bump_fee/dscancel should work regardless)
- PartialTxInput.utxo was moved to the baseclass, TxInput.utxo
2023-03-12 00:21:57 +00:00