1
0
Commit Graph

15537 Commits

Author SHA1 Message Date
Sander van Grieken
f8e43b3149 qml: styling MessageDialog 2023-02-03 17:27:12 +01:00
Sander van Grieken
3cd3212921 qml: show correct delete confirm text for channel backups 2023-02-03 17:13:44 +01:00
SomberNight
b4d2c902c4 qt tx dialog: fix for pre-segwit legacy wallets
```
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/invoice_list.py", line 169, in <lambda>
    menu.addAction(_("Pay") + "...", lambda: self.send_tab.do_pay_invoice(invoice))
  File "/home/user/wspace/electrum/electrum/gui/qt/send_tab.py", line 585, in do_pay_invoice
    self.pay_onchain_dialog(self.window.get_coins(), invoice.outputs)
  File "/home/user/wspace/electrum/electrum/gui/qt/send_tab.py", line 271, in pay_onchain_dialog
    preview_dlg = PreviewTxDialog(
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 962, in __init__
    self.update()
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 658, in update
    self.io_widget.update(self.tx)
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 212, in update
    tx_height, tx_pos = self.wallet.adb.get_txpos(self.tx.txid())
  File "/home/user/wspace/electrum/electrum/address_synchronizer.py", line 483, in get_txpos
    verified_tx_mined_info = self.db.get_verified_tx(tx_hash)
  File "/home/user/wspace/electrum/electrum/json_db.py", line 44, in wrapper
    return func(self, *args, **kwargs)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 1256, in get_verified_tx
    assert isinstance(txid, str)
AssertionError
```
2023-02-03 16:10:03 +00:00
SomberNight
b9f4758853 qt tx dialog: add "Copy Outpoint" to both IO ctx menus 2023-02-03 16:09:59 +00:00
Sander van Grieken
ee5dec0c59 qml: correctly update channel list after channel backup import, and correctly delete channel backup 2023-02-03 17:08:12 +01:00
SomberNight
3dadfadcab qt tx dialog: readd "insert_tx_io" code-factorisation recently rm-ed
follow-up 7d42676785
2023-02-03 15:50:16 +00:00
Sander van Grieken
dc1441d129 qml: make sure to keep ref to instance 2023-02-03 16:27:22 +01:00
SomberNight
6ae105ca99 qt tx dialog: fix size of IO textedits when resizing
textedit.setMinimumWidth(950) (from 5af399d19639b0c141398db964270c4974f124acdoes) does not play well with the tx_dlg.setMinimumWidth(640)
when resizing. Make 950 only affect the default sizing of the textedit.
2023-02-03 15:17:42 +00:00
SomberNight
04a5aaeddc transaction: (trivial) add comment about is_cb_input vs is_cb_output
follow-up d6febb5c12, 96ac199f5c
2023-02-03 14:49:16 +00: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
Sander van Grieken
420546c201 qml: assert role exists in qechannellistmodel.filterModel 2023-02-03 15:43:40 +01:00
Sander van Grieken
daa5c984fa qml: remove leftovers WalletMainView 2023-02-03 13:49:21 +01:00
Sander van Grieken
8b933f3488 followup b2a02dd047 2023-02-03 13:42:37 +01:00
Sander van Grieken
b2a02dd047 qml: put FlatButtons in ButtonContainer where (potentially) more buttons are grouped 2023-02-03 13:34:53 +01:00
Sander van Grieken
d89aebc4bb qml: FlatButton icon above text, smaller fontsize 2023-02-03 13:34:52 +01:00
Sander van Grieken
4bb4941a52 qml: add ButtonContainer, which lays out its children horizontally with separators in between 2023-02-03 13:34:52 +01:00
ThomasV
5af399d196 transaction_dialog: move tx in/out widgets into own class
- this widget will be used in various dialogs
- making this change now will prevent downstream conflicts
- the part that displays "coin selection active" was commented out
2023-02-03 12:33:24 +01:00
Sander van Grieken
13e340870a qml: BalanceSummary sync progress 2023-02-03 11:43:55 +01:00
Sander van Grieken
41f137a127 qml: qewallet sync status and progress 2023-02-03 11:43:37 +01:00
Sander van Grieken
7ea2a2a8ea qml: use dirty flag on qetransactionlistmodel 2023-02-03 11:35:23 +01:00
ThomasV
96ac199f5c minor fix; follow-up d6febb5c12 2023-02-03 10:45:14 +01:00
SomberNight
dbd2e56e85 qt gui: more resilient startup
Example log:
app tries to auto-open to wallet "test_segwit_2", which has too new db version,
then user manually tries to open wallet "test_segwit_3" instead,
which opens okay but - immediately after - the process shuts down (due to line 383 -> line 458).
```
$ ./run_electrum -v --testnet -o
  0.59 | I | simple_config.SimpleConfig | electrum directory /home/user/.electrum/testnet
  0.59 | I | logging | Electrum version: 4.3.4 - https://electrum.org - https://github.com/spesmilo/electrum
  0.59 | I | logging | Python version: 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]. On platform: Linux-5.15.0-58-generic-x86_64-with-glibc2.35
  0.59 | I | logging | Logging to file: /home/user/.electrum/testnet/logs/electrum_log_20230202T151759Z_220451.log
  0.59 | I | logging | Log filters: verbosity '*', verbosity_shortcuts ''
  0.59 | I | p/plugin.Plugins | registering hardware bitbox02: ('hardware', 'bitbox02', 'BitBox02')
  0.59 | I | p/plugin.Plugins | registering hardware coldcard: ('hardware', 'coldcard', 'Coldcard Wallet')
  0.59 | I | p/plugin.Plugins | registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet')
  0.60 | I | p/plugin.Plugins | registering hardware jade: ('hardware', 'jade', 'Jade wallet')
  0.60 | I | p/plugin.Plugins | registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet')
  0.60 | I | p/plugin.Plugins | registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet')
  1.74 | I | p/plugin.Plugins | loaded payserver
  1.74 | I | p/plugin.Plugins | registering hardware safe_t: ('hardware', 'safe_t', 'Safe-T mini wallet')
  1.74 | I | p/plugin.Plugins | registering hardware trezor: ('hardware', 'trezor', 'Trezor wallet')
  1.74 | I | p/plugin.Plugins | registering wallet type ('2fa', 'trustedcoin')
  1.74 | D | util.profiler | Plugins.__init__ 1.1522 sec
  1.74 | I | exchange_rate.FxThread | using exchange CoinGecko
  1.75 | D | util.profiler | Daemon.__init__ 0.0033 sec
  1.75 | I | daemon.Daemon | starting taskgroup.
  1.75 | I | daemon.Daemon | launching GUI: qt
  1.75 | I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=5.15.3, PyQt=5.15.6
  1.75 | I | daemon.CommandsServer | now running and listening. socktype=unix, addr=/home/user/.electrum/testnet/daemon_rpc_socket
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
  2.04 | D | util.profiler | ElectrumGui.__init__ 0.2865 sec
  2.04 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_2
  2.13 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_2
  5.24 | E | gui.qt.ElectrumGui |
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/__init__.py", line 354, in start_new_window
    wallet = self._start_wizard_to_select_or_create_wallet(path)
  File "/home/user/wspace/electrum/electrum/gui/qt/__init__.py", line 401, in _start_wizard_to_select_or_create_wallet
    db = WalletDB(storage.read(), manual_upgrades=False)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 72, in __init__
    self.load_data(raw)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 102, in load_data
    if not self.requires_upgrade():
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 153, in requires_upgrade
    return self.get_seed_version() < FINAL_SEED_VERSION
  File "/home/user/wspace/electrum/electrum/json_db.py", line 44, in wrapper
    return func(self, *args, **kwargs)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 1035, in get_seed_version
    raise WalletFileException('This version of Electrum is too old to open this wallet.\n'
electrum.util.WalletFileException: This version of Electrum is too old to open this wallet.
(highest supported storage version: 50, version of this file: 51)
  5.35 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/wallet_20
  7.90 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_3
  8.48 | D | util.profiler | WalletDB._load_transactions 0.0517 sec
  8.48 | D | util.profiler | AddressSynchronizer.load_local_history 0.0005 sec
  8.48 | D | util.profiler | AddressSynchronizer.check_history 0.0005 sec
  8.70 | D | util.profiler | AddressList.update 0.0000 sec
  9.00 | D | util.profiler | Deterministic_Wallet.try_detecting_internal_addresses_corruption 0.0223 sec
  9.01 | D | util.profiler | ElectrumWindow.load_wallet 0.0808 sec
  9.01 | I | daemon.Daemon | stop() entered. initiating shutdown
  9.01 | I | gui.qt.ElectrumGui | closing GUI
  9.01 | I | daemon.Daemon | stopping all wallets
  9.04 | I | storage.WalletStorage | saved /home/user/.electrum/testnet/wallets/test_segwit_3
  9.04 | D | util.profiler | WalletDB._write 0.0265 sec
  9.04 | I | daemon.Daemon | stopping network and taskgroup
  9.04 | I | daemon.Daemon | taskgroup stopped.
  9.04 | I | daemon.Daemon | removing lockfile
  9.04 | I | daemon.Daemon | stopped
  9.08 | I | p/plugin.Plugins | stopped
QThread: Destroyed while thread is still running
Aborted (core dumped)
```
2023-02-02 15:25:15 +00:00
Sander van Grieken
a174e3780b qml: add flickable to exceptiondialog 2023-02-01 15:44:53 +01:00
Sander van Grieken
9fd7bfd65c handle empty stack in base_crash_handler 2023-02-01 15:44:46 +01:00
Sander van Grieken
ca1edd1545 qml: remove channel backup button if channel list item is channelbackup 2023-01-31 16:33:48 +01:00
Sander van Grieken
80f3492f2a qml: add is_imported attribute to channel list item, show different icon
if channel backup is imported
2023-01-31 16:32:37 +01:00
Sander van Grieken
0b2db9ca46 qml: FormattedAmount: also update fiat when the amount instance changes 2023-01-31 15:52:31 +01:00
Sander van Grieken
f304fa2e60 qml: remove RequestDialog (unused) 2023-01-31 15:08:09 +01:00
Sander van Grieken
d43f37d078 qml: add simple Toaster, mainly to indicate copy to clipboard 2023-01-31 15:05:18 +01:00
Sander van Grieken
845ea599fa qml: add bug icon 2023-01-31 14:02:16 +01:00
Sander van Grieken
6111c69f1e qml: move Lightning can receive amount to ReceiveDialog, rename Lightning can send to Lightning (balance) in BalanceSummary
FormattedAmount is now aware of FX rate changing and updates accordingly
2023-01-31 14:00:41 +01:00
Sander van Grieken
cf3e5c0dfd qml: hamburger menu use icon, not label 2023-01-31 13:31:27 +01:00
Sander van Grieken
d2bab4d51a qml: confirm close electrum dialog instead of double-tap back button 2023-01-31 13:15:19 +01:00
SomberNight
c4061f143b CI: (trivial) make "Locale" task depend on same py version it uses 2023-01-30 17:36:05 +00:00
SomberNight
b230203245 contrib/push_locale: mv temp files from project_root to locale/ 2023-01-30 17:36:01 +00:00
SomberNight
4f66afb8a8 refactor locale scripts
follow-up 000a3de571
2023-01-30 17:35:58 +00:00
Sander van Grieken
d033e10e17 qml: fix leftover in TxDetails 2023-01-30 16:59:23 +01:00
Sander van Grieken
bd10fbeaf0 qml: clean up Channels/ChannelBackups, implement proper count property on QEFilterProxyModel 2023-01-30 16:36:29 +01:00
Sander van Grieken
c868ddedb5 qml: add ChannelBackups.qml 2023-01-20 10:24:11 +01:00
Sander van Grieken
26f7238eb5 qml: add initial generic listmodel filter QEFilterProxyModel 2023-01-30 16:22:29 +01:00
Sander van Grieken
264cb7846f qml: add language selection to qeconfig.py/Preferences 2023-01-30 14:12:46 +01:00
Sander van Grieken
e58a61a135 add qttools5-dev-tools to requirements for building locale (needed by qml translations) 2023-01-30 12:56:11 +01:00
Sander van Grieken
2849c021b6 qml: add gettext-wrapping QTranslator 2023-01-30 12:52:50 +01:00
Sander van Grieken
000a3de571 extract QML translation strings, convert to gettext and combine with
rest of template
2023-01-27 16:29:51 +01:00
Sander van Grieken
54ced26885 qml: remove leftover 2023-01-30 14:10:25 +01:00
SomberNight
4aa319e5c3 CI: exclude generated protobuf files from flake8 2023-01-28 00:51:12 +00:00
SomberNight
4f9469b789 re-generate protobuf _pb2.py files and bump min required protobuf
upper bound "<4" still needed due to keepkey...

related https://github.com/spesmilo/electrum/issues/7922
2023-01-28 00:39:36 +00:00
Sander van Grieken
8b7743c4bf qml: show menu also when no wallet loaded 2023-01-27 14:54:45 +01:00