diff options
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/ui_expenses.cpp | 10 | ||||
| -rw-r--r-- | src/ui/ui_invoices.cpp | 9 | ||||
| -rw-r--r-- | src/ui/ui_log.cpp | 20 | ||||
| -rw-r--r-- | src/ui/ui_main.cpp | 11 |
4 files changed, 48 insertions, 2 deletions
diff --git a/src/ui/ui_expenses.cpp b/src/ui/ui_expenses.cpp index eb8d8c1..bb23ba9 100644 --- a/src/ui/ui_expenses.cpp +++ b/src/ui/ui_expenses.cpp @@ -438,7 +438,15 @@ static void ui_draw_expenses_list() ImGui::Separator(); if (ImGui::Button(localize("form.yes"), ImVec2(120, 0))) { - administration_invoice_remove(&selected_for_removal); + if (administration_invoice_remove(&selected_for_removal)) { + if (administration_writer_delete_entry(selected_for_removal.id)) { + ui_set_status(localize("status.saved")); + } + else { + ui_set_status_error(localize("status.saveFailed")); + } + } + ImGui::CloseCurrentPopup(); } ImGui::SameLine(); diff --git a/src/ui/ui_invoices.cpp b/src/ui/ui_invoices.cpp index fd748c8..d64147f 100644 --- a/src/ui/ui_invoices.cpp +++ b/src/ui/ui_invoices.cpp @@ -471,7 +471,14 @@ static void ui_draw_invoices_list() ImGui::Separator(); if (ImGui::Button(localize("form.yes"), ImVec2(120, 0))) { - administration_invoice_remove(&selected_for_removal); + if (administration_invoice_remove(&selected_for_removal)) { + if (administration_writer_delete_entry(selected_for_removal.id)) { + ui_set_status(localize("status.saved")); + } + else { + ui_set_status_error(localize("status.saveFailed")); + } + } ImGui::CloseCurrentPopup(); } ImGui::SameLine(); diff --git a/src/ui/ui_log.cpp b/src/ui/ui_log.cpp new file mode 100644 index 0000000..08a0a72 --- /dev/null +++ b/src/ui/ui_log.cpp @@ -0,0 +1,20 @@ +#include <stdio.h> + +#include "ui.hpp" +#include "imgui.h" +#include "log.hpp" +#include "locales.hpp" + +void ui_draw_log() +{ + log* l = get_log(); + + for (int i = (int)l->history_length-1; i >= 0; i--) + { + u32 cursor = l->write_cursor - l->history_length + i; + if (cursor < 0) { + cursor = (l->write_cursor + i) % MAX_LEN_LOG_HISTORY; + } + ImGui::Text(l->history[cursor]); + } +}
\ No newline at end of file diff --git a/src/ui/ui_main.cpp b/src/ui/ui_main.cpp index 9ff965d..61c4784 100644 --- a/src/ui/ui_main.cpp +++ b/src/ui/ui_main.cpp @@ -12,6 +12,7 @@ typedef enum REPORT_TAX = 4, PROJECTS = 5, SETTINGS = 6, + LOG = 7, END } dashboard_view_state; @@ -25,6 +26,7 @@ void (*drawcalls[dashboard_view_state::END])(void) = { 0, ui_draw_projects, ui_draw_settings, + ui_draw_log, }; void (*setupcalls[dashboard_view_state::END])(void) = { @@ -35,6 +37,7 @@ void (*setupcalls[dashboard_view_state::END])(void) = { 0, ui_setup_projects, ui_setup_settings, + 0, }; void (*destroycalls[dashboard_view_state::END])(void) = { @@ -45,6 +48,7 @@ void (*destroycalls[dashboard_view_state::END])(void) = { 0, 0, ui_destroy_settings, + 0, }; static void set_dashboard_state(dashboard_view_state state) @@ -68,6 +72,13 @@ void ui_draw_main() ImGui::EndMenu(); } + + if (ImGui::BeginMenu("Help")) + { + if (ImGui::MenuItem("Event Log")) { set_dashboard_state(dashboard_view_state::LOG); } + + ImGui::EndMenu(); + } ImGui::EndMainMenuBar(); } |
