Added image previews before sending! + Fixed sintaxis in nb_NO and fr translations

This commit is contained in:
jeffser 2024-07-08 13:33:02 -06:00
parent 0d725d430b
commit e0e2b5c3c2
5 changed files with 48 additions and 21 deletions

View File

@ -509,4 +509,4 @@ msgstr "Ajouté : cadre pour le widget des messages"
#: data/com.jeffser.Alpaca.metainfo.xml.in:323 #: data/com.jeffser.Alpaca.metainfo.xml.in:323
msgid "Fixed \"code blocks shouldn't be editable\"" msgid "Fixed \"code blocks shouldn't be editable\""
msgstr "Résolu : 'les blocs de codes ne devraient pas être édité' msgstr "Résolu : 'les blocs de codes ne devraient pas être édité'"

View File

@ -1259,7 +1259,7 @@ msgid ""
"outstanding reasoning and language understanding capabilities." "outstanding reasoning and language understanding capabilities."
msgstr "" msgstr ""
"Phi-2: en 2.7B-språkmodell av Microsoft Research som viser " "Phi-2: en 2.7B-språkmodell av Microsoft Research som viser "
"veldig god resonnement og språkforståelse med tanke på størrelse". "veldig god resonnement og språkforståelse med tanke på størrelse."
#: src/available_models_descriptions.py:23 #: src/available_models_descriptions.py:23
msgid "" msgid ""
@ -1397,7 +1397,7 @@ msgid ""
"open datasets." "open datasets."
msgstr "" msgstr ""
"OpenHermes 2.5 er en 7B-modell finjustert av Teknium på Mistral med fullt " "OpenHermes 2.5 er en 7B-modell finjustert av Teknium på Mistral med fullt "
"åpent datasett". "åpent datasett."
#: src/available_models_descriptions.py:42 #: src/available_models_descriptions.py:42
msgid "State-of-the-art code generation model" msgid "State-of-the-art code generation model"

View File

@ -152,10 +152,10 @@ def delete_model(self, model_name):
def remove_attached_file_response(self, dialog, task, name): def remove_attached_file_response(self, dialog, task, name):
if dialog.choose_finish(task) == 'remove': if dialog.choose_finish(task) == 'remove':
self.file_preview_dialog.close()
self.remove_attached_file(name) self.remove_attached_file(name)
def remove_attached_file(self, name): def remove_attached_file(self, name):
self.file_preview_dialog.close()
dialog = Adw.AlertDialog( dialog = Adw.AlertDialog(
heading=_("Remove Attachment?"), heading=_("Remove Attachment?"),
body=_("Are you sure you want to remove attachment?"), body=_("Are you sure you want to remove attachment?"),

View File

@ -84,6 +84,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
bot_message_button_container : Gtk.TextView = None bot_message_button_container : Gtk.TextView = None
file_preview_dialog = Gtk.Template.Child() file_preview_dialog = Gtk.Template.Child()
file_preview_text_view = Gtk.Template.Child() file_preview_text_view = Gtk.Template.Child()
file_preview_image = Gtk.Template.Child()
welcome_dialog = Gtk.Template.Child() welcome_dialog = Gtk.Template.Child()
welcome_carousel = Gtk.Template.Child() welcome_carousel = Gtk.Template.Child()
welcome_previous_button = Gtk.Template.Child() welcome_previous_button = Gtk.Template.Child()
@ -498,17 +499,33 @@ class AlpacaWindow(Adw.ApplicationWindow):
else: else:
self.file_preview_remove_button.set_visible(False) self.file_preview_remove_button.set_visible(False)
if content: if content:
buffer = self.file_preview_text_view.get_buffer() if file_type == 'image':
buffer.delete(buffer.get_start_iter(), buffer.get_end_iter()) self.file_preview_image.set_visible(True)
buffer.insert(buffer.get_start_iter(), content, len(content)) self.file_preview_text_view.set_visible(False)
if file_type == 'youtube': image_data = base64.b64decode(content)
self.file_preview_dialog.set_title(content.split('\n')[0]) loader = GdkPixbuf.PixbufLoader.new()
self.file_preview_open_button.set_name(content.split('\n')[2]) loader.write(image_data)
elif file_type == 'website': loader.close()
self.file_preview_open_button.set_name(content.split('\n')[0]) pixbuf = loader.get_pixbuf()
else: texture = Gdk.Texture.new_for_pixbuf(pixbuf)
self.file_preview_image.set_from_paintable(texture)
self.file_preview_image.set_size_request(240, 240)
self.file_preview_dialog.set_title(os.path.basename(file_path)) self.file_preview_dialog.set_title(os.path.basename(file_path))
self.file_preview_open_button.set_name(file_path) self.file_preview_open_button.set_name(file_path)
else:
self.file_preview_image.set_visible(False)
self.file_preview_text_view.set_visible(True)
buffer = self.file_preview_text_view.get_buffer()
buffer.delete(buffer.get_start_iter(), buffer.get_end_iter())
buffer.insert(buffer.get_start_iter(), content, len(content))
if file_type == 'youtube':
self.file_preview_dialog.set_title(content.split('\n')[0])
self.file_preview_open_button.set_name(content.split('\n')[2])
elif file_type == 'website':
self.file_preview_open_button.set_name(content.split('\n')[0])
else:
self.file_preview_dialog.set_title(os.path.basename(file_path))
self.file_preview_open_button.set_name(file_path)
self.file_preview_dialog.present(self) self.file_preview_dialog.present(self)
def convert_history_to_ollama(self): def convert_history_to_ollama(self):

View File

@ -773,14 +773,24 @@
<class name="view"/> <class name="view"/>
</style> </style>
<child> <child>
<object class="GtkTextView" id="file_preview_text_view"> <object class="GtkBox">
<property name="margin-top">12</property> <child>
<property name="margin-bottom">12</property> <object class="GtkTextView" id="file_preview_text_view">
<property name="margin-start">12</property> <property name="margin-top">12</property>
<property name="margin-end">12</property> <property name="margin-bottom">12</property>
<property name="hexpand">true</property> <property name="margin-start">12</property>
<property name="vexpand">true</property> <property name="margin-end">12</property>
<property name="editable">false</property> <property name="hexpand">true</property>
<property name="vexpand">true</property>
<property name="editable">false</property>
</object>
</child>
<child>
<object class="GtkImage" id="file_preview_image">
<property name="hexpand">true</property>
<property name="vexpand">true</property>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>