summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-09-12 14:51:41 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-09-12 14:51:41 +0200
commitd174d803de2296061731c3698980a6a51e6fc3ef (patch)
tree27cf4a1d2e5c8d7ec98b3c88641d2fc4e231543d /src/ui
parent12f306e2144081e00c36ed9942068462604bef55 (diff)
fix invoice savefile overflow
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/ui_earnings.cpp5
-rw-r--r--src/ui/ui_expenses.cpp15
-rw-r--r--src/ui/ui_invoices.cpp15
3 files changed, 35 insertions, 0 deletions
diff --git a/src/ui/ui_earnings.cpp b/src/ui/ui_earnings.cpp
index 4f545d2..aed31f4 100644
--- a/src/ui/ui_earnings.cpp
+++ b/src/ui/ui_earnings.cpp
@@ -58,6 +58,11 @@ void ui_draw_earnings()
ImGui::TableSetupColumn(statement->quarters[quarter_start+q].quarter_str, ImGuiTableColumnFlags_WidthStretch);
}
+ if (statement->quarters[quarter_start].is_empty) ImGui::TableSetColumnEnabled(1, false); else ImGui::TableSetColumnEnabled(1, true);
+ if (statement->quarters[quarter_start+1].is_empty) ImGui::TableSetColumnEnabled(2, false); else ImGui::TableSetColumnEnabled(2, true);
+ if (statement->quarters[quarter_start+2].is_empty) ImGui::TableSetColumnEnabled(3, false); else ImGui::TableSetColumnEnabled(3, true);
+ if (statement->quarters[quarter_start+3].is_empty) ImGui::TableSetColumnEnabled(4, false); else ImGui::TableSetColumnEnabled(4, true);
+
ImGui::TableHeadersRow();
ImGui::PopFont();
diff --git a/src/ui/ui_expenses.cpp b/src/ui/ui_expenses.cpp
index ab47e26..eb8d8c1 100644
--- a/src/ui/ui_expenses.cpp
+++ b/src/ui/ui_expenses.cpp
@@ -9,6 +9,7 @@
#include "ui.hpp"
#include "imgui.h"
#include "administration.hpp"
+#include "administration_writer.hpp"
#include "locales.hpp"
static view_state current_view_state = view_state::LIST;
@@ -466,6 +467,13 @@ static void ui_draw_expense_update()
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
administration_invoice_update(&active_invoice);
+ if (administration_writer_save_invoice_blocking(active_invoice)) {
+ ui_set_status(localize("status.saved"));
+ }
+ else {
+ ui_set_status_error(localize("status.saveFailed"));
+ }
+
current_view_state = view_state::LIST;
ui_destroy_expenses();
@@ -489,6 +497,13 @@ static void ui_draw_expense_create()
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
administration_invoice_add(&active_invoice);
+ if (administration_writer_save_invoice_blocking(active_invoice)) {
+ ui_set_status(localize("status.saved"));
+ }
+ else {
+ ui_set_status_error(localize("status.saveFailed"));
+ }
+
current_view_state = view_state::LIST;
ui_destroy_expenses();
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp
index 9d6f8a2..fd748c8 100644
--- a/src/ui/ui_invoices.cpp
+++ b/src/ui/ui_invoices.cpp
@@ -9,6 +9,7 @@
#include "ui.hpp"
#include "imgui.h"
#include "administration.hpp"
+#include "administration_writer.hpp"
#include "locales.hpp"
@@ -499,6 +500,13 @@ static void ui_draw_invoice_update()
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
administration_invoice_update(&active_invoice);
+ if (administration_writer_save_invoice_blocking(active_invoice)) {
+ ui_set_status(localize("status.saved"));
+ }
+ else {
+ ui_set_status_error(localize("status.saveFailed"));
+ }
+
current_view_state = view_state::LIST;
ui_destroy_invoices();
@@ -522,6 +530,13 @@ static void ui_draw_invoice_create()
ImGui::Spacing();
if (ImGui::Button(localize("form.save"))) {
administration_invoice_add(&active_invoice);
+ if (administration_writer_save_invoice_blocking(active_invoice)) {
+ ui_set_status(localize("status.saved"));
+ }
+ else {
+ ui_set_status_error(localize("status.saveFailed"));
+ }
+
current_view_state = view_state::LIST;
ui_destroy_invoices();