Merge pull request #7238 from SomberNight/202104_qt_send_max_tooltip
qt send tab: when clicking "Max", show tooltip explaining max amt
This commit is contained in:
@@ -39,7 +39,7 @@ import asyncio
|
||||
from typing import Optional, TYPE_CHECKING, Sequence, List, Union
|
||||
|
||||
from PyQt5.QtGui import QPixmap, QKeySequence, QIcon, QCursor, QFont
|
||||
from PyQt5.QtCore import Qt, QRect, QStringListModel, QSize, pyqtSignal
|
||||
from PyQt5.QtCore import Qt, QRect, QStringListModel, QSize, pyqtSignal, QPoint
|
||||
from PyQt5.QtCore import QTimer
|
||||
from PyQt5.QtWidgets import (QMessageBox, QComboBox, QSystemTrayIcon, QTabWidget,
|
||||
QMenuBar, QFileDialog, QCheckBox, QLabel,
|
||||
@@ -1461,6 +1461,17 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
|
||||
__, x_fee_amount = run_hook('get_tx_extra_fee', self.wallet, tx) or (None, 0)
|
||||
amount_after_all_fees = amount - x_fee_amount
|
||||
self.amount_e.setAmount(amount_after_all_fees)
|
||||
# show tooltip explaining max amount
|
||||
mining_fee = tx.get_fee()
|
||||
mining_fee_str = self.format_amount_and_units(mining_fee)
|
||||
msg = _("Mining fee: {} (can be adjusted on next screen)").format(mining_fee_str)
|
||||
if x_fee_amount:
|
||||
twofactor_fee_str = self.format_amount_and_units(x_fee_amount)
|
||||
msg += "\n" + _("2fa fee: {} (for the next batch of transactions)").format(twofactor_fee_str)
|
||||
frozen_bal = self.get_frozen_balance_str()
|
||||
if frozen_bal:
|
||||
msg += "\n" + _("Some coins are frozen: {} (can be unfrozen in the Addresses or in the Coins tab)").format(frozen_bal)
|
||||
QToolTip.showText(self.max_button.mapToGlobal(QPoint(0, 0)), msg)
|
||||
|
||||
def get_contact_payto(self, key):
|
||||
_type, label = self.contacts.get(key)
|
||||
@@ -1663,13 +1674,19 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
|
||||
|
||||
def get_text_not_enough_funds_mentioning_frozen(self) -> str:
|
||||
text = _("Not enough funds")
|
||||
frozen_bal = sum(self.wallet.get_frozen_balance())
|
||||
if frozen_bal:
|
||||
text += " ({} {} {})".format(
|
||||
self.format_amount(frozen_bal).strip(), self.base_unit(), _("are frozen")
|
||||
frozen_str = self.get_frozen_balance_str()
|
||||
if frozen_str:
|
||||
text += " ({} {})".format(
|
||||
frozen_str, _("are frozen")
|
||||
)
|
||||
return text
|
||||
|
||||
def get_frozen_balance_str(self) -> Optional[str]:
|
||||
frozen_bal = sum(self.wallet.get_frozen_balance())
|
||||
if not frozen_bal:
|
||||
return None
|
||||
return self.format_amount_and_units(frozen_bal)
|
||||
|
||||
def pay_onchain_dialog(
|
||||
self, inputs: Sequence[PartialTxInput],
|
||||
outputs: List[PartialTxOutput], *,
|
||||
|
||||
Reference in New Issue
Block a user