From c1d950f2765cde614c8411b4effb3850146ba598 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 18 Oct 2025 08:41:54 +0200 Subject: ui loading animation for model request --- src/ui/ui_settings.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/ui/ui_settings.cpp') diff --git a/src/ui/ui_settings.cpp b/src/ui/ui_settings.cpp index cf27b49..a4b5748 100644 --- a/src/ui/ui_settings.cpp +++ b/src/ui/ui_settings.cpp @@ -16,7 +16,6 @@ #include "ui.hpp" -#include "imgui.h" #include "strops.hpp" #include "memops.hpp" #include "locales.hpp" @@ -396,15 +395,24 @@ static void draw_services() } else { ImGui::BeginDisabled(); - if (ImGui::BeginCombo(locale::get("settings.services.ai_service.model"), new_service.model_name)) + ImGui::BeginCombo(locale::get("settings.services.ai_service.model"), NULL, 1 << 20); { - ImGui::EndCombo(); - } - if (model_request->status != importer::status::IMPORT_DONE) { - ImGui::SameLine(); + if (ImGui::BeginComboPreview()) + { + if (model_request->status != importer::status::IMPORT_DONE) { + float radius = 10.0f; + const ImVec4 col = ImGui::GetStyleColorVec4(ImGuiCol_ButtonHovered); + const ImVec4 bg = ImGui::GetStyleColorVec4(ImGuiCol_Button); + ImGui::LoadingIndicatorCircle("##loadingAnim", radius, bg, col, 6, 4.0f); + + ImGui::SameLine(); + } + ImGui::TextUnformatted(new_service.model_name); + + ImGui::EndComboPreview(); + } - // TODO replace with LoadingIndicatorCircle - ImGui::Text("%c", "|/-\\"[(int)(ImGui::GetTime() / 0.05f) & 3]); + //ImGui::EndCombo(); } ImGui::EndDisabled(); } -- cgit v1.2.3-70-g09d2