Centralize legacy preference storage
This commit is contained in:
@@ -4,18 +4,11 @@
|
||||
|
||||
#include "app.h"
|
||||
#include "legacy_canvas_view_services.h"
|
||||
#include "serializer.h"
|
||||
#include "settings.h"
|
||||
#include "legacy_preference_storage.h"
|
||||
|
||||
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
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
#include "legacy_app_startup_services.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "legacy_preference_storage.h"
|
||||
#include "renderer_gl/opengl_capabilities.h"
|
||||
#include "serializer.h"
|
||||
#include "settings.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
namespace {
|
||||
@@ -21,13 +20,13 @@ public:
|
||||
|
||||
void store_run_counter(int value) override
|
||||
{
|
||||
Settings::set("run_counter", Serializer::Integer(value));
|
||||
set_legacy_integer_preference("run_counter", value);
|
||||
LOG("run_counter %d", value);
|
||||
}
|
||||
|
||||
void save_preferences() override
|
||||
{
|
||||
if (!Settings::save())
|
||||
if (!save_legacy_preferences())
|
||||
LOG("save preferences failed");
|
||||
}
|
||||
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
#include "legacy_canvas_view_services.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "legacy_preference_storage.h"
|
||||
#include "node_canvas.h"
|
||||
#include "serializer.h"
|
||||
#include "settings.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
namespace {
|
||||
@@ -47,8 +46,7 @@ public:
|
||||
}
|
||||
|
||||
app_.canvas->set_density(plan.density);
|
||||
Settings::set("vp-scale", Serializer::Float(plan.density));
|
||||
Settings::save();
|
||||
save_legacy_float_preference("vp-scale", plan.density);
|
||||
}
|
||||
|
||||
void set_cursor_mode(const pp::app::CanvasViewCursorModePlan& plan) override
|
||||
@@ -59,8 +57,8 @@ public:
|
||||
|
||||
const auto mode = static_cast<int>(plan.mode);
|
||||
app_.canvas->set_cursor_visibility(static_cast<NodeCanvas::kCursorVisibility>(mode));
|
||||
Settings::set("show-cursor", Serializer::Integer(mode));
|
||||
Settings::save();
|
||||
set_legacy_integer_preference("show-cursor", mode);
|
||||
save_legacy_preferences();
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
32
src/legacy_preference_storage.cpp
Normal file
32
src/legacy_preference_storage.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include "legacy_preference_storage.h"
|
||||
|
||||
#include "serializer.h"
|
||||
#include "settings.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
void set_legacy_integer_preference(const char* key, int value)
|
||||
{
|
||||
Settings::set(key, Serializer::Integer(value));
|
||||
}
|
||||
|
||||
void save_legacy_boolean_preference(const char* key, bool value)
|
||||
{
|
||||
Settings::set(key, Serializer::Boolean(value));
|
||||
Settings::save();
|
||||
}
|
||||
|
||||
void save_legacy_float_preference(const char* key, float value)
|
||||
{
|
||||
Settings::set(key, Serializer::Float(value));
|
||||
Settings::save();
|
||||
}
|
||||
|
||||
bool save_legacy_preferences()
|
||||
{
|
||||
return Settings::save();
|
||||
}
|
||||
|
||||
} // namespace pp::panopainter
|
||||
10
src/legacy_preference_storage.h
Normal file
10
src/legacy_preference_storage.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
void set_legacy_integer_preference(const char* key, int value);
|
||||
void save_legacy_boolean_preference(const char* key, bool value);
|
||||
void save_legacy_float_preference(const char* key, float value);
|
||||
bool save_legacy_preferences();
|
||||
|
||||
} // namespace pp::panopainter
|
||||
Reference in New Issue
Block a user