// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include #include #include "Models/BreakpointModel.h" #include "Models/SavedAddressesModel.h" class DebuggerSettingsManager final { public: DebuggerSettingsManager(QWidget* parent = nullptr); ~DebuggerSettingsManager(); static void loadGameSettings(BreakpointModel* bpModel); static void loadGameSettings(SavedAddressesModel* savedAddressesModel); static void saveGameSettings(BreakpointModel* bpModel); static void saveGameSettings(SavedAddressesModel* savedAddressesModel); static void saveGameSettings(QAbstractTableModel* abstractTableModel, QString settingsKey, u32 role); private: static std::mutex writeLock; static void writeJSONToPath(std::string path, QJsonDocument jsonDocument); static QJsonObject loadGameSettingsJSON(); const static QString settingsFileVersion; };