From 02b0073ca578b2226c9dd6928824693d9aac5307 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 15 Jul 2025 16:37:37 +0000 Subject: [PATCH 1/2] qt ConfirmTxDialog: also save custom fixed feerate fee_policies - save custom fixed feerate fee_policies, not just slider-restricted ones - dynamically update fee_target text, to follow feerate_e - otherwise when the slider is set to "feerate", users would be shown two conflicting values --- electrum/gui/qt/confirm_tx_dialog.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index e6c80f203..a0391e985 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -137,7 +137,7 @@ class TxEditor(WindowModalDialog): raise NotImplementedError() def update_fee_target(self): - text = self.fee_slider.fee_policy.get_target_text() + text = self.fee_policy.get_target_text() self.fee_target.setText(text) # self.fee_target.setVisible(self.fee_slider.fee_policy.use_dynamic_estimates) # hide in static mode @@ -233,9 +233,6 @@ class TxEditor(WindowModalDialog): self.needs_update = True def fee_slider_callback(self, fee_rate): - if self.fee_policy.method == FeeMethod.FIXED: - return - self.config.FEE_POLICY = self.fee_policy.get_descriptor() self.fee_slider.activate() if fee_rate: fee_rate = Decimal(fee_rate) @@ -367,6 +364,7 @@ class TxEditor(WindowModalDialog): self.set_feerounding_visibility(abs(feerounding) >= 1) # feerate_label needs to be updated from feerate_e self.update_feerate_label() + self.update_fee_target() def create_buttons_bar(self): self.preview_button = QPushButton(_('Preview')) @@ -617,7 +615,9 @@ class ConfirmTxDialog(TxEditor): self.amount_label.setText(amount_str) def update_tx(self, *, fallback_to_zero_fee: bool = False): - fee_policy = self.get_fee_policy() + self.fee_policy = fee_policy = self.get_fee_policy() + if fee_policy.method != FeeMethod.FIXED: + self.config.FEE_POLICY = fee_policy.get_descriptor() confirmed_only = self.config.WALLET_SPEND_CONFIRMED_ONLY base_tx = self._base_tx try: From 76005372a6cb9a771c66d79392fa4dc98891d5af Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 15 Jul 2025 16:52:11 +0000 Subject: [PATCH 2/2] qt ConfirmTxDialog: only show fee_target text if slider is active --- electrum/gui/qt/confirm_tx_dialog.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index a0391e985..4313eb21c 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -137,9 +137,11 @@ class TxEditor(WindowModalDialog): raise NotImplementedError() def update_fee_target(self): - text = self.fee_policy.get_target_text() + if self.fee_slider.is_active(): + text = self.fee_policy.get_target_text() + else: + text = "" self.fee_target.setText(text) - # self.fee_target.setVisible(self.fee_slider.fee_policy.use_dynamic_estimates) # hide in static mode def update_feerate_label(self): self.feerate_label.setText(self.feerate_e.text() + ' ' + self.feerate_e.base_unit())