diff options
Diffstat (limited to 'src/ui/ui_invoices.cpp')
| -rw-r--r-- | src/ui/ui_invoices.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index 0256fbd..c08dd76 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -39,8 +39,6 @@ void ui_setup_invoices() tax_bracket_list_buffer = (country_tax_bracket*) malloc(sizeof(country_tax_bracket) * tax_bracket_count); // @leak } -// TODO move custom ui functions to helpers.cpp - void draw_tax_bracket_selector(char* tax_bracket_id) { country_tax_bracket* selected_tax_bracket = NULL; @@ -134,7 +132,7 @@ bool draw_currency_selector(char* currency) if (ImGui::Selectable(currencies[n], isSelected)) { result = true; - strops_copy(currency, currencies[n], CURRENCY_LENGTH); + strops_copy(currency, currencies[n], MAX_LEN_CURRENCY); } if (isSelected) @@ -349,7 +347,7 @@ static void draw_invoice_items_form(invoice* invoice) free(buffer); } -void draw_invoice_form(invoice* buffer, bool viewing_only = false) +static void draw_invoice_form(invoice* buffer, bool viewing_only = false) { ImGui::BeginDisabled(); @@ -447,7 +445,7 @@ void draw_invoice_form(invoice* buffer, bool viewing_only = false) if (viewing_only) ImGui::EndDisabled(); } -void draw_invoices_list() +static void ui_draw_invoices_list() { const u32 items_per_page = 50; static s32 current_page = 0; @@ -529,7 +527,7 @@ void draw_invoices_list() { snprintf(btn_name, sizeof(btn_name), "%s##%d", localize("form.change"), i); if (ImGui::Button(btn_name)) { - active_invoice = c; + active_invoice = administration_invoice_create_copy(&c); // We create a copy because of billing item list pointers. current_view_state = view_state::EDIT; } } @@ -612,20 +610,22 @@ static void ui_draw_invoice_create() if (!can_save) ImGui::EndDisabled(); } +static void ui_draw_invoice_view() +{ + if (ImGui::Button(localize("form.back"))) { + current_view_state = view_state::LIST; + } + + draw_invoice_form(&active_invoice, true); +} + void ui_draw_invoices() { switch(current_view_state) { - case view_state::LIST: draw_invoices_list(); break; + case view_state::LIST: ui_draw_invoices_list(); break; case view_state::CREATE: ui_draw_invoice_create(); break; case view_state::EDIT: ui_draw_invoice_update(); break; - case view_state::VIEW: - { - if (ImGui::Button(localize("form.back"))) { - current_view_state = view_state::LIST; - } - - draw_invoice_form(&active_invoice, true); - } break; + case view_state::VIEW: ui_draw_invoice_view(); break; } }
\ No newline at end of file |
