Route dialog and window preferences through adapter

This commit is contained in:
2026-06-12 17:24:14 +02:00
parent be4f5b0a31
commit 14a3721e0d
5 changed files with 31 additions and 10 deletions

View File

@@ -11,6 +11,7 @@
#include "legacy_document_export_services.h"
#include "legacy_document_layer_services.h"
#include "legacy_document_session_services.h"
#include "legacy_preference_storage.h"
#include "legacy_ui_overlay_services.h"
#include "settings.h"
#include "node_dialog_open.h"
@@ -637,13 +638,13 @@ void App::dialog_whatsnew(bool force_show)
whatsnew->reload();
});
whatsnew->add_button("Read Later", 120, [this, whatsnew](Node*) {
Settings::unset("whatsnew-id");
Settings::save();
pp::panopainter::unset_legacy_preference("whatsnew-id");
pp::panopainter::save_legacy_preferences();
pp::panopainter::close_legacy_dialog_node(*whatsnew);
});
whatsnew->add_button("Close", 100, [this, whatsnew](Node*) {
Settings::set<Serializer::Integer>("whatsnew-id", whatsnew->m_page_id);
Settings::save();
pp::panopainter::set_legacy_integer_preference("whatsnew-id", whatsnew->m_page_id);
pp::panopainter::save_legacy_preferences();
pp::panopainter::close_legacy_dialog_node(*whatsnew);
});
if (force_show)

View File

@@ -12,6 +12,11 @@ void set_legacy_integer_preference(const char* key, int value)
Settings::set(key, Serializer::Integer(value));
}
void set_legacy_ivec4_preference(const char* key, const glm::ivec4& value)
{
Settings::set(key, Serializer::IVec4(value));
}
void set_legacy_boolean_preference(const char* key, bool value)
{
Settings::set(key, Serializer::Boolean(value));
@@ -22,6 +27,11 @@ void set_legacy_descriptor_preference(const char* key, const Serializer::Descrip
Settings::set(key, value);
}
void unset_legacy_preference(const char* key)
{
Settings::unset(key);
}
void save_legacy_boolean_preference(const char* key, bool value)
{
set_legacy_boolean_preference(key, value);

View File

@@ -5,8 +5,10 @@
namespace pp::panopainter {
void set_legacy_integer_preference(const char* key, int value);
void set_legacy_ivec4_preference(const char* key, const glm::ivec4& value);
void set_legacy_boolean_preference(const char* key, bool value);
void set_legacy_descriptor_preference(const char* key, const Serializer::Descriptor& value);
void unset_legacy_preference(const char* key);
void save_legacy_boolean_preference(const char* key, bool value);
void save_legacy_float_preference(const char* key, float value);
bool save_legacy_preferences();

View File

@@ -9,6 +9,7 @@
#include "keymap.h"
#include "hmd.h"
#include "legacy_gl_runtime_dispatch.h"
#include "legacy_preference_storage.h"
#include "renderer_gl/opengl_capabilities.h"
#include "platform_windows/windows_platform_services.h"
#include "../resource.h"
@@ -617,9 +618,12 @@ void win32_save_window_state()
{
WINDOWPLACEMENT p;
GetWindowPlacement(hWnd, &p);
Settings::set("window-show-cmd", Serializer::Integer(p.showCmd));
Settings::set("window-rect", Serializer::IVec4({ p.rcNormalPosition.left,
p.rcNormalPosition.top, p.rcNormalPosition.right, p.rcNormalPosition.bottom }));
pp::panopainter::set_legacy_integer_preference("window-show-cmd", p.showCmd);
pp::panopainter::set_legacy_ivec4_preference("window-rect", {
p.rcNormalPosition.left,
p.rcNormalPosition.top,
p.rcNormalPosition.right,
p.rcNormalPosition.bottom });
}
HBITMAP image_to_hbitmap(const Image& img)