Commit dbfe7c9eac1ff7d061e49fa3bfb062c0f133f57d
1 parent
2c27c52f82
Exists in
master
and in
2 other branches
설정 저장 기능 추가
- 설정 저장 기능 추가 -> /prime/config/config.ini
Showing
4 changed files
with
106 additions
and
4 deletions
Show diff stats
app/gui/oven_control/config.cpp
1 | 1 | #include <QDebug> |
2 | 2 | #include <QDateTime> |
3 | +#include <QFile> | |
4 | +#include <QIODevice> | |
3 | 5 | #include "config.h" |
4 | 6 | #include "configdatetimedlg.h" |
5 | 7 | #include "configlanguagedlg.h" |
... | ... | @@ -19,11 +21,15 @@ |
19 | 21 | |
20 | 22 | using namespace Define; |
21 | 23 | |
24 | +#define CONFIG_FILE_NAME "/prime/config/config.ini" | |
25 | +#define FAVORITE_FILE_NAME "/prime/config/favorite.ini" | |
26 | + | |
22 | 27 | Config* Config::instance = NULL; |
23 | 28 | |
24 | 29 | Config::Config(QObject *parent) : QObject(parent) |
25 | 30 | { |
26 | 31 | memcpy(config_format,config_format_kr,MAX_CONFIG_COUNT*64); |
32 | + loadConfig(); | |
27 | 33 | // m_setFavorite.insert(2); |
28 | 34 | // m_setFavorite.insert(3); |
29 | 35 | // m_setFavorite.insert(1); |
... | ... | @@ -49,11 +55,95 @@ Config* Config::getInstance(QObject *parent){ |
49 | 55 | return instance; |
50 | 56 | } |
51 | 57 | |
52 | -bool Config::saveConfig(){ | |
58 | +void Config::initConfig(){ | |
59 | + memset(configlist.data,0x00,MAX_CONFIG_COUNT * 4); | |
60 | + configlist.items.language.d32=0; | |
61 | + configlist.items.datetime.d32=0; | |
62 | + configlist.items.temptype.d32=0; | |
63 | + configlist.items.backlight.d32=7; | |
64 | + configlist.items.stop_delay.d32=10; | |
65 | + configlist.items.best_dish_weight.d32=0; | |
66 | + configlist.items.party_dish_weight.d32=0; | |
67 | + configlist.items.ilc_rack_number.d32=10; | |
68 | + configlist.items.ilc_rack_sequnece.d32=0x30201; | |
69 | + configlist.items.ilc_cook_wait_time.d32=30; | |
70 | + configlist.items.cooktime_format.d32=0; | |
71 | + configlist.items.time_type.d32=1; | |
72 | + configlist.items.resttime_format.d32=0; | |
73 | + configlist.items.marster_vol.d32=7; | |
74 | + configlist.items.keypad_sound1.d32=0; | |
75 | + configlist.items.keypad_sound2.d32=0; | |
76 | + configlist.items.request_loadexec.d32=6; | |
77 | + configlist.items.programstep_finish.d32=7; | |
78 | + configlist.items.cooktime_finish.d32=8; | |
79 | + configlist.items.stoperror_distinguish.d32=9; | |
80 | + configlist.items.sound_factory_reset.d32=0; | |
81 | + configlist.items.haccp_data_download.d32=0; | |
82 | + configlist.items.info_data_download.d32=0; | |
83 | + configlist.items.service_data_download.d32=0; | |
84 | + configlist.items.program_download.d32=0; | |
85 | + configlist.items.program_upload.d32=0; | |
86 | + configlist.items.program_initialize.d32=0; | |
87 | + configlist.items.ip.d32=0xC0A80002; | |
88 | + configlist.items.gateway.d32=0xC0A80001; | |
89 | + configlist.items.netmask.d32=0xffffff01; | |
90 | + configlist.items.set_download.d32=0; | |
91 | + configlist.items.set_upload.d32=0; | |
92 | + configlist.items.set_half_energy.d32=0; | |
93 | + configlist.items.set_auto_darkness.d32=5; | |
94 | + configlist.items.set_ilc_cook_temphumi_ready.d32=0; | |
95 | + configlist.items.set_load_ready.d32=5; | |
96 | + configlist.items.duty_wash.d32=0; | |
97 | + configlist.items.loading_door_monitoring.d32=0; | |
98 | + configlist.items.cooking_door_monitoring.d32=0; | |
99 | + configlist.items.software_info.d32=0; | |
100 | + configlist.items.hotline_chef.d32=0; | |
101 | + configlist.items.hotline_service.d32=0; | |
102 | + configlist.items.steam_wash.d32=0; | |
103 | + configlist.items.demo_mode.d32=0; | |
104 | + configlist.items.enter_engineer_mode.d32=0; | |
105 | + configlist.items.model.d32 = model_electric_20; | |
106 | + qDebug() << "Init Config lists"; | |
107 | +} | |
108 | + | |
109 | +bool Config::saveConfig(void){ | |
110 | + char buff[sizeof(config_lists)+1]; | |
111 | + qint64 writelen; | |
112 | + QFile file(CONFIG_FILE_NAME);+ | |
113 | + memcpy(buff, configlist.data, sizeof(config_lists)); | |
114 | + buff[sizeof(config_lists)] = 0x9C; | |
115 | + if(file.open(QIODevice::WriteOnly)){ | |
116 | + writelen = file.write(buff,sizeof(config_lists)+1); | |
117 | + file.close(); | |
118 | + if(writelen == (sizeof(config_lists)+1)){ | |
119 | + qDebug() << "config file saved"; | |
120 | + return true; | |
121 | + } | |
122 | + } | |
123 | + qDebug() << "saving config file is fail!"; | |
53 | 124 | return false; |
54 | 125 | } |
55 | 126 | |
56 | 127 | bool Config::loadConfig(){ |
128 | + char buff[sizeof(config_lists)+1]; | |
129 | + qint64 readlen; | |
130 | + QFile file(CONFIG_FILE_NAME); | |
131 | + initConfig(); | |
132 | + if(file.open(QIODevice::ReadOnly)){ | |
133 | + readlen = file.read(buff,sizeof(config_lists)+1); | |
134 | + file.close(); | |
135 | + if(buff[sizeof(config_lists)] ==0x9c && readlen == (sizeof(config_lists)+1) ){ | |
136 | + memcpy(configlist.data,buff,sizeof(config_lists)); | |
137 | + qDebug() << "loading config file success"; | |
138 | + } | |
139 | + else { | |
140 | + qDebug()<<"loading config file fail"; | |
141 | + return true; | |
142 | + } | |
143 | + } | |
144 | + else{ | |
145 | + saveConfig(); | |
146 | + } | |
57 | 147 | return false; |
58 | 148 | } |
59 | 149 | |
... | ... | @@ -163,6 +253,7 @@ QList<uint32_t> Config::getConstSortedFavorite(){ |
163 | 253 | } |
164 | 254 | |
165 | 255 | bool Config::loadFavorite(void){ |
256 | + | |
166 | 257 | return false; |
167 | 258 | } |
168 | 259 | |
... | ... | @@ -287,3 +378,5 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ |
287 | 378 | |
288 | 379 | |
289 | 380 | |
381 | + | |
382 | + | ... | ... |
app/gui/oven_control/config.h
... | ... | @@ -386,7 +386,7 @@ class Config : public QObject |
386 | 386 | public: |
387 | 387 | static Config *getInstance(QObject *parent=0); |
388 | 388 | //static void init(); |
389 | - bool initConfig(void); | |
389 | + void initConfig(void); | |
390 | 390 | bool loadConfig(void); |
391 | 391 | bool saveConfig(void); |
392 | 392 | Define::config_item getConfigValue(Define::ConfigType idx); | ... | ... |
app/gui/oven_control/configwindow.cpp
... | ... | @@ -6,6 +6,7 @@ |
6 | 6 | #include "engineermenuwindow.h" |
7 | 7 | #include "config.h" |
8 | 8 | #include "configinfodlg.h" |
9 | +#include "yesnopopupdlg.h" | |
9 | 10 | |
10 | 11 | |
11 | 12 | |
... | ... | @@ -53,6 +54,16 @@ void ConfigWindow::on_pushButton_clicked() |
53 | 54 | |
54 | 55 | void ConfigWindow::on_backButton_clicked() |
55 | 56 | { |
57 | + Config* cfg = Config::getInstance(); | |
58 | + QDialog* dlg = new YesNoPopupDlg(this,tr("현재 설정을 적용하시겠습니까?")); | |
59 | + dlg->setModal(true); | |
60 | + dlg->exec(); | |
61 | + if(dlg->result() == QDialog::Accepted){ | |
62 | + cfg->saveConfig(); | |
63 | + } | |
64 | + else{ | |
65 | + cfg->loadConfig(); | |
66 | + } | |
56 | 67 | close(); |
57 | 68 | } |
58 | 69 | ... | ... |
app/gui/oven_control/servicedata.cpp