From 4df92b9cd2c247fd13a26706f5f5dfc93690b6ae Mon Sep 17 00:00:00 2001 From: omigamedev Date: Fri, 12 Jun 2026 17:59:01 +0200 Subject: [PATCH] Name retained preference write helpers --- docs/modernization/debt.md | 4 +++ src/app_dialogs.cpp | 6 ++-- src/legacy_app_preference_services.cpp | 4 +-- src/legacy_app_startup_services.cpp | 2 +- src/legacy_canvas_view_services.cpp | 5 ++-- src/legacy_preference_storage.cpp | 41 ++++++++++++++++++++++++++ src/legacy_preference_storage.h | 8 +++++ 7 files changed, 61 insertions(+), 9 deletions(-) diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index c6e3d4d..b10fe3f 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -291,6 +291,10 @@ agent or engineer to remove them without reconstructing context from chat. - 2026-06-12: DEBT-0045/0052 were narrowed again. UI scale, UI-state/RTL, and Windows placement write keys now also live behind named `src/legacy_preference_storage.*` helpers. +- 2026-06-12: DEBT-0045/0046/0058 were narrowed again. Whats-new, + VR-controller, auto-timelapse, startup run-counter, viewport-density, and + cursor-mode write keys now use named `src/legacy_preference_storage.*` + helpers instead of generic key/value calls in legacy service bridges. - 2026-06-05: DEBT-0056 was narrowed. `src/asset.h` no longer exposes Android SDK types or forward declarations; retained Android asset-manager and asset handles are stored as opaque pointers and cast only inside `src/asset.cpp`, diff --git a/src/app_dialogs.cpp b/src/app_dialogs.cpp index 1f00a14..9bfc103 100644 --- a/src/app_dialogs.cpp +++ b/src/app_dialogs.cpp @@ -624,7 +624,7 @@ void App::dialog_whatsnew(bool force_show) whatsnew->load_url(url, [this, whatsnew, force_show](bool success) { if (success) { - int last_id = pp::panopainter::legacy_integer_preference_or("whatsnew-id", 0); + int last_id = pp::panopainter::legacy_whatsnew_id_or(0); if (force_show || (whatsnew->m_page_id <= g_version_build && whatsnew->m_page_id > last_id)) { whatsnew->set_title(fmt::format("What's new in version {}", g_version_number)); @@ -637,12 +637,12 @@ void App::dialog_whatsnew(bool force_show) whatsnew->reload(); }); whatsnew->add_button("Read Later", 120, [this, whatsnew](Node*) { - pp::panopainter::unset_legacy_preference("whatsnew-id"); + pp::panopainter::clear_legacy_whatsnew_id(); pp::panopainter::save_legacy_preferences(); pp::panopainter::close_legacy_dialog_node(*whatsnew); }); whatsnew->add_button("Close", 100, [this, whatsnew](Node*) { - pp::panopainter::set_legacy_integer_preference("whatsnew-id", whatsnew->m_page_id); + pp::panopainter::set_legacy_whatsnew_id(whatsnew->m_page_id); pp::panopainter::save_legacy_preferences(); pp::panopainter::close_legacy_dialog_node(*whatsnew); }); diff --git a/src/legacy_app_preference_services.cpp b/src/legacy_app_preference_services.cpp index ddb3331..cf4d2ad 100644 --- a/src/legacy_app_preference_services.cpp +++ b/src/legacy_app_preference_services.cpp @@ -46,7 +46,7 @@ public: void apply_vr_controllers_preference(const pp::app::StoredBooleanPreferencePlan& plan) override { app_.vr_controllers_enabled = plan.value; - save_legacy_boolean_preference("vr-controllers-enabled", plan.value); + save_legacy_vr_controllers_enabled(plan.value); } void apply_timelapse_preference(const pp::app::TimelapsePreferencePlan& plan) override @@ -57,7 +57,7 @@ public: app_.rec_start(); } - save_legacy_boolean_preference("auto-timelapse", plan.enabled); + save_legacy_auto_timelapse_enabled(plan.enabled); } void apply_canvas_cursor_mode(const pp::app::StoredIntegerPreferencePlan& plan) override diff --git a/src/legacy_app_startup_services.cpp b/src/legacy_app_startup_services.cpp index f72cc4c..49a045e 100644 --- a/src/legacy_app_startup_services.cpp +++ b/src/legacy_app_startup_services.cpp @@ -20,7 +20,7 @@ public: void store_run_counter(int value) override { - set_legacy_integer_preference("run_counter", value); + set_legacy_startup_run_counter(value); LOG("run_counter %d", value); } diff --git a/src/legacy_canvas_view_services.cpp b/src/legacy_canvas_view_services.cpp index eb1b327..7a496e1 100644 --- a/src/legacy_canvas_view_services.cpp +++ b/src/legacy_canvas_view_services.cpp @@ -46,7 +46,7 @@ public: } app_.canvas->set_density(plan.density); - save_legacy_float_preference("vp-scale", plan.density); + save_legacy_canvas_viewport_density(plan.density); } void set_cursor_mode(const pp::app::CanvasViewCursorModePlan& plan) override @@ -57,8 +57,7 @@ public: const auto mode = static_cast(plan.mode); app_.canvas->set_cursor_visibility(static_cast(mode)); - set_legacy_integer_preference("show-cursor", mode); - save_legacy_preferences(); + save_legacy_canvas_cursor_mode(mode); } private: diff --git a/src/legacy_preference_storage.cpp b/src/legacy_preference_storage.cpp index 9e66f71..84eef0b 100644 --- a/src/legacy_preference_storage.cpp +++ b/src/legacy_preference_storage.cpp @@ -136,6 +136,47 @@ void set_legacy_window_preferences(int show_command, const glm::ivec4& window_re Settings::set("window-rect", Serializer::IVec4(window_rect)); } +int legacy_whatsnew_id_or(int default_value) +{ + return Settings::value_or("whatsnew-id", default_value); +} + +void clear_legacy_whatsnew_id() +{ + Settings::unset("whatsnew-id"); +} + +void set_legacy_whatsnew_id(int page_id) +{ + Settings::set("whatsnew-id", Serializer::Integer(page_id)); +} + +void set_legacy_startup_run_counter(int value) +{ + Settings::set("run_counter", Serializer::Integer(value)); +} + +void save_legacy_vr_controllers_enabled(bool enabled) +{ + save_legacy_boolean_preference("vr-controllers-enabled", enabled); +} + +void save_legacy_auto_timelapse_enabled(bool enabled) +{ + save_legacy_boolean_preference("auto-timelapse", enabled); +} + +void save_legacy_canvas_viewport_density(float density) +{ + save_legacy_float_preference("vp-scale", density); +} + +void save_legacy_canvas_cursor_mode(int mode) +{ + Settings::set("show-cursor", Serializer::Integer(mode)); + Settings::save(); +} + void save_legacy_boolean_preference(const char* key, bool value) { set_legacy_boolean_preference(key, value); diff --git a/src/legacy_preference_storage.h b/src/legacy_preference_storage.h index 47e14aa..038a9dc 100644 --- a/src/legacy_preference_storage.h +++ b/src/legacy_preference_storage.h @@ -50,6 +50,14 @@ void unset_legacy_preference(const char* key); void save_legacy_ui_scale_preference(float scale); void set_legacy_ui_state_preferences(const Serializer::Descriptor& state, bool right_to_left); void set_legacy_window_preferences(int show_command, const glm::ivec4& window_rect); +int legacy_whatsnew_id_or(int default_value); +void clear_legacy_whatsnew_id(); +void set_legacy_whatsnew_id(int page_id); +void set_legacy_startup_run_counter(int value); +void save_legacy_vr_controllers_enabled(bool enabled); +void save_legacy_auto_timelapse_enabled(bool enabled); +void save_legacy_canvas_viewport_density(float density); +void save_legacy_canvas_cursor_mode(int mode); void save_legacy_boolean_preference(const char* key, bool value); void save_legacy_float_preference(const char* key, float value); bool save_legacy_preferences();