summaryrefslogtreecommitdiff
path: root/src/ui/ui_settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ui_settings.cpp')
-rw-r--r--src/ui/ui_settings.cpp20
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();