summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@mailbox.org>2026-01-01 17:39:43 +0100
committerAldrik Ramaekers <aldrik@mailbox.org>2026-01-01 17:39:43 +0100
commitb65e7f01fb9be5d7ffe8b9c9c4c8eba67cd902ee (patch)
treeef1d421601d86d7f7239ccaa6921e72bc85362df /src
parent3088c3e904c1b4d9cb1ea3ba24f851356f6a2ab9 (diff)
ui improvements
Diffstat (limited to 'src')
-rw-r--r--src/ui/imgui_extensions.cpp38
-rw-r--r--src/ui/ui_expenses.cpp14
-rw-r--r--src/ui/ui_invoices.cpp14
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();
}