diff options
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 38 | ||||
| -rw-r--r-- | src/ui/ui_expenses.cpp | 14 | ||||
| -rw-r--r-- | src/ui/ui_invoices.cpp | 14 |
3 files changed, 29 insertions, 37 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(); diff --git a/src/ui/ui_expenses.cpp b/src/ui/ui_expenses.cpp index 82d7426..f86a1b5 100644 --- a/src/ui/ui_expenses.cpp +++ b/src/ui/ui_expenses.cpp @@ -315,9 +315,9 @@ static void _reset_to_default_view() activity_count = 0; } -static void _reset_to_invoice_view() +static void _invoice_saved_callback() { - current_view_state = ui::view_state::VIEW_EXISTING; + _reload_activities(); } static void _draw_activity_sidepanel() @@ -354,7 +354,7 @@ static void _draw_activity_sidepanel() static void draw_expense_update() { - if (ImGui::Button(locale::get("form.cancel"), true, false)) { + if (ImGui::Button(locale::get("form.back"), true, false)) { current_view_state = ui::view_state::VIEW_EXISTING; } @@ -363,10 +363,8 @@ static void draw_expense_update() if (!can_save) ImGui::BeginDisabled(); ImGui::SameLine(); if (ImGui::Button(locale::get("form.save"), true)) { - administration_writer::set_write_completed_event_callback(_reset_to_invoice_view); + administration_writer::set_write_completed_event_callback(_invoice_saved_callback); administration::invoice_update(&active_invoice); - - _reload_activities(); } if (!can_save) ImGui::EndDisabled(); } @@ -394,10 +392,8 @@ static void draw_expense_create() if (!can_save) ImGui::BeginDisabled(); ImGui::SameLine(); if (ImGui::Button(locale::get("form.save"), true)) { - administration_writer::set_write_completed_event_callback(_reset_to_invoice_view); + administration_writer::set_write_completed_event_callback(_invoice_saved_callback); administration::invoice_add(&active_invoice); - - _reload_activities(); } if (!can_save) ImGui::EndDisabled(); } diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index 3e48d00..2c0a8e4 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -382,9 +382,9 @@ static void draw_invoices_list() } } -static void _reset_to_invoice_view() +static void _invoice_saved_callback() { - current_view_state = ui::view_state::VIEW_EXISTING; + _reload_activities(); } static void _reset_to_default_view() @@ -429,7 +429,7 @@ static void _draw_activity_sidepanel() static void draw_invoice_update() { - if (ImGui::Button(locale::get("form.cancel"), true, false)) { + if (ImGui::Button(locale::get("form.back"), true, false)) { current_view_state = ui::view_state::VIEW_EXISTING; } @@ -438,10 +438,8 @@ static void draw_invoice_update() if (!can_save) ImGui::BeginDisabled(); ImGui::SameLine(); if (ImGui::Button(locale::get("form.save"), true)) { - administration_writer::set_write_completed_event_callback(_reset_to_invoice_view); + administration_writer::set_write_completed_event_callback(_invoice_saved_callback); administration::invoice_update(&active_invoice); - - _reload_activities(); } if (!can_save) ImGui::EndDisabled(); } @@ -469,10 +467,8 @@ static void draw_invoice_create() if (!can_save) ImGui::BeginDisabled(); ImGui::SameLine(); if (ImGui::Button(locale::get("form.save"), true)) { - administration_writer::set_write_completed_event_callback(_reset_to_invoice_view); + administration_writer::set_write_completed_event_callback(_invoice_saved_callback); administration::invoice_add(&active_invoice); - - _reload_activities(); } if (!can_save) ImGui::EndDisabled(); } |
