@ -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 ] , * ,