diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-12 18:21:53 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-12 18:21:53 +0200 |
| commit | 5159a53e58cd4b3652ce6255856d50e15c275f80 (patch) | |
| tree | 736d854c472cea59ae919cdc824730819787d4d0 /src/ui/ui_start.cpp | |
| parent | abf01f657d068aa6b22ab962cbe01b88f3b5f7ea (diff) | |
startup views & new administration setup
Diffstat (limited to 'src/ui/ui_start.cpp')
| -rw-r--r-- | src/ui/ui_start.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/ui/ui_start.cpp b/src/ui/ui_start.cpp new file mode 100644 index 0000000..f1377ec --- /dev/null +++ b/src/ui/ui_start.cpp @@ -0,0 +1,50 @@ +#include "ui.hpp" +#include "imgui.h" +#include "administration.hpp" +#include "locales.hpp" +#include "tinyfiledialogs.h" +#include "administration_writer.hpp" + +void create_new_administration() +{ + // @localize + char const * lFilterPatterns[1] = { "*.openbook" }; + char* save_path = tinyfd_saveFileDialog("Select destination", NULL, 1, lFilterPatterns, NULL); + + if (!save_path) return; + + administration_create_empty(save_path); + + administration_writer_save_all_cost_centers_blocking(); + administration_writer_save_all_tax_brackets_blocking(); + administration_writer_save_all_administration_info_blocking(); + + ui_set_state(main_state::UI_SETTINGS); +} + +void ui_draw_start() +{ + // Get the window size + ImVec2 windowSize = ImGui::GetContentRegionAvail(); + + // Calculate half the width for each button + ImVec2 buttonSize(windowSize.x * 0.5f, windowSize.y); + + ImGui::Columns(2, nullptr, false); // 2 columns, no border + + // Left button + if (ImGui::Button("Create", buttonSize)) + { + create_new_administration(); + } + + ImGui::NextColumn(); + + // Right button + if (ImGui::Button("Load", buttonSize)) + { + // Handle Load action + } + + ImGui::Columns(1); // Reset columns +}
\ No newline at end of file |
