From df2c024a3e5729ca52493d45a16076a2ccb83b4a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Tue, 4 Jun 2024 12:44:33 +0300 Subject: [PATCH] settings tooltips --- res/layouts/pages/settings_graphics.xml.lua | 17 ++++++++++------- res/layouts/templates/track_setting.xml | 2 +- res/texts/en_US.txt | 4 ++++ res/texts/ru_RU.txt | 4 ++++ src/graphics/ui/elements/CheckBox.hpp | 4 ++++ 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/res/layouts/pages/settings_graphics.xml.lua b/res/layouts/pages/settings_graphics.xml.lua index 835b3746..179d8df8 100644 --- a/res/layouts/pages/settings_graphics.xml.lua +++ b/res/layouts/pages/settings_graphics.xml.lua @@ -1,6 +1,7 @@ -function create_setting(id, name, step, postfix) +function create_setting(id, name, step, postfix, tooltip) local info = core.get_setting_info(id) postfix = postfix or "" + tooltip = tooltip or "" document.root:add(gui.template("track_setting", { id=id, name=gui.str(name, "settings"), @@ -8,7 +9,8 @@ function create_setting(id, name, step, postfix) min=info.min, max=info.max, step=step, - postfix=postfix + postfix=postfix, + tooltip=tooltip })) update_setting(core.get_setting(id), id, name, postfix) end @@ -24,10 +26,11 @@ function update_setting(x, id, name, postfix) ) end -function create_checkbox(id, name) +function create_checkbox(id, name, tooltip) + tooltip = tooltip or '' document.root:add(string.format( - "%s", - id, core.str_setting(id), gui.str(name, "settings") + "%s", + id, core.str_setting(id), gui.str(tooltip, "settings"), gui.str(name, "settings") )) end @@ -35,10 +38,10 @@ function on_open() create_setting("chunks.load-distance", "Load Distance", 1) create_setting("chunks.load-speed", "Load Speed", 1) create_setting("graphics.fog-curve", "Fog Curve", 0.1) - create_setting("graphics.gamma", "Gamma", 0.05) + create_setting("graphics.gamma", "Gamma", 0.05, "", "graphics.gamma.tooltip") create_setting("camera.fov", "FOV", 1, "°") create_checkbox("display.fullscreen", "Fullscreen") create_checkbox("display.vsync", "V-Sync") - create_checkbox("graphics.backlight", "Backlight") + create_checkbox("graphics.backlight", "Backlight", "graphics.backlight.tooltip") create_checkbox("camera.shaking", "Camera Shaking") end diff --git a/res/layouts/templates/track_setting.xml b/res/layouts/templates/track_setting.xml index 994e5bb3..82ee81c1 100644 --- a/res/layouts/templates/track_setting.xml +++ b/res/layouts/templates/track_setting.xml @@ -1,6 +1,6 @@ diff --git a/res/texts/en_US.txt b/res/texts/en_US.txt index 979c7330..8681a069 100644 --- a/res/texts/en_US.txt +++ b/res/texts/en_US.txt @@ -8,6 +8,10 @@ world.delete-confirm=Do you want to delete world forever? world.generators.default=Default world.generators.flat=Flat +# Tooltips +graphics.gamma.tooltip=Lighting brightness curve +graphics.backlight.tooltip=Backlight to prevent total darkness + # Bindings devtools.console=Console movement.forward=Forward diff --git a/res/texts/ru_RU.txt b/res/texts/ru_RU.txt index ec2946ef..a1b7f3be 100644 --- a/res/texts/ru_RU.txt +++ b/res/texts/ru_RU.txt @@ -12,6 +12,10 @@ error.pack-not-found=Не удалось найти пакет error.dependency-not-found=Используемая зависимость не найдена pack.remove-confirm=Удалить весь поставляемый паком/паками контент из мира (безвозвратно)? +# Подсказки +graphics.gamma.tooltip=Кривая яркости освещения +graphics.backlight.tooltip=Подсветка, предотвращающая полную темноту + # Меню menu.Apply=Применить menu.Audio=Звук diff --git a/src/graphics/ui/elements/CheckBox.hpp b/src/graphics/ui/elements/CheckBox.hpp index e366768e..74172337 100644 --- a/src/graphics/ui/elements/CheckBox.hpp +++ b/src/graphics/ui/elements/CheckBox.hpp @@ -50,6 +50,10 @@ namespace gui { virtual bool isChecked() const { return checkbox->isChecked(); } + + virtual void setTooltip(const std::wstring& text) override { + checkbox->setTooltip(text); + } }; }