Skip to content

Commit bd08612

Browse files
committed
feat(gui-base64): show input and output char counts in window title
1 parent 9008398 commit bd08612

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

‎Base64_examples/gui_base64.py‎

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
168171
class 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

Comments
 (0)