Commit 00fd78596e70d5c646f24afcc61229e6565ff408
1 parent
0603c0b431
Exists in
master
and in
2 other branches
설정 기능 구현(엔지니어링 모드 적용)
- 날짜와 시간 - 온도 단위 - 실시간 포맷
Showing
6 changed files
with
50 additions
and
18 deletions
Show diff stats
app/gui/oven_control/config.cpp
... | ... | @@ -192,7 +192,6 @@ QString Config::getValueString(Define::ConfigType idx){ |
192 | 192 | case config_datetime: |
193 | 193 | qstrTemp = qdt.toString("yyyy.MM.dd hh:mm"); |
194 | 194 | break; |
195 | - | |
196 | 195 | case config_temptype: |
197 | 196 | if(configlist.items.temptype.d32 >=2 ) configlist.items.temptype.d32 = 0; |
198 | 197 | qstrTemp = tr(temptype_menu[configlist.items.temptype.d32]); | ... | ... |
app/gui/oven_control/configwindow.cpp
... | ... | @@ -105,7 +105,7 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ |
105 | 105 | switch(id){ |
106 | 106 | case config_datetime: |
107 | 107 | dlg = new ConfigDateTimeDlg(this); |
108 | - dlg->show(); | |
108 | + dlg->exec(); | |
109 | 109 | if(m_nCurConfigPos != config_menu_favorite) reloadValue(); |
110 | 110 | break; |
111 | 111 | case config_enter_engineer_mode: | ... | ... |
app/gui/oven_control/historylistwindow.cpp
1 | 1 | #include <QDebug> |
2 | 2 | #include <QStandardItemModel> |
3 | 3 | #include <QHBoxLayout> |
4 | +#include <QDateTime> | |
4 | 5 | #include <time.h> |
5 | 6 | #include "historylistwindow.h" |
6 | 7 | #include "ui_historylistwindow.h" |
7 | 8 | #include "ovenstatics.h" |
9 | +#include "stringer.h" | |
8 | 10 | |
9 | 11 | |
10 | 12 | |
... | ... | @@ -100,12 +102,11 @@ void HistoryListWindow::reloadDataset(void){ |
100 | 102 | item = err_items[m_nCurDpStartPos+i]; |
101 | 103 | m_ctrlErrBtns[i]->setText(strTemp); |
102 | 104 | m_ctrlCountLabels[i] ->setText(strTemp.sprintf("%d",item->fired_cnt)); |
103 | - timeptr = localtime(&(item->first_fired)); | |
104 | - strftime(strTime,64,"%y-%m-%d %H:%M:%S",timeptr); | |
105 | - m_ctrlFirstTimeLabels[i]->setText(strTime); | |
106 | - timeptr = localtime(&(item->last_fried)); | |
107 | - strftime(strTime,64,"%y-%m-%d %H:%M:%S",timeptr); | |
108 | - m_ctrlLastTimeLabels[i]->setText(strTime); | |
105 | + QDateTime dt; | |
106 | + dt.setTime_t(item->first_fired); | |
107 | + m_ctrlFirstTimeLabels[i]->setText(Stringer::DateTimeString(dt, Stringer::datetime_string_type_oneline)); | |
108 | + dt.setTime_t(item->last_fried); | |
109 | + m_ctrlLastTimeLabels[i]->setText(Stringer::DateTimeString(dt, Stringer::datetime_string_type_oneline)); | |
109 | 110 | } |
110 | 111 | } |
111 | 112 | else{ | ... | ... |
app/gui/oven_control/realtimesensorwindow.cpp
1 | 1 | #include "realtimesensorwindow.h" |
2 | 2 | #include "ui_realtimesensorwindow.h" |
3 | 3 | #include "ovenstatics.h" |
4 | +#include "stringer.h" | |
5 | +#include "QDateTime" | |
4 | 6 | |
5 | 7 | RealtimeSensorWindow::RealtimeSensorWindow(QWidget *parent) : |
6 | 8 | QMainWindow(parent), |
... | ... | @@ -88,33 +90,35 @@ void RealtimeSensorWindow::reloadUi(void){ |
88 | 90 | temp_temp = ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]); |
89 | 91 | |
90 | 92 | if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 ) |
91 | - strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10); | |
93 | + strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10);// strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp/10); | |
92 | 94 | else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1 ) |
93 | - strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp); | |
94 | - else strTemp.sprintf("%d℃",ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp); | |
95 | + strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).utemp); | |
96 | + else strTemp = Stringer::temperature(ovs->getCurSensorValueByIdx(m_arrSensorItemIdxs[i]).itemp); | |
95 | 97 | m_arrLbState[0][i]->setText(strTemp); |
96 | 98 | } |
97 | 99 | |
98 | 100 | for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){ |
99 | 101 | if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 2 ) |
100 | - strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.itemp/10); | |
102 | + strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp/10); | |
101 | 103 | else if(ovs->getSensorTypeByIdx(m_arrSensorItemIdxs[i]) == 1) |
102 | - strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.utemp); | |
103 | - else strTemp.sprintf("%d℃",m_arrSensorItems[i]->high_temp.itemp); | |
104 | + strTemp = Stringer::temperature(m_arrSensorItems[i]->high_temp.utemp); | |
105 | + else strTemp= Stringer::temperature(m_arrSensorItems[i]->high_temp.itemp); | |
104 | 106 | m_arrLbState[1][i]->setText(strTemp); |
105 | 107 | } |
106 | 108 | |
107 | 109 | for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){ |
108 | - strTemp.sprintf("%d℃", m_arrCriticalValue[i]); | |
110 | + strTemp = Stringer::temperature(m_arrCriticalValue[i]); | |
109 | 111 | m_arrLbState[2][i]->setText(strTemp); |
110 | 112 | } |
111 | 113 | |
112 | 114 | |
113 | 115 | for(i=0;i<REALSENSOR_CONTROL_LIST_ITEM_MAX;i++){ |
114 | 116 | if(m_arrSensorItems[i]->last_high_time !=0){ |
115 | - timeptr = localtime(&(m_arrSensorItems[i]->last_high_time)); | |
116 | - strftime(strTime,64,"%y-%m-%d\n%H:%M:%S",timeptr); | |
117 | - m_arrLbState[3][i]->setText(strTime); | |
117 | + QDateTime dt_tm; | |
118 | + dt_tm.setTime_t(m_arrSensorItems[i]->last_high_time); | |
119 | + //timeptr = localtime(&(m_arrSensorItems[i]->last_high_time)); | |
120 | + //strftime(strTime,64,"%y-%m-%d\n%H:%M:%S",timeptr); | |
121 | + m_arrLbState[3][i]->setText(Stringer::DateTimeString(dt_tm)); | |
118 | 122 | } |
119 | 123 | else{ |
120 | 124 | m_arrLbState[3][i]->setText("-"); | ... | ... |
app/gui/oven_control/stringer.cpp
... | ... | @@ -189,3 +189,21 @@ QString Stringer::unusedTemperature(QString style) |
189 | 189 | return style + lightSpan.arg("℃"); |
190 | 190 | } |
191 | 191 | } |
192 | + | |
193 | + | |
194 | +QString Stringer::DateTimeString(const QDateTime &dt_tm, datetime_string_type type){ | |
195 | + QString strTemp; | |
196 | + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_time_type); | |
197 | + switch(item.d32){ | |
198 | + case Define::time_type_12h: | |
199 | + if(type == datetime_string_type_oneline) strTemp = dt_tm.toString("yy-MM-dd a hh:mm" ); | |
200 | + else strTemp = dt_tm.toString("yy-MM-dd\na hh:mm" ); | |
201 | + break; | |
202 | + case Define::time_type_24h: | |
203 | + default: | |
204 | + if(type == datetime_string_type_oneline) strTemp = dt_tm.toString("yy-MM-dd HH:mm" ); | |
205 | + else strTemp = dt_tm.toString("yy-MM-dd\nHH:mm" ); | |
206 | + break; | |
207 | + } | |
208 | + return strTemp; | |
209 | +} | ... | ... |
app/gui/oven_control/stringer.h
... | ... | @@ -3,8 +3,15 @@ |
3 | 3 | |
4 | 4 | |
5 | 5 | #include <QtCore> |
6 | +#include <QDateTime> | |
6 | 7 | |
7 | 8 | namespace Stringer { |
9 | + | |
10 | +enum datetime_string_type{ | |
11 | + datetime_string_type_oneline=0, | |
12 | + datetime_string_type_twoline | |
13 | +}; | |
14 | + | |
8 | 15 | const QString fontSize14("\ |
9 | 16 | <style>\ |
10 | 17 | span { font-size: 14pt; }\ |
... | ... | @@ -21,6 +28,9 @@ QString temperature(int current, int target); |
21 | 28 | QString temperature(int current, int target, QString style); |
22 | 29 | QString unusedTemperature(); |
23 | 30 | QString unusedTemperature(QString style); |
31 | +QString DateTimeString(const QDateTime &dt_tm, datetime_string_type type=datetime_string_type_twoline); | |
32 | + | |
33 | + | |
24 | 34 | } |
25 | 35 | |
26 | 36 | #endif // STRINGER_H | ... | ... |