Skip to content

Commit

Permalink
Workaround for initial select on-changed bug #26 (#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
villekr authored Apr 6, 2024
1 parent 79adf9f commit 36cbb1d
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions src/paita/tui/settings_screen.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,16 @@ async def on_mount(self) -> None:
@on(Select.Changed)
async def select_changed(self, event: Select.Changed) -> None:
if event.control.id == "ai_service":
value = event.value
if value == self._model.ai_service:
return
models = self._cache.get(event.value, Select.BLANK, tag=Tag.AI_MODELS.value)
widget: Select = self.query_one("#ai_model")
widget.set_options((item, item) for item in models)
elif event.control.id == "ai_model":
value = event.value
if value == self._model.ai_model:
return
self.query_one("#apply").disabled = False
else:
log.error(f"Undefined {event.id=}")
Expand All @@ -141,12 +147,6 @@ async def on_button_pressed(self, event: Button.Pressed) -> None:
model: SettingsModel = SettingsModel(
ai_service=self.query_one("#ai_service").value,
ai_model=self.query_one("#ai_model").value,
# ai_persona=self.query_one("#ai_persona").text,
# ai_streaming=self.query_one("#ai_streaming").value,
# ai_model_kwargs=json.loads(self.query_one("#ai_model_kwargs").value),
# ai_n=self.query_one("#ai_n").value,
# ai_max_tokens=self.query_one("#ai_max_tokens").value,
# ai_history_depth=self.query_one("#ai_history_depth").value,
)
if (value := self.query_one("#ai_persona").text) != "":
model.ai_persona = value
Expand All @@ -160,7 +160,6 @@ async def on_button_pressed(self, event: Button.Pressed) -> None:
model.ai_history_depth = str_to_num(value)
model.ai_streaming = self.query_one("#ai_streaming").value

# log.debug(f"{model=}")
self._settings.model = model
await self._settings.save()
self.dismiss(True)
Expand Down

0 comments on commit 36cbb1d

Please sign in to comment.