From e617dd07a076d8bc9bacc6c9e8292a7644d5e010 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 19 Apr 2023 16:08:24 +0000 Subject: [PATCH] qt send tab: fix payto_contacts closes https://github.com/spesmilo/electrum/issues/8313 --- electrum/gui/qt/paytoedit.py | 4 ++++ electrum/gui/qt/send_tab.py | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/electrum/gui/qt/paytoedit.py b/electrum/gui/qt/paytoedit.py index af2ebfd61..b43354ba4 100644 --- a/electrum/gui/qt/paytoedit.py +++ b/electrum/gui/qt/paytoedit.py @@ -121,6 +121,7 @@ class PayToEdit(Logger, GenericInputHandler): self.setText = self.editor.setText self.setEnabled = self.editor.setEnabled self.setReadOnly = self.editor.setReadOnly + self.setFocus = self.editor.setFocus # button handlers self.on_qr_from_camera_input_btn = partial( self.input_qr_from_camera, @@ -150,10 +151,13 @@ class PayToEdit(Logger, GenericInputHandler): return self.text_edit if self.is_paytomany() else self.line_edit def set_paytomany(self, b): + has_focus = self.editor.hasFocus() self._is_paytomany = b self.line_edit.setVisible(not b) self.text_edit.setVisible(b) self.send_tab.paytomany_menu.setChecked(b) + if has_focus: + self.editor.setFocus() def toggle_paytomany(self): self.set_paytomany(not self._is_paytomany) diff --git a/electrum/gui/qt/send_tab.py b/electrum/gui/qt/send_tab.py index 3412a2f1c..cbfa7687a 100644 --- a/electrum/gui/qt/send_tab.py +++ b/electrum/gui/qt/send_tab.py @@ -793,12 +793,11 @@ class SendTab(QWidget, MessageBoxMixin, Logger): def payto_contacts(self, labels): paytos = [self.window.get_contact_payto(label) for label in labels] self.window.show_send_tab() + self.payto_e.do_clear() if len(paytos) == 1: self.payto_e.setText(paytos[0]) self.amount_e.setFocus() else: + self.payto_e.setFocus() text = "\n".join([payto + ", 0" for payto in paytos]) self.payto_e.setText(text) - self.payto_e.setFocus() - -