Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Toggle main menu visibility
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
21
class
SaveFile
;
22
34
class
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
63
signals:
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
88
public
:
89
Settings
(
SaveFile
*
file
);
90
91
Q_INVOKABLE
void
setColorScheme
(QColor primary, QColor secondary);
92
93
// Header and Footer height
94
int
headerHeight
= 80;
95
int
headerShadowHeight
= 20;
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
;
103
int
getPreviewTilesetIndex
();
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
130
protected
slots:
131
void
dataChanged
();
132
133
protected
:
134
SaveFile
*
file
;
135
};
SaveFile
One loaded save: the raw 32 KB bytes, their expanded object tree, and the tools that move between the...
Definition
savefile.h:46
Settings::primaryColorDark
QColor primaryColorDark
Definition
settings.h:112
Settings::textColorLight
QColor textColorLight
Definition
settings.h:106
Settings::fontColorSingle
QColor fontColorSingle
Definition
settings.h:126
Settings::fontColorVar
QColor fontColorVar
Definition
settings.h:128
Settings::headerShadowHeight
int headerShadowHeight
Definition
settings.h:95
Settings::primaryColorLight
QColor primaryColorLight
Definition
settings.h:111
Settings::accentColor
QColor accentColor
Definition
settings.h:121
Settings::headerHeight
int headerHeight
Definition
settings.h:94
Settings::fontColorControl
QColor fontColorControl
Definition
settings.h:124
Settings::getPreviewTilesetIndex
int getPreviewTilesetIndex()
Index of previewTileset (backs the property).
Definition
settings.cpp:76
Settings::fontColorMulti
QColor fontColorMulti
Definition
settings.h:127
Settings::fontColorNormal
QColor fontColorNormal
Definition
settings.h:123
Settings::Settings
Settings(SaveFile *file)
Definition
settings.cpp:58
Settings::dividerColor
QColor dividerColor
Definition
settings.h:120
Settings::textColorDark
QColor textColorDark
Definition
settings.h:108
Settings::fontColorPicture
QColor fontColorPicture
Definition
settings.h:125
Settings::previewOutdoor
bool previewOutdoor
Definition
settings.h:102
Settings::file
SaveFile * file
The live save (held for data-reactive settings).
Definition
settings.h:134
Settings::infoBtnPressed
bool infoBtnPressed
Definition
settings.h:98
Settings::dataChanged
void dataChanged()
React to the save's data changing.
Definition
settings.cpp:90
Settings::primaryColor
QColor primaryColor
Definition
settings.h:110
Settings::setColorScheme
void setColorScheme(QColor primary, QColor secondary)
Recolour the palette at runtime.
Definition
settings.cpp:67
Settings::errorColor
QColor errorColor
Definition
settings.h:118
Settings::previewTileset
QString previewTileset
Definition
settings.h:101
Settings::textColorMid
QColor textColorMid
Definition
settings.h:107
projects
app
src
bridge
settings.h
Generated by
1.17.0