-
-
Notifications
You must be signed in to change notification settings - Fork 99
/
Copy pathAppSettings.cpp
96 lines (89 loc) · 1.7 KB
/
AppSettings.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <fstream>
#include <string>
using namespace std;
using std::string;
#include "AppSettings.h"
string path = "settings.txt";
AppSettings::AppSettings() { }
void AppSettings::defaultSettings() {
rememberSettingsOnExit = true;
amplitude = 100;
avg_mode = 0;
avg_size = 8;
bkgd_step = 0;
bkgd_bright = 10;
bkgd_mode = 0;
delay = 50;
window_mode = 1;
decay = 80;
frgd_mode = 8;
ldstrp_pos = 0;
nrml_ofst = 0.04f;
nrml_scl = 0.5f;
single_color_mode = 1;
fireflymode = 0;
blkwdwmode = 0;
}
void AppSettings::saveSettings() {
ofstream fout(path);
if (fout.is_open()) {
fout
<< rememberSettingsOnExit << endl
<< amplitude << endl
<< avg_mode << endl
<< avg_size << endl
<< bkgd_step << endl
<< bkgd_bright << endl
<< bkgd_mode << endl
<< delay << endl
<< window_mode << endl
<< decay << endl
<< frgd_mode << endl
<< ldstrp_pos << endl
<< nrml_ofst << endl
<< nrml_scl << endl
<< single_color_mode << endl
<< fireflymode << endl
<< blkwdwmode << endl;
fout.close();
}
}
void AppSettings::loadSettings() {
ifstream fin;
try {
fin.open(path);
if (fin.is_open()) {
fin
>> rememberSettingsOnExit
>> amplitude
>> avg_mode
>> avg_size
>> bkgd_step
>> bkgd_bright
>> bkgd_mode
>> delay
>> window_mode
>> decay
>> frgd_mode
>> ldstrp_pos
>> nrml_ofst
>> nrml_scl
>> single_color_mode
>> fireflymode
>> blkwdwmode;
fin.close();
} else {
initSettingsFile();
}
} catch (...) {
defaultSettings();
}
}
void AppSettings::initSettingsFile() {
defaultSettings();
saveSettings();
}
bool is_file_exist(const char *fileName) {
std::ifstream infile(fileName);
return infile.good();
}