diff options
Diffstat (limited to 'src/ui/ui_invoices.cpp')
| -rw-r--r-- | src/ui/ui_invoices.cpp | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index 8741965..3987b72 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -388,11 +388,17 @@ static void draw_invoices_list() } } +static void _reset_to_default_view() +{ + current_view_state = ui::view_state::LIST_ALL; + ui::destroy_invoices(); + ui::setup_invoices(); +} static void draw_invoice_update() { - if (ImGui::Button(locale::get("form.back"))) { - current_view_state = ui::view_state::LIST_ALL; + if (ImGui::Button(locale::get("form.back"), true, false)) { + _reset_to_default_view(); } draw_invoice_form(&active_invoice); @@ -401,13 +407,9 @@ static void draw_invoice_update() if (!can_save) ImGui::BeginDisabled(); ImGui::Spacing(); - if (ImGui::Button(locale::get("form.save"))) { + if (ImGui::Button(locale::get("form.save"), true)) { + administration_writer::set_write_completed_event_callback(_reset_to_default_view); administration::invoice_update(&active_invoice); - - current_view_state = ui::view_state::LIST_ALL; - - ui::destroy_invoices(); - ui::setup_invoices(); } if (!can_save) ImGui::EndDisabled(); @@ -415,8 +417,8 @@ static void draw_invoice_update() static void draw_invoice_create() { - if (ImGui::Button(locale::get("form.back"))) { - current_view_state = ui::view_state::LIST_ALL; + if (ImGui::Button(locale::get("form.back"), true, false)) { + _reset_to_default_view(); } draw_invoice_form(&active_invoice); @@ -425,13 +427,9 @@ static void draw_invoice_create() if (!can_save) ImGui::BeginDisabled(); ImGui::Spacing(); - if (ImGui::Button(locale::get("form.save"))) { + if (ImGui::Button(locale::get("form.save"), true)) { + administration_writer::set_write_completed_event_callback(_reset_to_default_view); administration::invoice_add(&active_invoice); - - current_view_state = ui::view_state::LIST_ALL; - - ui::destroy_invoices(); - ui::setup_invoices(); } if (!can_save) ImGui::EndDisabled(); @@ -439,8 +437,8 @@ static void draw_invoice_create() static void draw_invoice_view() { - if (ImGui::Button(locale::get("form.back"))) { - current_view_state = ui::view_state::LIST_ALL; + if (ImGui::Button(locale::get("form.back"), true, false)) { + _reset_to_default_view(); } draw_invoice_form(&active_invoice, true); |
