diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-19 13:49:36 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-19 13:49:36 +0200 |
| commit | 60dfc4cab91b0076901cac81ba6cb1f2d198b06c (patch) | |
| tree | b5408e86171782eb28017702b79e47f0ca03ed89 /src/ui/ui_settings.cpp | |
| parent | 18bfbc423d188683973a0a3d6c31c9225158e262 (diff) | |
new tax rate format, ui and r/w
Diffstat (limited to 'src/ui/ui_settings.cpp')
| -rw-r--r-- | src/ui/ui_settings.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/ui/ui_settings.cpp b/src/ui/ui_settings.cpp index 7feacb2..c1a27a2 100644 --- a/src/ui/ui_settings.cpp +++ b/src/ui/ui_settings.cpp @@ -68,8 +68,9 @@ static void draw_vat_rates() char id[MAX_LEN_SHORT_DESC]; strops::format(id, MAX_LEN_SHORT_DESC, "TableVatRates##%d", static_cast<int>(type_iter)); - if (ImGui::BeginTable(id, 3, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg)) { + if (ImGui::BeginTable(id, 4, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg)) { + ImGui::TableSetupColumn("##check", ImGuiTableColumnFlags_WidthFixed, 25); ImGui::TableSetupColumn(locale::get("settings.vat.table.outgoing"), ImGuiTableColumnFlags_WidthStretch); ImGui::TableSetupColumn(locale::get("settings.vat.table.rates"), ImGuiTableColumnFlags_WidthFixed, 120); ImGui::TableSetupColumn(locale::get("settings.vat.table.section"), ImGuiTableColumnFlags_WidthFixed, 200); @@ -79,18 +80,29 @@ static void draw_vat_rates() tax_rate c = tax_rates[i]; if (c.type != type_iter) continue; + ImGui::PushID(i); + ImGui::TableNextRow(); + ImGui::TableSetColumnIndex(0); + bool toggle = administration::tax_rate_exists(c) == A_ERR_SUCCESS; + if (ImGui::Checkbox("##toggle", &toggle)) { + if (toggle) administration::tax_rate_add(c); + else administration::tax_rate_remove(c); + } + char localized_code[MAX_LEN_LONG_DESC]; strops::format(localized_code, MAX_LEN_LONG_DESC, "taxrate.code.%s", c.internal_code); - ImGui::TableSetColumnIndex(0); ImGui::TextUnformatted(locale::get(localized_code)); - ImGui::TableSetColumnIndex(1); ImGui::Text("%.2f%%", c.rate); - ImGui::TableSetColumnIndex(2); + ImGui::TableSetColumnIndex(1); ImGui::TextUnformatted(locale::get(localized_code)); + ImGui::TableSetColumnIndex(2); ImGui::Text("%.2f%%", c.rate); + ImGui::TableSetColumnIndex(3); for (u32 x = 0; x < c.tax_section_count; x++) { if (x == 0) ImGui::TextUnformatted(c.tax_sections[x]); else ImGui::Text(", %s", c.tax_sections[x]); if (x != c.tax_section_count-1) ImGui::SameLine(0, 0); } + + ImGui::PopID(); } ImGui::EndTable(); |
