summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-09-17 10:30:27 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-09-17 10:30:27 +0200
commit885f413e9ae887979a59d0ca7238246429dd81ad (patch)
tree07d2dabe1ae3fadf36d8526f3fb156c7796fb06b /src/ui
parent8c1eb3246c8f738867b2ddeb44e48f8332633963 (diff)
set invoice finals if invoice currency != main currency
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/ui_expenses.cpp36
-rw-r--r--src/ui/ui_invoices.cpp36
2 files changed, 64 insertions, 8 deletions
diff --git a/src/ui/ui_expenses.cpp b/src/ui/ui_expenses.cpp
index 96489d3..75bd268 100644
--- a/src/ui/ui_expenses.cpp
+++ b/src/ui/ui_expenses.cpp
@@ -189,7 +189,7 @@ static void draw_expense_items_form(invoice* invoice)
ImGui::PopItemWidth();
ImGui::TableSetColumnIndex(4);
- ImGui::InputFloat("##discount", &item.discount, 0.0f, 0.0f, "%.0f");
+ ImGui::InputFloat("##discount", &item.discount, 0.0f, 0.0f, "%.2f");
ImGui::SameLine();
// Toggle between currency and %
@@ -233,13 +233,41 @@ static void draw_expense_items_form(invoice* invoice)
ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0, IM_COL32(70, 70, 70, 255));
ImGui::TableSetColumnIndex(5);
- ImGui::Text("%.2f %s", invoice->net, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_net, invoice->currency);
ImGui::TableSetColumnIndex(7);
- ImGui::Text("%.2f %s", invoice->tax, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_tax, invoice->currency);
ImGui::TableSetColumnIndex(8);
- ImGui::Text("%.2f %s", invoice->total, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_total, invoice->currency);
+
+ if (strcmp(invoice->currency, administration_get_default_currency()) != 0) {
+ ImGui::TableNextRow();
+ ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0, IM_COL32(50, 50, 50, 255));
+
+ ImGui::TableSetColumnIndex(2);
+ ImGui::Text("%s %s", localize("invoice.form.finalSettlement"), administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(4);
+ ImGui::InputFloat("##final_allowance", &invoice->allowance, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(5);
+ ImGui::InputFloat("##final_net", &invoice->net, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(7);
+ ImGui::InputFloat("##final_tax", &invoice->tax, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(8);
+ ImGui::InputFloat("##final_total", &invoice->total, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+ }
ImGui::EndTable();
}
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp
index f022509..6db7054 100644
--- a/src/ui/ui_invoices.cpp
+++ b/src/ui/ui_invoices.cpp
@@ -223,7 +223,7 @@ static void draw_invoice_items_form(invoice* invoice)
ImGui::PopItemWidth();
ImGui::TableSetColumnIndex(4);
- ImGui::InputFloat("##discount", &item.discount, 0.0f, 0.0f, "%.0f");
+ ImGui::InputFloat("##discount", &item.discount, 0.0f, 0.0f, "%.2f");
ImGui::SameLine();
// Toggle between currency and %
@@ -266,13 +266,41 @@ static void draw_invoice_items_form(invoice* invoice)
ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0, IM_COL32(70, 70, 70, 255));
ImGui::TableSetColumnIndex(5);
- ImGui::Text("%.2f %s", invoice->net, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_net, invoice->currency);
ImGui::TableSetColumnIndex(7);
- ImGui::Text("%.2f %s", invoice->tax, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_tax, invoice->currency);
ImGui::TableSetColumnIndex(8);
- ImGui::Text("%.2f %s", invoice->total, invoice->currency);
+ ImGui::Text("%.2f %s", invoice->orig_total, invoice->currency);
+
+ if (strcmp(invoice->currency, administration_get_default_currency()) != 0) {
+ ImGui::TableNextRow();
+ ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0, IM_COL32(50, 50, 50, 255));
+
+ ImGui::TableSetColumnIndex(2);
+ ImGui::Text("%s %s", localize("invoice.form.finalSettlement"), administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(4);
+ ImGui::InputFloat("##final_allowance", &invoice->allowance, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(5);
+ ImGui::InputFloat("##final_net", &invoice->net, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(7);
+ ImGui::InputFloat("##final_tax", &invoice->tax, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+
+ ImGui::TableSetColumnIndex(8);
+ ImGui::InputFloat("##final_total", &invoice->total, 0.0f, 0.0f, "%.2f");
+ ImGui::SameLine();
+ ImGui::Text("%s", administration_get_default_currency());
+ }
ImGui::EndTable();
}