Replace model selector with button if there aren't any models download
This commit is contained in:
parent
1da6e31de1
commit
6242087152
@ -82,11 +82,10 @@ class model_selector_button(Gtk.MenuButton):
|
|||||||
orientation=0,
|
orientation=0,
|
||||||
spacing=5
|
spacing=5
|
||||||
)
|
)
|
||||||
self.label = Gtk.Label(label=_('Select a Model'))
|
self.label = Gtk.Label()
|
||||||
container.append(self.label)
|
container.append(self.label)
|
||||||
container.append(Gtk.Image.new_from_icon_name("down-symbolic"))
|
container.append(Gtk.Image.new_from_icon_name("down-symbolic"))
|
||||||
super().__init__(
|
super().__init__(
|
||||||
tooltip_text=_('Select a Model'),
|
|
||||||
child=container,
|
child=container,
|
||||||
popover=self.popover,
|
popover=self.popover,
|
||||||
halign=3
|
halign=3
|
||||||
@ -105,8 +104,7 @@ class model_selector_button(Gtk.MenuButton):
|
|||||||
self.label.set_label(window.convert_model_name(model_name, 0))
|
self.label.set_label(window.convert_model_name(model_name, 0))
|
||||||
self.set_tooltip_text(window.convert_model_name(model_name, 0))
|
self.set_tooltip_text(window.convert_model_name(model_name, 0))
|
||||||
elif len(list(listbox)) == 0:
|
elif len(list(listbox)) == 0:
|
||||||
self.label.set_label(_("Select a Model"))
|
window.title_stack.set_visible_child_name('no_models')
|
||||||
self.set_tooltip_text(_("Select a Model"))
|
|
||||||
window.model_manager.verify_if_image_can_be_used()
|
window.model_manager.verify_if_image_can_be_used()
|
||||||
|
|
||||||
def add_model(self, model_name:str):
|
def add_model(self, model_name:str):
|
||||||
@ -122,10 +120,12 @@ class model_selector_button(Gtk.MenuButton):
|
|||||||
model_row = model_selector_row(model_name, data)
|
model_row = model_selector_row(model_name, data)
|
||||||
GLib.idle_add(self.get_popover().model_list_box.append, model_row)
|
GLib.idle_add(self.get_popover().model_list_box.append, model_row)
|
||||||
GLib.idle_add(self.change_model, model_name)
|
GLib.idle_add(self.change_model, model_name)
|
||||||
|
GLib.idle_add(window.title_stack.set_visible_child_name, 'model_selector')
|
||||||
|
|
||||||
def remove_model(self, model_name:str):
|
def remove_model(self, model_name:str):
|
||||||
self.get_popover().model_list_box.remove(next((model for model in list(self.get_popover().model_list_box) if model.get_name() == model_name), None))
|
self.get_popover().model_list_box.remove(next((model for model in list(self.get_popover().model_list_box) if model.get_name() == model_name), None))
|
||||||
self.model_changed(self.get_popover().model_list_box)
|
self.model_changed(self.get_popover().model_list_box)
|
||||||
|
window.title_stack.set_visible_child_name('model_selector' if len(window.model_manager.get_model_list()) > 0 else 'no_models')
|
||||||
|
|
||||||
def clear_list(self):
|
def clear_list(self):
|
||||||
self.get_popover().model_list_box.remove_all()
|
self.get_popover().model_list_box.remove_all()
|
||||||
@ -611,7 +611,8 @@ class model_manager_container(Gtk.Box):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
window.connection_error()
|
window.connection_error()
|
||||||
window.title_stack.set_visible_child_name('model_selector')
|
window.title_stack.set_visible_child_name('model_selector' if len(window.model_manager.get_model_list()) > 0 else 'no_models')
|
||||||
|
#window.title_stack.set_visible_child_name('model_selector')
|
||||||
window.chat_list_box.update_welcome_screens(len(self.get_model_list()) > 0)
|
window.chat_list_box.update_welcome_screens(len(self.get_model_list()) > 0)
|
||||||
|
|
||||||
#Should only be called when the app starts
|
#Should only be called when the app starts
|
||||||
|
@ -831,7 +831,7 @@ Generate a title following these rules:
|
|||||||
|
|
||||||
[element.set_sensitive(True) for element in sensitive_elements]
|
[element.set_sensitive(True) for element in sensitive_elements]
|
||||||
self.get_application().lookup_action('manage_models').set_enabled(True)
|
self.get_application().lookup_action('manage_models').set_enabled(True)
|
||||||
self.title_stack.set_visible_child_name('model_selector')
|
self.title_stack.set_visible_child_name('model_selector' if len(self.model_manager.get_model_list()) > 0 else 'no_models')
|
||||||
|
|
||||||
if state:
|
if state:
|
||||||
options = {
|
options = {
|
||||||
|
@ -97,6 +97,18 @@
|
|||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkStackPage">
|
||||||
|
<property name="name">no_models</property>
|
||||||
|
<property name="child">
|
||||||
|
<object class="GtkButton">
|
||||||
|
<property name="label" translatable="yes">Manage Models</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Manage Models</property>
|
||||||
|
<property name="action-name">app.manage_models</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child type="end">
|
<child type="end">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user