Commit Graph

571 Commits

Author SHA1 Message Date
ThomasV
545ee24f46 Qt: move new_channel_dialog to main_window and test available amount beforehand 2023-04-02 10:07:34 +02:00
ThomasV
9eb25cd442 follow-up a080e5130f 2023-03-23 08:22:36 +01:00
ThomasV
5c60b9ad29 ln invoice dialog: show fallback address 2023-03-19 05:16:15 +01:00
SomberNight
55da7276d3 qt export history/privkeys: put wallet name in path
closes https://github.com/spesmilo/electrum/issues/8255
2023-03-17 15:49:58 +00:00
SomberNight
3a7bc82881 icons: add "cloud_yes.png", and rename existing "nocloud" 2023-03-16 15:22:10 +00:00
ThomasV
42a63643f3 receive tab: move expiry to toolbar 2023-03-15 12:20:22 +01:00
ThomasV
33a84f6be5 view menu: use checkable actions 2023-03-15 11:27:05 +01:00
ThomasV
660a8ebc7f Qt: let user edit tx label from tx_dialog
This allows users to edit labels from the utxo_dialog,
without having to search for the transaction in history.

Also, remove block hash from tx dialog: not very useful, and
available through block explorers. (the situation where this
could be useful is case of a chain fork, but in that case the
tx might be mined in both branches of the fork, and we would
want to know that).
2023-03-15 09:33:11 +01:00
ThomasV
d56162c588 follow-up 842229c 2023-03-14 17:12:38 +01:00
ThomasV
49847f3544 Merge pull request #8243 from SomberNight/202303_db_metadata
Store file creation date and version in db
2023-03-14 16:45:35 +01:00
Sander van Grieken
842229c4bb qt: fit StatusBarButton to inner height of status bar 2023-03-14 12:37:34 +01:00
SomberNight
950065a3de Store file creation date and version in db
Store the electrum version used to create a wallet file and a timestamp,
in the file itself. This can be useful for debugging.
2023-03-13 15:15:50 +00:00
SomberNight
c39653c796 qt wallet info dlg: make mess smaller 2023-03-13 14:21:40 +00:00
ThomasV
b690f2e5cd qr_window: keep menu in sync with actual visibility 2023-03-13 14:23:36 +01:00
ThomasV
cbab50e4ce channels_list: move swap and rebalance buttons into toolbar 2023-03-13 12:11:50 +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
473c86c395 toolbar: use custom MyMenu class with addToggle 2023-03-12 10:11:08 +01: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
ThomasV
5ad4023e7d restore invoices_label and requests_label. move paytomany and toggle_qr_window from main menu to toolbar 2023-03-11 18:08:00 +01:00
ThomasV
d6a65a06a7 Qt: move remaining menu items that are tab specific to tab toolbars: history, addresses, contacts 2023-03-11 17:47:01 +01:00
ThomasV
c595df3972 Qt: call create_toolbar in create_list_tab 2023-03-11 15:41:13 +01:00
ThomasV
1a0a52f9b6 invoices and requests lists: move import/export menus into local toolbars 2023-03-11 15:15:16 +01:00
ThomasV
2f6d60c715 Move transaction related settings into transaction editor.
That way, users can see the effects settings directly on their transaction.
This changes the API of make_tx:
 - get_coins is called inside make_tx, so that inputs can be changed dynamically
 - make_tx takes an optional parameter: unconfirmed_only, passed to get_coins
 - ConfirmTxDialog detects if we can pay by disabling confirmed_only or lowering fee
2023-03-05 10:17:03 +01:00
SomberNight
958191013b qt tx dialog: remove "desc" field, just use wallet.get_label_for_txid 2023-03-01 17:13:21 +00:00
ThomasV
e4273e5ab9 utxo privacy analysis:
- add a new event, 'adb_removed_tx'
 - new wallet method: get_tx_parents
 - number of parents is shown in coins tab
 - detailed list of parents is shown in dialog
2023-02-25 11:46:47 +01:00
ThomasV
9a5496cfd8 Qt: remove redundant history_list update 2023-02-20 10:06:26 +01:00
SomberNight
373db76ac9 util: kill bh2u
no longer useful, and the name is so confusing...
2023-02-17 11:43:11 +00:00
ThomasV
1da65451c0 Qt: schedule tooltip in do_copy 2023-02-13 11:11:26 +01:00
ThomasV
bc3946d2f4 Qt: new onchain tx creation flow:
- transaction_dialog is read-only
 - ConfirmTxDialog and RBF dialogs inherit from TxEditor
 - TxEditors are configurable
2023-02-07 16:42:20 +01:00
SomberNight
c2c02391a2 qt tx dialog: add context menus to IO fields
based on:
46df4190c8
2023-02-03 14:49:04 +00:00
SomberNight
7d42676785 qt tx dialog: make scid and addr texts clickable in IO fields
based on:
7eea0b6dae
52d845017c
2023-02-03 14:49:01 +00:00
SomberNight
53ca75d878 qt AddressDialog: separate parent and window 2023-02-03 14:48:57 +00:00
SomberNight
2a9909c252 locale amounts: consistently use "." as dec point, and " " as thou sep
Always use "." as decimal point, and " " as thousands separator.

Previously,
- for decimal point, we were using
  - "." in some places (e.g. AmountEdit, most fiat amounts), and
  - `locale.localeconv()['decimal_point']` in others.
- for thousands separator, we were using
  - "," in some places (most fiat amounts), and
  - " " in others (format_satoshis)

I think it is better to be consistent even if whatever we pick differs from the locale.
Using whitespace for thousands separator (vs comma) is probably less confusing for people
whose locale would user "." for ts and "," for dp (as in e.g. German).

The alternative option would be to always use the locale. Even if we decide to do that later,
this refactoring should be useful.

closes https://github.com/spesmilo/electrum/issues/2629
2023-01-10 14:45:35 +00:00
myxmaster
4a0e337c6d use placeholder for better translation 2023-01-09 17:28:19 +01:00
ThomasV
975cdca474 Qt coin control: allow to add/remove coins one by one.
Not many users know how to select multiple coins at once.
2023-01-06 11:45:14 +01:00
SomberNight
e3485de496 qt gui: handle swap server unreachable
note: testnet swap server is offline atm
closes https://github.com/spesmilo/electrum/issues/8107
2023-01-01 23:43:25 +00:00
accumulator
6e536d2d91 add invoice status to invoice_status callback (#8020)
* add invoice status to invoice_status callback

* debug statement fails tests

* removed commented lines, added progress/attempt counter comment in lnworker.pay_to_node,
and update the invoice_status event handler in qeinvoicelistmodel.py
2022-10-21 16:45:12 +00:00
SomberNight
d94c934e47 qt main_window: _coroutines_scheduled needs locking
window.run_coroutine_from_thread starts a coroutine on the asyncio loop,
which, when finishing, pops from the dict.
The for loop in clean_up is running on the Qt thread.

fixes https://github.com/spesmilo/electrum/issues/7983
2022-09-26 20:10:44 +00:00
SomberNight
abef454237 qt: better handle unparseable URIs
fixes https://github.com/spesmilo/electrum/issues/7941
2022-08-16 15:27:13 +00:00
SomberNight
388811296e qt: replace some hardcoded pixel sizes for better high-dpi support 2022-08-10 20:23:56 +02:00
avirgovi
b5d2b3c512 create chmod aware of XDG_RUNTIME_DIR
closes https://github.com/spesmilo/electrum/pull/7681
related https://github.com/spesmilo/electrum/issues/6334

Co-authored-by: avirgovi <avirgovi@cisco.com>
Co-authored-by: SomberNight <somber.night@protonmail.com>
2022-08-09 19:04:17 +02:00
SomberNight
7b095158bf wallet: add get_label_for_address, and make get_label private
fixes https://github.com/spesmilo/electrum/issues/7919

In the past, when creating payment requests, we keyed them by on-chain address,
and set/saved the msg of the request as label for the address.
Many places in the code were calling wallet.get_label(addr) with the expectation that
relevant payment requests are found and their message/description (if any) is considered.

wallet.get_label(key) is now made private, and instead the explicit non-polymorphic
wallet.get_label_for_{address,rhash,txid} alternatives should be used.
2022-08-09 17:21:14 +02:00
ThomasV
f5b1f7d2d9 Generalize ChannelDetailsDialog to channel backups.
Access funding_tx and closing_tx from the dialog,
instead of from the channels_list context menu.
2022-07-21 11:41:49 +02:00
ThomasV
6a74ffe80e Qt: improve channel details dialog. Add util.ShowQRLineEdit class. 2022-07-19 14:57:33 +02:00
ThomasV
4ff1ed5de5 show_lightning_invoice: minor improvements 2022-07-19 10:32:22 +02:00
ThomasV
85d354bf24 Qt show_lightning_invoice: show features 2022-07-19 10:15:55 +02:00
SomberNight
056de017f0 wallet: use get_request(addr) instead of receive_requests[addr]
since "invoice unification", requests are often keyed by rhash
2022-07-12 15:38:54 +02:00
ThomasV
ce552713a8 rename label: Confirmed -> On-chain 2022-07-05 10:17:59 +02:00
SomberNight
aea16f1322 qt main_window: (trivial) clean-up weird types passed to qt calls 2022-07-01 16:23:06 +02:00
SomberNight
133c0f71c4 qt ReceiveTab: (trivial) rename clear_receive_tab to do_clear 2022-07-01 16:21:56 +02:00