Fixed spinner

This commit is contained in:
jeffser 2024-09-16 18:30:48 -06:00
parent 95912e0211
commit 318f15925f
2 changed files with 15 additions and 0 deletions

View File

@ -345,6 +345,9 @@ class action_buttons(Gtk.Box):
def regenerate_message(self):
chat = self.get_parent().get_parent().get_parent().get_parent().get_parent()
message_element = self.get_parent()
if message_element.spinner:
message_element.container.remove(message_element.spinner)
message_element.spinner = None
if not chat.busy:
message_element.set_text()
if message_element.footer:
@ -425,6 +428,8 @@ class message(Gtk.Overlay):
if not self.action_buttons:
self.action_buttons = action_buttons(self.bot)
self.add_overlay(self.action_buttons)
if not self.text:
self.action_buttons.set_visible(False)
def update_message(self, data:dict):
chat = self.get_parent().get_parent().get_parent().get_parent()
@ -452,6 +457,9 @@ class message(Gtk.Overlay):
window.show_notification(chat.get_name(), self.text[:200] + (self.text[200:] and '...'), Gio.ThemedIcon.new("chat-message-new-symbolic"))
window.save_history(chat)
else:
if self.spinner:
self.container.remove(self.spinner)
self.spinner = None
sys.exit()
def set_text(self, text:str=None):
@ -538,6 +546,9 @@ class message(Gtk.Overlay):
text_b = text_block(self.bot)
text_b.set_visible(False)
self.content_children.append(text_b)
if self.spinner:
self.container.remove(self.spinner)
self.spinner = None
self.spinner = Gtk.Spinner(spinning=True, margin_top=12, margin_bottom=12, hexpand=True)
self.container.append(self.spinner)
self.container.append(text_b)

View File

@ -558,8 +558,12 @@ Generate a title following these rules:
if response.status_code != 200:
raise Exception('Network Error')
except Exception as e:
self.chat_list_box.get_tab_by_name(chat.get_name()).spinner.set_visible(False)
chat.busy = False
GLib.idle_add(message_element.add_action_buttons)
if message_element.spinner:
GLib.idle_add(message_element.container.remove, message_element.spinner)
message_element.spinner = None
GLib.idle_add(chat.show_regenerate_button, message_element)
GLib.idle_add(self.connection_error)