diff options
Diffstat (limited to 'llamachat/ui.py')
| -rw-r--r-- | llamachat/ui.py | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/llamachat/ui.py b/llamachat/ui.py index 11fffae..3ea3598 100644 --- a/llamachat/ui.py +++ b/llamachat/ui.py @@ -594,9 +594,21 @@ class ChatWindow(QMainWindow): self.attach_label.hide() right_layout.addWidget(self.attach_label) + self.status_row = QWidget() + status_row = QHBoxLayout(self.status_row) + status_row.setContentsMargins(0, 0, 0, 0) + status_row.setSpacing(6) self.status_label = QLabel() - self.status_label.hide() - right_layout.addWidget(self.status_label) + self.status_label.setWordWrap(True) + status_row.addWidget(self.status_label, 1) + self.status_dismiss = QToolButton() + self.status_dismiss.setText("✕") + self.status_dismiss.setToolTip("Dismiss this message") + self.status_dismiss.setAutoRaise(True) + self.status_dismiss.clicked.connect(self.hide_status) + status_row.addWidget(self.status_dismiss, 0, Qt.AlignTop) + self.status_row.hide() + right_layout.addWidget(self.status_row) self.input = QPlainTextEdit() self.input.setPlaceholderText( @@ -1683,10 +1695,13 @@ class ChatWindow(QMainWindow): if error else "padding: 4px;" ) - self.status_label.show() + # Every status message is dismissable: errors persist until something + # replaces them, and a transient one can be cleared early too. + self.status_dismiss.show() + self.status_row.show() def hide_status(self) -> None: - self.status_label.hide() + self.status_row.hide() # -- window behaviour ------------------------------------------------- |
