Skip to content

Commit 6242087

Browse files
committed
Replace model selector with button if there aren't any models download
1 parent 1da6e31 commit 6242087

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

src/custom_widgets/model_widget.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,10 @@ def __init__(self):
8282
orientation=0,
8383
spacing=5
8484
)
85-
self.label = Gtk.Label(label=_('Select a Model'))
85+
self.label = Gtk.Label()
8686
container.append(self.label)
8787
container.append(Gtk.Image.new_from_icon_name("down-symbolic"))
8888
super().__init__(
89-
tooltip_text=_('Select a Model'),
9089
child=container,
9190
popover=self.popover,
9291
halign=3
@@ -105,8 +104,7 @@ def model_changed(self, listbox:Gtk.ListBox):
105104
self.label.set_label(window.convert_model_name(model_name, 0))
106105
self.set_tooltip_text(window.convert_model_name(model_name, 0))
107106
elif len(list(listbox)) == 0:
108-
self.label.set_label(_("Select a Model"))
109-
self.set_tooltip_text(_("Select a Model"))
107+
window.title_stack.set_visible_child_name('no_models')
110108
window.model_manager.verify_if_image_can_be_used()
111109

112110
def add_model(self, model_name:str):
@@ -122,10 +120,12 @@ def add_model(self, model_name:str):
122120
model_row = model_selector_row(model_name, data)
123121
GLib.idle_add(self.get_popover().model_list_box.append, model_row)
124122
GLib.idle_add(self.change_model, model_name)
123+
GLib.idle_add(window.title_stack.set_visible_child_name, 'model_selector')
125124

126125
def remove_model(self, model_name:str):
127126
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))
128127
self.model_changed(self.get_popover().model_list_box)
128+
window.title_stack.set_visible_child_name('model_selector' if len(window.model_manager.get_model_list()) > 0 else 'no_models')
129129

130130
def clear_list(self):
131131
self.get_popover().model_list_box.remove_all()
@@ -611,7 +611,8 @@ def update_local_list(self):
611611
except Exception as e:
612612
logger.error(e)
613613
window.connection_error()
614-
window.title_stack.set_visible_child_name('model_selector')
614+
window.title_stack.set_visible_child_name('model_selector' if len(window.model_manager.get_model_list()) > 0 else 'no_models')
615+
#window.title_stack.set_visible_child_name('model_selector')
615616
window.chat_list_box.update_welcome_screens(len(self.get_model_list()) > 0)
616617

617618
#Should only be called when the app starts

src/window.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,7 @@ def local_instance_process():
831831

832832
[element.set_sensitive(True) for element in sensitive_elements]
833833
self.get_application().lookup_action('manage_models').set_enabled(True)
834-
self.title_stack.set_visible_child_name('model_selector')
834+
self.title_stack.set_visible_child_name('model_selector' if len(self.model_manager.get_model_list()) > 0 else 'no_models')
835835

836836
if state:
837837
options = {

src/window.ui

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@
9797
</property>
9898
</object>
9999
</child>
100+
<child>
101+
<object class="GtkStackPage">
102+
<property name="name">no_models</property>
103+
<property name="child">
104+
<object class="GtkButton">
105+
<property name="label" translatable="yes">Manage Models</property>
106+
<property name="tooltip-text" translatable="yes">Manage Models</property>
107+
<property name="action-name">app.manage_models</property>
108+
</object>
109+
</property>
110+
</object>
111+
</child>
100112
</object>
101113
</child>
102114
<child type="end">

0 commit comments

Comments
 (0)