@@ -165,11 +165,14 @@ def log_uncaught_exceptions(ex_cls, ex, tb) -> None:
165165]
166166
167167
168+ WINDOW_TITLE : str = f"{ Path (__file__ ).stem } . Qt v{ qVersion ()} "
169+
170+
168171class MainWindow (QWidget ):
169172 def __init__ (self ) -> None :
170173 super ().__init__ ()
171174
172- self .setWindowTitle (f" { Path ( __file__ ). stem } . Qt v { qVersion () } " )
175+ self .setWindowTitle (WINDOW_TITLE )
173176
174177 self .button_direct = QPushButton ()
175178 self .button_direct .setSizePolicy (QSizePolicy .Expanding , QSizePolicy .Preferred )
@@ -178,7 +181,7 @@ def __init__(self) -> None:
178181 self .cb_encoding .addItems (STANDART_ENCODINGS )
179182 self .cb_encoding .setFixedWidth (100 )
180183
181- index = self .cb_encoding .findText ("utf_8" )
184+ index : int = self .cb_encoding .findText ("utf_8" )
182185 self .cb_encoding .setCurrentIndex (index )
183186
184187 self .cb_raw = QCheckBox ("raw" )
@@ -206,8 +209,8 @@ def __init__(self) -> None:
206209 self .button_detail_error .setToolTip ("Detail error" )
207210 self .button_detail_error .clicked .connect (self .show_detail_error_massage )
208211
209- self .last_error_message : str | None = None
210- self .last_detail_error_message : str | None = None
212+ self .last_error_message : str = ""
213+ self .last_detail_error_message : str = ""
211214
212215 # True - кодирование текста, False - раскодирование
213216 self .is_direct_encode_text : bool = True
@@ -251,8 +254,8 @@ def input_text_changed(self) -> None:
251254 self .label_error .clear ()
252255 self .button_detail_error .hide ()
253256
254- self .last_error_message = None
255- self .last_detail_error_message = None
257+ self .last_error_message = ""
258+ self .last_detail_error_message = ""
256259
257260 try :
258261 codec_name = self .cb_encoding .currentText ()
@@ -284,7 +287,13 @@ def input_text_changed(self) -> None:
284287 self .last_detail_error_message = str (tb )
285288 self .button_detail_error .show ()
286289
287- self .label_error .setText ("Error: " + self .last_error_message )
290+ self .label_error .setText (f"Error: { self .last_error_message } " )
291+
292+ input_chars : int = len (self .text_edit_input .toPlainText ())
293+ output_chars : int = len (self .text_edit_output .toPlainText ())
294+ self .setWindowTitle (
295+ f"{ WINDOW_TITLE } . Input { input_chars } chars, output { output_chars } chars"
296+ )
288297
289298 def change_convert_direct (self ) -> None :
290299 self .is_direct_encode_text = not self .is_direct_encode_text
0 commit comments