Skip to content

Commit 7ffd7c9

Browse files
committed
fix bug with instance creator / editor where it would fail if no models are available
1 parent 7e885e9 commit 7ffd7c9

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

src/widgets/instances/__init__.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,12 @@ def set_simple_element_value(self, el):
175175
group.set_visible(group.get_visible() or in_properties)
176176

177177
def get_value(self, el):
178-
if el.get_name() == 'default_model':
179-
if len(self.model_list) > 0:
180-
return self.model_list[el.get_selected()]
181-
elif el.get_name() == 'title_model':
182-
if len(self.model_list) > 0:
183-
return self.model_list[el.get_selected() + 1]
178+
if el.get_name() in ('default_model', 'title_model'):
179+
index = el.get_selected()
180+
if index == 0 or len(self.model_list) == 0:
181+
return None
182+
else:
183+
return self.model_list[index + 1]
184184
elif el.get_name() == 'model_directory':
185185
return el.get_subtitle()
186186
elif isinstance(el, Adw.PasswordEntryRow):
@@ -200,15 +200,16 @@ def get_value(self, el):
200200
def save_requested(self, button=None):
201201
def save_elements_values(elements:list):
202202
for el in elements:
203-
key = el.get_name()
204-
new_value = self.get_value(el)
205-
if key in self.instance.properties:
206-
self.instance.properties[key] = new_value
207-
elif key.removeprefix('override:') in self.instance.properties.get('overrides', {}):
208-
self.instance.properties['overrides'][key.removeprefix('override:')] = new_value
209-
210-
if isinstance(el, Adw.ExpanderRow):
211-
save_elements_values(list(list(list(list(el)[0])[1])[0]))
203+
if el.get_visible():
204+
key = el.get_name()
205+
new_value = self.get_value(el)
206+
if key in self.instance.properties:
207+
self.instance.properties[key] = new_value
208+
elif key.removeprefix('override:') in self.instance.properties.get('overrides', {}):
209+
self.instance.properties['overrides'][key.removeprefix('override:')] = new_value
210+
211+
if isinstance(el, Adw.ExpanderRow):
212+
save_elements_values(list(list(list(list(el)[0])[1])[0]))
212213

213214
for group in (self.connection_group, self.tweak_group, self.parameters_group, self.overrides_group, self.model_group):
214215
save_elements_values(list(list(list(list(group)[0])[1])[0]))

0 commit comments

Comments
 (0)