summaryrefslogtreecommitdiff
path: root/src/ui/ui_settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ui_settings.cpp')
-rw-r--r--src/ui/ui_settings.cpp11
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);
}
}
}