diff options
| author | Aldrik Ramaekers <aldrik@mailbox.org> | 2026-01-09 10:23:23 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@mailbox.org> | 2026-01-09 10:23:23 +0100 |
| commit | 8bdab613289e2626173de8bff31e7078dd03a16e (patch) | |
| tree | 699eca9f0f0af00b1d337a372b5aefedb115ddf9 | |
| parent | 6555d97f2eaf5b3829543624f6b0a3394715c71b (diff) | |
setup window work
| -rw-r--r-- | include/ui.hpp | 1 | ||||
| -rwxr-xr-x | run_linux64.sh | 5 | ||||
| -rw-r--r-- | src/main_linux.cpp | 5 | ||||
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 1 | ||||
| -rw-r--r-- | src/ui/ui_setup.cpp | 30 |
5 files changed, 34 insertions, 8 deletions
diff --git a/include/ui.hpp b/include/ui.hpp index c1662ad..367ff7a 100644 --- a/include/ui.hpp +++ b/include/ui.hpp @@ -48,6 +48,7 @@ namespace ui { extern ImFont* fontBold; extern ImFont* fontBig; + extern ImFont* fontSmall; void set_state(main_state state); diff --git a/run_linux64.sh b/run_linux64.sh index 9409ddc..e712a69 100755 --- a/run_linux64.sh +++ b/run_linux64.sh @@ -28,13 +28,14 @@ INCLUDE_DIRS="-Ilibs/imgui-1.92.1 \ -Ilibs/xml.c/src \ -Ilibs/ \ -Iinclude" -DEFINITIONS="-D_PLATFORM_=\"linux64\"" +DATE=$(date +"%d/%m/%Y") +DEFINITIONS="-D_PLATFORM_=\"linux64\" -D_DATE_=\"$DATE\"" # Check for test flag if [ "$1" == "-t" ]; then SOURCES="tests/main.cpp src/administration.cpp src/administration_writer.cpp src/administration_reader.cpp src/strops.cpp src/logger.cpp src/locales.cpp src/locales/*.cpp src/providers/*.cpp src/importer.cpp src/memops.cpp src/countries.cpp" OUT_EXE="accounting_tests" - DEFINITIONS="-D_PLATFORM_=\"linux64\" -D_TESTING_MODE_" + DEFINITIONS="-D_PLATFORM_=\"linux64\" -D_TESTING_MODE_ -D_DATE_=$DATE" fi # Compilation command diff --git a/src/main_linux.cpp b/src/main_linux.cpp index a7619b0..9e91f7c 100644 --- a/src/main_linux.cpp +++ b/src/main_linux.cpp @@ -63,8 +63,8 @@ static void _create_window(bool is_setup_window) if (is_setup_window) { glfwWindowHint(GLFW_RESIZABLE, false); - windowWidth = (int)(500 * main_scale); - windowHeight = (int)(400 * main_scale); + windowWidth = (int)(300 * main_scale); + windowHeight = (int)(300 * main_scale); } else { glfwWindowHint(GLFW_RESIZABLE, true); @@ -111,6 +111,7 @@ static void _create_window(bool is_setup_window) ui::fontBold = io.Fonts->AddFontFromFileTTF("/home/aldrik/Projects/open-books/build/Roboto-Bold.ttf", 0); ui::fontBig = io.Fonts->AddFontFromFileTTF("/home/aldrik/Projects/open-books/build/Roboto-Bold.ttf", 30); + ui::fontSmall = io.Fonts->AddFontFromFileTTF("/home/aldrik/Projects/open-books/build/Roboto-Regular.ttf", 12); io.Fonts->Build(); } diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index dca73f2..4268746 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -13,6 +13,7 @@ namespace ui { ImFont* fontBold; ImFont* fontBig; + ImFont* fontSmall; } namespace ImGui diff --git a/src/ui/ui_setup.cpp b/src/ui/ui_setup.cpp index a386e72..8693b60 100644 --- a/src/ui/ui_setup.cpp +++ b/src/ui/ui_setup.cpp @@ -16,6 +16,8 @@ #include "ui.hpp" #include "imgui.h" +#include "strops.hpp" +#include "config.hpp" #include "locales.hpp" #include "administration_writer.hpp" #include "administration_reader.hpp" @@ -65,14 +67,24 @@ void ui::draw_setup() ImGui::PushStyleVar(ImGuiStyleVar_ButtonTextAlign, ImVec2(0.0f, 0.5f)); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(10.0f, 10.0f)); - if (ImGui::Button(ICON_FA_FILE_IMPORT " Load administration", ImVec2(200, 0))) { // @locale + ImGui::PushFont(ui::fontBig); + const char* title = "OpenBooks"; + ImVec2 textSize = ImGui::CalcTextSize(title); + ImGui::SetCursorPos(ImVec2((area.x - textSize.x) * 0.5f, 20)); + ImGui::Text(title); + ImGui::PopFont(); + + ImGui::Spacing(); + ImGui::Spacing(); + + if (ImGui::Button(ICON_FA_FILE_IMPORT " Load administration", ImVec2(area.x, 0))) { // @locale if (administration_reader::open_existing(NULL)) { ui::set_state(ui::main_state::UI_SETTINGS); ui::recreate_window_for_main_views(); } } - if (ImGui::Button(ICON_FA_FOLDER_PLUS " Create administration", ImVec2(200, 0))) { // @locale + if (ImGui::Button(ICON_FA_FOLDER_PLUS " Create administration", ImVec2(area.x, 0))) { // @locale if (administration_reader::open_existing(NULL)) { ui::set_state(ui::main_state::UI_SETTINGS); ui::recreate_window_for_main_views(); @@ -81,8 +93,18 @@ void ui::draw_setup() ImGui::PopStyleVar(); ImGui::PopStyleVar(); - int imageW = 360; - int imageH = 360; + char version_txt[100]; + strops::format(version_txt, sizeof(version_txt), "VERSION: %s %s", config::PROGRAM_VERSION, _DATE_); + + textSize = ImGui::CalcTextSize(version_txt); + ImGui::SetCursorPos(ImVec2(5, area.y)); + + ImGui::PushFont(ui::fontSmall); + ImGui::Text(version_txt); + ImGui::PopFont(); + + int imageW = 150; + int imageH = 150; ImGui::SetCursorScreenPos(ImVec2(area.x - imageW + 20, area.y - imageH + 20)); ImGui::Image(img, ImVec2(imageW, imageH)); } |
