summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@mailbox.org>2026-01-09 10:23:23 +0100
committerAldrik Ramaekers <aldrik@mailbox.org>2026-01-09 10:23:23 +0100
commit8bdab613289e2626173de8bff31e7078dd03a16e (patch)
tree699eca9f0f0af00b1d337a372b5aefedb115ddf9
parent6555d97f2eaf5b3829543624f6b0a3394715c71b (diff)
setup window work
-rw-r--r--include/ui.hpp1
-rwxr-xr-xrun_linux64.sh5
-rw-r--r--src/main_linux.cpp5
-rw-r--r--src/ui/imgui_extensions.cpp1
-rw-r--r--src/ui/ui_setup.cpp30
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));
}