summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/ui_expenses.cpp10
-rw-r--r--src/ui/ui_invoices.cpp9
-rw-r--r--src/ui/ui_log.cpp20
-rw-r--r--src/ui/ui_main.cpp11
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();
}