Centralize preference persistence adapter

This commit is contained in:
2026-06-12 17:05:51 +02:00
parent 48a795822a
commit 2c42a1e4d8
2 changed files with 15 additions and 5 deletions

View File

@@ -10,6 +10,12 @@
namespace pp::panopainter {
namespace {
void save_legacy_boolean_preference(const char* key, bool value)
{
Settings::set(key, Serializer::Boolean(value));
Settings::save();
}
class LegacyAppPreferenceServices final : public pp::app::AppPreferenceServices {
public:
explicit LegacyAppPreferenceServices(App& app) noexcept
@@ -47,8 +53,7 @@ public:
void apply_vr_controllers_preference(const pp::app::StoredBooleanPreferencePlan& plan) override
{
app_.vr_controllers_enabled = plan.value;
Settings::set("vr-controllers-enabled", Serializer::Boolean(plan.value));
Settings::save();
save_legacy_boolean_preference("vr-controllers-enabled", plan.value);
}
void apply_timelapse_preference(const pp::app::TimelapsePreferencePlan& plan) override
@@ -59,8 +64,7 @@ public:
app_.rec_start();
}
Settings::set("auto-timelapse", Serializer::Boolean(plan.enabled));
Settings::save();
save_legacy_boolean_preference("auto-timelapse", plan.enabled);
}
void apply_canvas_cursor_mode(const pp::app::StoredIntegerPreferencePlan& plan) override