@@ -64,8 +64,10 @@ class FeeMethod(IntEnum):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def slider_index_of_method(cls, method):
|
def slider_index_of_method(cls, method):
|
||||||
i = FeeMethod.slider_values().index(method)
|
try:
|
||||||
assert i is not None
|
i = FeeMethod.slider_values().index(method)
|
||||||
|
except ValueError:
|
||||||
|
i = -1
|
||||||
return i
|
return i
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ from electrum.plugin import run_hook
|
|||||||
from electrum.transaction import Transaction, PartialTransaction
|
from electrum.transaction import Transaction, PartialTransaction
|
||||||
from electrum.wallet import InternalAddressCorruption
|
from electrum.wallet import InternalAddressCorruption
|
||||||
from electrum.bitcoin import DummyAddress
|
from electrum.bitcoin import DummyAddress
|
||||||
from electrum.fee_policy import FeePolicy, FixedFeePolicy
|
from electrum.fee_policy import FeePolicy, FixedFeePolicy, FeeMethod
|
||||||
|
|
||||||
from .util import (WindowModalDialog, ColorScheme, HelpLabel, Buttons, CancelButton,
|
from .util import (WindowModalDialog, ColorScheme, HelpLabel, Buttons, CancelButton,
|
||||||
WWLabel, read_QIcon)
|
WWLabel, read_QIcon)
|
||||||
@@ -163,7 +163,6 @@ class TxEditor(WindowModalDialog):
|
|||||||
self.fiat_fee_label.setStyleSheet(ColorScheme.DEFAULT.as_stylesheet())
|
self.fiat_fee_label.setStyleSheet(ColorScheme.DEFAULT.as_stylesheet())
|
||||||
|
|
||||||
self.feerate_e = FeerateEdit(lambda: 0)
|
self.feerate_e = FeerateEdit(lambda: 0)
|
||||||
self.feerate_e.setAmount(self.fee_policy.fee_per_byte(self.network))
|
|
||||||
self.feerate_e.textEdited.connect(partial(self.on_fee_or_feerate, self.feerate_e, False))
|
self.feerate_e.textEdited.connect(partial(self.on_fee_or_feerate, self.feerate_e, False))
|
||||||
self.feerate_e.editingFinished.connect(partial(self.on_fee_or_feerate, self.feerate_e, True))
|
self.feerate_e.editingFinished.connect(partial(self.on_fee_or_feerate, self.feerate_e, True))
|
||||||
self.update_feerate_label()
|
self.update_feerate_label()
|
||||||
@@ -175,6 +174,11 @@ class TxEditor(WindowModalDialog):
|
|||||||
self.feerate_e.setFixedWidth(150)
|
self.feerate_e.setFixedWidth(150)
|
||||||
self.fee_e.setFixedWidth(150)
|
self.fee_e.setFixedWidth(150)
|
||||||
|
|
||||||
|
if self.fee_policy.method != FeeMethod.FIXED:
|
||||||
|
self.feerate_e.setAmount(self.fee_policy.fee_per_byte(self.network))
|
||||||
|
else:
|
||||||
|
self.fee_e.setAmount(self.fee_policy.value)
|
||||||
|
|
||||||
self.fee_e.textChanged.connect(self.entry_changed)
|
self.fee_e.textChanged.connect(self.entry_changed)
|
||||||
self.feerate_e.textChanged.connect(self.entry_changed)
|
self.feerate_e.textChanged.connect(self.entry_changed)
|
||||||
|
|
||||||
@@ -229,6 +233,8 @@ class TxEditor(WindowModalDialog):
|
|||||||
self.needs_update = True
|
self.needs_update = True
|
||||||
|
|
||||||
def fee_slider_callback(self, fee_rate):
|
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.config.FEE_POLICY = self.fee_policy.get_descriptor()
|
||||||
self.fee_slider.activate()
|
self.fee_slider.activate()
|
||||||
if fee_rate:
|
if fee_rate:
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ class FeeSlider(QSlider):
|
|||||||
|
|
||||||
def moved(self, pos):
|
def moved(self, pos):
|
||||||
with self.lock:
|
with self.lock:
|
||||||
|
if self.fee_policy.method == FeeMethod.FIXED:
|
||||||
|
return
|
||||||
self.fee_policy.set_value_from_slider_pos(pos)
|
self.fee_policy.set_value_from_slider_pos(pos)
|
||||||
fee_rate = self.fee_policy.fee_per_kb(self.network)
|
fee_rate = self.fee_policy.fee_per_kb(self.network)
|
||||||
tooltip = self.fee_policy.get_tooltip(self.network)
|
tooltip = self.fee_policy.get_tooltip(self.network)
|
||||||
@@ -69,6 +71,8 @@ class FeeSlider(QSlider):
|
|||||||
|
|
||||||
def update(self, *, is_initialized: bool = True):
|
def update(self, *, is_initialized: bool = True):
|
||||||
with self.lock:
|
with self.lock:
|
||||||
|
if self.fee_policy.method == FeeMethod.FIXED:
|
||||||
|
return
|
||||||
pos = self.fee_policy.get_slider_pos()
|
pos = self.fee_policy.get_slider_pos()
|
||||||
maxp = self.fee_policy.get_slider_max()
|
maxp = self.fee_policy.get_slider_max()
|
||||||
self.setRange(0, maxp)
|
self.setRange(0, maxp)
|
||||||
|
|||||||
Reference in New Issue
Block a user