Seregon/ShadPKG

A tool for deriving PKG packet encryption keys for ps4 written in c++

C++/47.3 KB/No license
gui/include/views/SettingsView.h
ShadPKG / gui / include / views / SettingsView.h
1// SPDX-FileCopyrightText: Copyright 2025 shadPKG
2// SPDX-License-Identifier: GPL-2.0-or-later
3 
4#pragma once
5 
6#include "../GUIContext.h"
7 
8// ╔═══════════════════════════════════════════════════════════════════════════╗
9// ║ SettingsView: Application settings and configuration ║
10// ╚═══════════════════════════════════════════════════════════════════════════╝
11 
12namespace ShadPKG::GUI {
13 
14class SettingsView {
15public:
16 SettingsView() = default;
17 ~SettingsView() = default;
18 
19 void Draw(GUIContext &ctx);
20 
21 // Settings state (could be persisted to config file)
22 struct Settings {
23 bool autoDetectRif = true;
24 bool createTitleIdSubfolder = true;
25 bool showHexInInspector = true;
26 int maxLogEntries = 1000;
27 bool darkTheme = true;
28 };
29 
30 Settings &GetSettings() { return settings_; }
31 
32private:
33 Settings settings_;
34 
35 void DrawGeneralSection(GUIContext &ctx);
36 void DrawExtractionSection();
37 void DrawAppearanceSection();
38 void DrawCreditsSection(); // New About Author section
39 void DrawContributorsSection(GUIContext &ctx); // New Contributors section
40 void DrawAboutSection();
41};
42 
43} // namespace ShadPKG::GUI
44