From ca40b37ec5844397ae501bc3c7453ea7c0c89d30 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 18 Apr 2023 12:59:09 +0000 Subject: [PATCH] qml: show "tx fee rate" in TxDetails, like in other guis --- electrum/gui/qml/components/TxDetails.qml | 12 ++++++++++++ electrum/gui/qml/qetxdetails.py | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/electrum/gui/qml/components/TxDetails.qml b/electrum/gui/qml/components/TxDetails.qml index 1435cf370..d4d54e641 100644 --- a/electrum/gui/qml/components/TxDetails.qml +++ b/electrum/gui/qml/components/TxDetails.qml @@ -117,6 +117,18 @@ Pane { } } + Label { + visible: txdetails.feeRateStr != "" + text: qsTr('Transaction fee rate') + color: Material.accentColor + } + + Label { + Layout.fillWidth: true + visible: txdetails.feeRateStr != "" + text: txdetails.feeRateStr + } + Label { Layout.fillWidth: true text: qsTr('Status') diff --git a/electrum/gui/qml/qetxdetails.py b/electrum/gui/qml/qetxdetails.py index 866aea3d9..5897eb3a3 100644 --- a/electrum/gui/qml/qetxdetails.py +++ b/electrum/gui/qml/qetxdetails.py @@ -37,6 +37,7 @@ class QETxDetails(QObject, QtEventListener): self._amount = QEAmount() self._lnamount = QEAmount() self._fee = QEAmount() + self._feerate_str = '' self._inputs = [] self._outputs = [] @@ -145,6 +146,10 @@ class QETxDetails(QObject, QtEventListener): def fee(self): return self._fee + @pyqtProperty(str, notify=detailsChanged) + def feeRateStr(self): + return self._feerate_str + @pyqtProperty('QVariantList', notify=detailsChanged) def inputs(self): return self._inputs @@ -259,6 +264,12 @@ class QETxDetails(QObject, QtEventListener): self._status = txinfo.status self._fee.satsInt = txinfo.fee + self._feerate_str = "" + if txinfo.fee is not None: + size = self._tx.estimated_size() + fee_per_kb = txinfo.fee / size * 1000 + self._feerate_str = self._wallet.wallet.config.format_fee_rate(fee_per_kb) + self._is_mined = False if not txinfo.tx_mined_status else txinfo.tx_mined_status.height > 0 if self._is_mined: self.update_mined_status(txinfo.tx_mined_status)