diff options
Diffstat (limited to 'src/ui/imgui_extensions.cpp')
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index 8673f53..31b6f22 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -58,6 +58,20 @@ namespace ImGui return button_size; } + static void DrawSuccessMark(int bWidth = 0) + { + ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_SUCCESS); + result = ImGui::Button("√", ImVec2(bWidth, 0)); + ImGui::PopStyleColor(); + } + + static void DrawFailureMark(int bWidth = 0) + { + ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_ERROR); + result = ImGui::Button("X", ImVec2(bWidth, 0)); + ImGui::PopStyleColor(); + } + bool Button(const char* label, bool block_while_writing_to_disk, bool show_loading_indicator_while_blocked) { ImGui::PushID(label); @@ -110,7 +124,7 @@ namespace ImGui { bool result = false; - if (active_id == id && !show_status) { + if (active_id == id && !show_status && show_loading_indicator_while_blocked) { show_status = true; status_time = ImGui::GetTime(); } @@ -124,18 +138,8 @@ namespace ImGui float padding = framePadding.x; // Adjust based on your design float buttonWidth = textSize.x + 2 * padding; - if (administration_writer::last_write_result()) - { - ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_SUCCESS); - result = ImGui::Button("√", ImVec2(buttonWidth, 0)); - ImGui::PopStyleColor(); - } - else - { - ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_ERROR); - result = ImGui::Button("X", ImVec2(buttonWidth, 0)); - ImGui::PopStyleColor(); - } + if (administration_writer::last_write_result()) DrawSuccessMark(buttonWidth); + else DrawFailureMark(buttonWidth); ImGui::EndDisabled(); @@ -804,15 +808,11 @@ namespace ImGui if (ImGui::BeginComboPreview()) { if (last_err == E_ERR_SUCCESS) { - ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_SUCCESS); - ImGui::Text("√"); - ImGui::PopStyleColor(); + DrawSuccessMark(); ImGui::Text("Success"); // @Localize } else { - ImGui::PushStyleColor(ImGuiCol_Text, config::colors::COLOR_ERROR); - ImGui::Text("X"); - ImGui::PopStyleColor(); + DrawFailureMark(); ImGui::Text("Failed"); // @Localize } ImGui::EndComboPreview(); |
