commit ab5a142738c93c19495aace85ba9a8443e9479e5
parent 3ba864bbca1ece32316cf60430ddc222b1f748ea
Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 19 Dec 2017 23:25:07 +0100
change tx size to label. small fix re connecting slider and feerate. slider changes look when its value is ignored.
Diffstat:
2 files changed, 41 insertions(+), 6 deletions(-)
diff --git a/gui/qt/fee_slider.py b/gui/qt/fee_slider.py
@@ -54,3 +54,28 @@ class FeeSlider(QSlider):
self.setValue(pos)
tooltip = self.get_tooltip(pos, fee_rate)
self.setToolTip(tooltip)
+
+ def activate(self):
+ self.setStyleSheet('')
+
+ def deactivate(self):
+ # TODO it would be nice to find a platform-independent solution
+ # that makes the slider look as if it was disabled
+ self.setStyleSheet(
+ """
+ QSlider::groove:horizontal {
+ border: 1px solid #999999;
+ height: 8px;
+ background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #B1B1B1);
+ margin: 2px 0;
+ }
+
+ QSlider::handle:horizontal {
+ background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:1 #8f8f8f);
+ border: 1px solid #5c5c5c;
+ width: 12px;
+ margin: -2px 0;
+ border-radius: 3px;
+ }
+ """
+ )
diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
@@ -1067,8 +1067,12 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
self.config.set_key('fee_level', pos, False)
else:
self.config.set_key('fee_per_kb', fee_rate, False)
+
+ self.feerate_e.setAmount(fee_rate // 1000)
+ self.fee_e.setModified(False)
+
+ self.fee_slider.activate()
self.spend_max() if self.is_max else self.update_fee()
- self.feerate_e.setAmount(fee_rate//1000)
self.fee_slider = FeeSlider(self, self.config, fee_cb)
self.fee_slider.setFixedWidth(140)
@@ -1084,10 +1088,17 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
# edit_changed was edited just now, so make sure we will
# freeze the correct fee setting (this)
edit_other.setModified(False)
+ self.fee_slider.deactivate()
self.update_fee()
- self.size_e = AmountEdit(lambda: 'bytes')
- self.size_e.setFrozen(True)
+ class TxSizeLabel(QLabel):
+ def setAmount(self, byte_size):
+ self.setText('x %s bytes =' % byte_size)
+
+ self.size_e = TxSizeLabel()
+ self.size_e.setAlignment(Qt.AlignCenter)
+ self.size_e.setAmount(0)
+ self.size_e.setStyleSheet(ColorScheme.DEFAULT.as_stylesheet())
self.feerate_e = FeerateEdit(lambda: 2 if self.fee_unit else 0)
self.feerate_e.textEdited.connect(partial(on_fee_or_feerate, self.feerate_e, False))
@@ -1118,8 +1129,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
hbox.addWidget(self.size_e)
hbox.addWidget(self.fee_e)
- self.size_e.setStyleSheet(ColorScheme.BLUE.as_stylesheet())
-
vbox_feecontrol = QVBoxLayout()
vbox_feecontrol.addWidget(self.fee_adv_controls)
vbox_feecontrol.addWidget(self.fee_slider)
@@ -1643,9 +1652,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
self.payment_request = None
self.payto_e.is_pr = False
for e in [self.payto_e, self.message_e, self.amount_e, self.fiat_send_e,
- self.fee_e, self.feerate_e, self.size_e]:
+ self.fee_e, self.feerate_e]:
e.setText('')
e.setFrozen(False)
+ self.size_e.setAmount(0)
self.set_pay_from([])
#self.rbf_checkbox.setChecked(False)
self.tx_external_keypairs = {}