Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
settings.h
Go to the documentation of this file.
1/*
2 * Copyright 2020 Twilight
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15*/
16#pragma once
17#include <QObject>
18#include <QString>
19#include <QColor>
20
21class SaveFile;
22
34class Settings : public QObject
35{
36 Q_OBJECT
37
38 Q_PROPERTY(int headerHeight MEMBER headerHeight NOTIFY headerHeightChanged)
39 Q_PROPERTY(int headerShadowHeight MEMBER headerShadowHeight NOTIFY headerShadowHeightChanged)
40
41 Q_PROPERTY(bool infoBtnPressed MEMBER infoBtnPressed NOTIFY infoBtnPressedChanged)
42 Q_PROPERTY(QString previewTileset MEMBER previewTileset NOTIFY previewTilesetChanged)
43 Q_PROPERTY(bool previewOutdoor MEMBER previewOutdoor NOTIFY previewOutdoorChanged)
44
45 Q_PROPERTY(QColor textColorLight MEMBER textColorLight NOTIFY textColorLightChanged)
46 Q_PROPERTY(QColor textColorMid MEMBER textColorMid NOTIFY textColorMidChanged)
47 Q_PROPERTY(QColor textColorDark MEMBER textColorDark NOTIFY textColorDarkChanged)
48 Q_PROPERTY(QColor primaryColor MEMBER primaryColor NOTIFY primaryColorChanged)
49 Q_PROPERTY(QColor primaryColorLight MEMBER primaryColorLight NOTIFY primaryColorLightChanged)
50 Q_PROPERTY(QColor primaryColorDark MEMBER primaryColorDark NOTIFY primaryColorDarkChanged)
51 Q_PROPERTY(QColor errorColor MEMBER errorColor NOTIFY errorColorChanged)
52 Q_PROPERTY(QColor dividerColor MEMBER dividerColor NOTIFY dividerColorChanged)
53 Q_PROPERTY(QColor accentColor MEMBER accentColor NOTIFY accentColorChanged)
54 Q_PROPERTY(int previewTilesetIndex READ getPreviewTilesetIndex NOTIFY previewTilesetChanged STORED false)
55
56 Q_PROPERTY(QColor fontColorNormal MEMBER fontColorNormal NOTIFY fontColorNormalChanged)
57 Q_PROPERTY(QColor fontColorControl MEMBER fontColorControl NOTIFY fontColorControlChanged)
58 Q_PROPERTY(QColor fontColorPicture MEMBER fontColorPicture NOTIFY fontColorPictureChanged)
59 Q_PROPERTY(QColor fontColorSingle MEMBER fontColorSingle NOTIFY fontColorSingleChanged)
60 Q_PROPERTY(QColor fontColorMulti MEMBER fontColorMulti NOTIFY fontColorMultiChanged)
61 Q_PROPERTY(QColor fontColorVar MEMBER fontColorVar NOTIFY fontColorVarChanged)
62
63signals:
64 void headerShadowHeightChanged();
65 void headerHeightChanged();
66
67 void infoBtnPressedChanged();
68 void previewTilesetChanged();
69 void previewOutdoorChanged();
70
71 void textColorLightChanged();
72 void textColorMidChanged();
73 void textColorDarkChanged();
74 void primaryColorChanged();
75 void primaryColorLightChanged();
76 void primaryColorDarkChanged();
77 void errorColorChanged();
78 void dividerColorChanged();
79 void accentColorChanged();
80
81 void fontColorNormalChanged();
82 void fontColorControlChanged();
83 void fontColorPictureChanged();
84 void fontColorSingleChanged();
85 void fontColorMultiChanged();
86 void fontColorVarChanged();
87
88public:
90
91 Q_INVOKABLE void setColorScheme(QColor primary, QColor secondary);
92
93 // Header and Footer height
94 int headerHeight = 80;
96
97 // Global Tooltips
98 bool infoBtnPressed = false;
99
100 // Tileset and related engine for naming previews
101 QString previewTileset = "Overworld";
102 bool previewOutdoor = true;
104
105 // Color Palette
106 QColor textColorLight = QColor("#efefef"); //#fafafa
107 QColor textColorMid = QColor("#757575");
108 QColor textColorDark = QColor("#212121");
109
110 QColor primaryColor = QColor("#d81b60");
111 QColor primaryColorLight = QColor("#ff5c8d");
112 QColor primaryColorDark = QColor("#a00037");
113
114 // Error/invalid red. Deliberately a fixed, theme-independent red (NOT derived
115 // from primaryColor -- that's pink). setColorScheme() leaves it untouched so a
116 // recoloured palette never turns "error" into the accent. Screens should use
117 // brg.settings.errorColor for plain red instead of a literal "red".
118 QColor errorColor = QColor("red");
119
120 QColor dividerColor = QColor("#BDBDBD");
121 QColor accentColor = QColor("#607D8B");
122
123 QColor fontColorNormal = QColor("#616161"); // Grey, Shade 700
124 QColor fontColorControl = QColor("#7B1FA2"); // Purple, Shade 700
125 QColor fontColorPicture = QColor("#303F9F"); // Blue, Shade 700
126 QColor fontColorSingle = QColor("#9E9D24"); // Lime, Shade 800
127 QColor fontColorMulti = QColor("#FF6F00"); // Amber, Shade 900
128 QColor fontColorVar = QColor("#388E3C"); // Green, Shade 700
129
130protected slots:
131 void dataChanged();
132
133protected:
135};
One loaded save: the raw 32 KB bytes, their expanded object tree, and the tools that move between the...
Definition savefile.h:46
QColor primaryColorDark
Definition settings.h:112
QColor textColorLight
Definition settings.h:106
QColor fontColorSingle
Definition settings.h:126
QColor fontColorVar
Definition settings.h:128
int headerShadowHeight
Definition settings.h:95
QColor primaryColorLight
Definition settings.h:111
QColor accentColor
Definition settings.h:121
int headerHeight
Definition settings.h:94
QColor fontColorControl
Definition settings.h:124
int getPreviewTilesetIndex()
Index of previewTileset (backs the property).
Definition settings.cpp:76
QColor fontColorMulti
Definition settings.h:127
QColor fontColorNormal
Definition settings.h:123
Settings(SaveFile *file)
Definition settings.cpp:58
QColor dividerColor
Definition settings.h:120
QColor textColorDark
Definition settings.h:108
QColor fontColorPicture
Definition settings.h:125
bool previewOutdoor
Definition settings.h:102
SaveFile * file
The live save (held for data-reactive settings).
Definition settings.h:134
bool infoBtnPressed
Definition settings.h:98
void dataChanged()
React to the save's data changing.
Definition settings.cpp:90
QColor primaryColor
Definition settings.h:110
void setColorScheme(QColor primary, QColor secondary)
Recolour the palette at runtime.
Definition settings.cpp:67
QColor errorColor
Definition settings.h:118
QString previewTileset
Definition settings.h:101
QColor textColorMid
Definition settings.h:107