diff options
Diffstat (limited to 'src/ui/ui_settings.cpp')
| -rw-r--r-- | src/ui/ui_settings.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ui/ui_settings.cpp b/src/ui/ui_settings.cpp index 0d3a210..c10ca26 100644 --- a/src/ui/ui_settings.cpp +++ b/src/ui/ui_settings.cpp @@ -60,7 +60,7 @@ void ui::setup_settings() cost_centers = (cost_center*)memops::alloc(cost_center_count * sizeof(cost_center)); administration::cost_center_get_all(cost_centers); - new_ai_service = administration::get_ai_service(); + new_ai_service = administration::get_active_ai_service(); new_email_service = administration::get_email_service(); } } @@ -275,9 +275,14 @@ static void draw_ai_service_ui() { bool is_selected = n == (uint32_t)new_ai_service.provider; if (ImGui::Selectable(ai_service_names[n], is_selected)) { + + ai_service service = administration::get_ai_service((ai_provider)n); new_ai_service.provider = (ai_provider)n; + strops::copy(new_ai_service.model_name, service.model_name, MAX_LEN_SHORT_DESC); + strops::copy(new_ai_service.api_key_public, service.api_key_public, MAX_LEN_API_KEY); + model_request = 0; - set_model_on_load = true; + set_model_on_load = strops::length(new_ai_service.model_name) == 0; } } ImGui::EndCombo(); @@ -341,7 +346,7 @@ static void draw_ai_service_ui() strops::format(id, 100, "%s##ai", locale::get("form.save")); if (ImGui::Button(id, true)) { administration_writer::set_write_completed_event_callback(0); - administration::set_ai_service(new_ai_service); + administration::set_active_ai_service(new_ai_service); } } } |
