Name retained preference write helpers

This commit is contained in:
2026-06-12 17:59:01 +02:00
parent 058997bd78
commit 4df92b9cd2
7 changed files with 61 additions and 9 deletions

View File

@@ -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);
});

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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<int>(plan.mode);
app_.canvas->set_cursor_visibility(static_cast<NodeCanvas::kCursorVisibility>(mode));
set_legacy_integer_preference("show-cursor", mode);
save_legacy_preferences();
save_legacy_canvas_cursor_mode(mode);
}
private:

View File

@@ -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<Serializer::Integer>("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);

View File

@@ -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();