Commit 2bfd3a050666e56dcafafeda6c64f8132091612c
1 parent
9374091867
Exists in
master
and in
2 other branches
환경 설정 대응
- 온도 단위 반영 - 잔여 시간 형식 반영
Showing
16 changed files
with
369 additions
and
170 deletions
Show diff stats
app/gui/oven_control/autocook.cpp
@@ -521,3 +521,31 @@ int AutoCook::remainingTime() | @@ -521,3 +521,31 @@ int AutoCook::remainingTime() | ||
521 | return t / 1000; | 521 | return t / 1000; |
522 | } | 522 | } |
523 | } | 523 | } |
524 | + | ||
525 | +int AutoCook::msecs() | ||
526 | +{ | ||
527 | + if (done_) | ||
528 | + { | ||
529 | + return 0; | ||
530 | + } | ||
531 | + else if (checkingCoreTemp && currentStepIndex + 1 >= cook.steps.size()) | ||
532 | + { | ||
533 | + CookStep &step = cook.steps[cook.steps.size() - 1]; | ||
534 | + int t = step.time; | ||
535 | + if (!doorOpened) | ||
536 | + t -= lastCoreTempIncreasedTime.elapsed(); | ||
537 | + | ||
538 | + return t; | ||
539 | + } | ||
540 | + else | ||
541 | + { | ||
542 | + int t = 0; | ||
543 | + for (int i = currentStepIndex; i < cook.steps.size(); i++) | ||
544 | + t += cook.steps[i].time; | ||
545 | + | ||
546 | + if (!doorOpened && Define::classify(cook.steps[currentStepIndex].type) == Define::CookClass) | ||
547 | + t -= stepStartTime.elapsed(); | ||
548 | + | ||
549 | + return t; | ||
550 | + } | ||
551 | +} |
app/gui/oven_control/autocook.h
@@ -19,6 +19,8 @@ public: | @@ -19,6 +19,8 @@ public: | ||
19 | bool isWaitingDoorOpened() { return isWaitingDoorOpened_; } | 19 | bool isWaitingDoorOpened() { return isWaitingDoorOpened_; } |
20 | bool done() { return done_; } | 20 | bool done() { return done_; } |
21 | 21 | ||
22 | + int msecs(); | ||
23 | + | ||
22 | Cook cook; | 24 | Cook cook; |
23 | int currentStepIndex; | 25 | int currentStepIndex; |
24 | 26 |
app/gui/oven_control/autocookconfigwindow.cpp
@@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
3 | 3 | ||
4 | #include "autocookwindow.h" | 4 | #include "autocookwindow.h" |
5 | #include "confirmpopup.h" | 5 | #include "confirmpopup.h" |
6 | +#include "stringer.h" | ||
6 | #include "favoritenamepopup.h" | 7 | #include "favoritenamepopup.h" |
7 | 8 | ||
8 | AutoCookConfigWindow::AutoCookConfigWindow(QWidget *parent, Cook cook) : | 9 | AutoCookConfigWindow::AutoCookConfigWindow(QWidget *parent, Cook cook) : |
@@ -129,10 +130,6 @@ void AutoCookConfigWindow::setupUi() | @@ -129,10 +130,6 @@ void AutoCookConfigWindow::setupUi() | ||
129 | break; | 130 | break; |
130 | } | 131 | } |
131 | 132 | ||
132 | -// cw.slider->style()->unpolish(cw.slider); | ||
133 | -// cw.slider->style()->polish(cw.slider); | ||
134 | -// cw.slider->update(); | ||
135 | - | ||
136 | connect(cw.slider, SIGNAL(valueChanged(int)), SLOT(updateConfig())); | 133 | connect(cw.slider, SIGNAL(valueChanged(int)), SLOT(updateConfig())); |
137 | } | 134 | } |
138 | } | 135 | } |
@@ -153,36 +150,10 @@ void AutoCookConfigWindow::updateView() | @@ -153,36 +150,10 @@ void AutoCookConfigWindow::updateView() | ||
153 | switch (config.type) | 150 | switch (config.type) |
154 | { | 151 | { |
155 | case Define::Time: | 152 | case Define::Time: |
156 | - { | ||
157 | - int time = cook.time(); | ||
158 | - if (time >= 3600) | ||
159 | - cw.current->setText(QString().sprintf( | ||
160 | - "%d" | ||
161 | - "<span style=\"font-size:11pt;\">시간</span>" | ||
162 | - " %02d" | ||
163 | - "<span style=\"font-size:11pt;\">분</span>", | ||
164 | - time / 3600, | ||
165 | - (time % 3600) / 60)); | ||
166 | - else if (time >= 60) | ||
167 | - cw.current->setText(QString().sprintf( | ||
168 | - "%d" | ||
169 | - "<span style=\"font-size:11pt;\">분</span>" | ||
170 | - " %02d" | ||
171 | - "<span style=\"font-size:11pt;\">초</span>", | ||
172 | - time / 60, | ||
173 | - time % 60)); | ||
174 | - else | ||
175 | - cw.current->setText(QString().sprintf( | ||
176 | - "%d" | ||
177 | - "<span style=\"font-size:11pt;\">초</span>", | ||
178 | - time)); | 153 | + cw.current->setText(Stringer::remainingTime(cook.time() * 1000, Stringer::fontSize14)); |
179 | break; | 154 | break; |
180 | - } | ||
181 | case Define::BurnDegree: | 155 | case Define::BurnDegree: |
182 | - cw.current->setText(QString().sprintf( | ||
183 | - "%d" | ||
184 | - "<span style=\"font-size:11pt;\">℃</span>", | ||
185 | - cook.coreTemp())); | 156 | + cw.current->setText(Stringer::temperature(cook.coreTemp(), Stringer::fontSize14)); |
186 | break; | 157 | break; |
187 | default: | 158 | default: |
188 | cw.current->setText(QString().sprintf( | 159 | cw.current->setText(QString().sprintf( |
app/gui/oven_control/autocooksettingwidget.cpp
1 | #include "autocooksettingwidget.h" | 1 | #include "autocooksettingwidget.h" |
2 | #include "ui_autocooksettingwidget.h" | 2 | #include "ui_autocooksettingwidget.h" |
3 | 3 | ||
4 | +#include "stringer.h" | ||
4 | 5 | ||
5 | AutoCookSettingWidget::AutoCookSettingWidget(AutoCookSetting setting, QWidget *parent) : | 6 | AutoCookSettingWidget::AutoCookSettingWidget(AutoCookSetting setting, QWidget *parent) : |
6 | QWidget(parent), | 7 | QWidget(parent), |
@@ -116,36 +117,10 @@ void AutoCookSettingWidget::setupUi(Cook cook) | @@ -116,36 +117,10 @@ void AutoCookSettingWidget::setupUi(Cook cook) | ||
116 | switch (config.type) | 117 | switch (config.type) |
117 | { | 118 | { |
118 | case Define::Time: | 119 | case Define::Time: |
119 | - { | ||
120 | - int time = cook.time(); | ||
121 | - if (time >= 3600) | ||
122 | - cw.current->setText(QString().sprintf( | ||
123 | - "%d" | ||
124 | - "<span style=\"font-size:11pt;\">시간</span>" | ||
125 | - " %02d" | ||
126 | - "<span style=\"font-size:11pt;\">분</span>", | ||
127 | - time / 3600, | ||
128 | - (time % 3600) / 60)); | ||
129 | - else if (time >= 60) | ||
130 | - cw.current->setText(QString().sprintf( | ||
131 | - "%d" | ||
132 | - "<span style=\"font-size:11pt;\">분</span>" | ||
133 | - " %02d" | ||
134 | - "<span style=\"font-size:11pt;\">초</span>", | ||
135 | - time / 60, | ||
136 | - time % 60)); | ||
137 | - else | ||
138 | - cw.current->setText(QString().sprintf( | ||
139 | - "%d" | ||
140 | - "<span style=\"font-size:11pt;\">초</span>", | ||
141 | - time)); | 120 | + cw.current->setText(Stringer::remainingTime(cook.time() * 1000, Stringer::fontSize14)); |
142 | break; | 121 | break; |
143 | - } | ||
144 | case Define::BurnDegree: | 122 | case Define::BurnDegree: |
145 | - cw.current->setText(QString().sprintf( | ||
146 | - "%d" | ||
147 | - "<span style=\"font-size:11pt;\">℃</span>", | ||
148 | - cook.coreTemp())); | 123 | + cw.current->setText(Stringer::temperature(cook.coreTemp(), Stringer::fontSize14)); |
149 | break; | 124 | break; |
150 | default: | 125 | default: |
151 | cw.current->setText(QString().sprintf( | 126 | cw.current->setText(QString().sprintf( |
app/gui/oven_control/autocookwindow.cpp
@@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
5 | #include "cookhistory.h" | 5 | #include "cookhistory.h" |
6 | #include "confirmpopup.h" | 6 | #include "confirmpopup.h" |
7 | #include "favoritenamepopup.h" | 7 | #include "favoritenamepopup.h" |
8 | +#include "stringer.h" | ||
8 | 9 | ||
9 | AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : | 10 | AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : |
10 | QMainWindow(parent), | 11 | QMainWindow(parent), |
@@ -53,6 +54,9 @@ AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : | @@ -53,6 +54,9 @@ AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : | ||
53 | setting.configs[i] = cook.configs[i].current; | 54 | setting.configs[i] = cook.configs[i].current; |
54 | 55 | ||
55 | CookHistory::record(setting); | 56 | CookHistory::record(setting); |
57 | + | ||
58 | + connect(&updateViewTimer, SIGNAL(timeout()), SLOT(updateView())); | ||
59 | + updateViewTimer.start(100); | ||
56 | } | 60 | } |
57 | 61 | ||
58 | AutoCookWindow::~AutoCookWindow() | 62 | AutoCookWindow::~AutoCookWindow() |
@@ -189,48 +193,20 @@ void AutoCookWindow::updateView() | @@ -189,48 +193,20 @@ void AutoCookWindow::updateView() | ||
189 | { | 193 | { |
190 | Oven *oven = Oven::getInstance(); | 194 | Oven *oven = Oven::getInstance(); |
191 | 195 | ||
192 | - QString spanFontSize11("<span style=\"font-size:11pt\">%1</span>"); | ||
193 | - QString spanFontSize9("<span style=\"font-size:9pt\">%1</span>"); | ||
194 | - | ||
195 | - int remainingTime = qMax(0, autocook.remainingTime()); | ||
196 | - if (remainingTime != lastViewTime) | 196 | + if (!autocook.done()) |
197 | { | 197 | { |
198 | - lastViewTime = remainingTime; | ||
199 | - | ||
200 | - QString hour = spanFontSize11.arg("시간"); | ||
201 | - QString min = spanFontSize11.arg("분"); | ||
202 | - QString sec = spanFontSize11.arg("초"); | ||
203 | - | ||
204 | - if (remainingTime >= 3600) | ||
205 | - ui->timeLabel->setText(QString("%1%2 %3%4") | ||
206 | - .arg(remainingTime / 3600) | ||
207 | - .arg(hour) | ||
208 | - .arg((remainingTime % 3600) / 60, 2, 10, QLatin1Char('0')) | ||
209 | - .arg(min)); | ||
210 | - else if (remainingTime >= 60) | ||
211 | - ui->timeLabel->setText(QString("%1%2 %3%4") | ||
212 | - .arg(remainingTime / 60) | ||
213 | - .arg(min) | ||
214 | - .arg(remainingTime % 60, 2, 10, QLatin1Char('0')) | ||
215 | - .arg(sec)); | ||
216 | - else | ||
217 | - ui->timeLabel->setText(QString("%1%2") | ||
218 | - .arg(remainingTime) | ||
219 | - .arg(sec)); | 198 | + int remainingTime = qMax(0, autocook.msecs()); |
199 | + ui->timeLabel->setText(Stringer::remainingTime(remainingTime)); | ||
220 | } | 200 | } |
221 | 201 | ||
222 | int coreTemp = oven->currentInterTemp(); | 202 | int coreTemp = oven->currentInterTemp(); |
223 | if (coreTemp != lastViewCoreTemp) | 203 | if (coreTemp != lastViewCoreTemp) |
224 | { | 204 | { |
225 | lastViewCoreTemp = coreTemp; | 205 | lastViewCoreTemp = coreTemp; |
226 | - | ||
227 | - QString coreTempLabel = QString::number(coreTemp); | ||
228 | if (cook.isCoreTempValid()) | 206 | if (cook.isCoreTempValid()) |
229 | - coreTempLabel += spanFontSize11.arg("℃ / " + QString::number(cook.coreTemp())) + spanFontSize9.arg("℃"); | 207 | + ui->interTempLabel->setText(Stringer::temperature(coreTemp, cook.coreTemp(), Stringer::fontSize14)); |
230 | else | 208 | else |
231 | - coreTempLabel += spanFontSize11.arg("℃"); | ||
232 | - | ||
233 | - ui->interTempLabel->setText(coreTempLabel); | 209 | + ui->interTempLabel->setText(Stringer::temperature(coreTemp, Stringer::fontSize14)); |
234 | } | 210 | } |
235 | 211 | ||
236 | if (autocook.done()) | 212 | if (autocook.done()) |
@@ -523,7 +499,7 @@ void AutoCookWindow::updateView() | @@ -523,7 +499,7 @@ void AutoCookWindow::updateView() | ||
523 | if (temp != lastViewTemp) | 499 | if (temp != lastViewTemp) |
524 | { | 500 | { |
525 | lastViewTemp = temp; | 501 | lastViewTemp = temp; |
526 | - ui->heatLabel->setText(QString("%1℃").arg(temp)); | 502 | + ui->heatLabel->setText(Stringer::temperature(temp)); |
527 | ui->heatGauge->setValue(temp); | 503 | ui->heatGauge->setValue(temp); |
528 | } | 504 | } |
529 | } | 505 | } |
app/gui/oven_control/autocookwindow.h
app/gui/oven_control/cooldownpopup.cpp
1 | #include "cooldownpopup.h" | 1 | #include "cooldownpopup.h" |
2 | #include "ui_cooldownpopup.h" | 2 | #include "ui_cooldownpopup.h" |
3 | 3 | ||
4 | +#include "stringer.h" | ||
5 | + | ||
4 | CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | 6 | CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : |
5 | QWidget(parent), | 7 | QWidget(parent), |
6 | ui(new Ui::CooldownPopup), | 8 | ui(new Ui::CooldownPopup), |
@@ -11,6 +13,9 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | @@ -11,6 +13,9 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | ||
11 | 13 | ||
12 | setAttribute(Qt::WA_DeleteOnClose); | 14 | setAttribute(Qt::WA_DeleteOnClose); |
13 | 15 | ||
16 | + lastDisplayedFanLevel = -1; | ||
17 | + lastDisplayedHumidification = !oven->humidification(); | ||
18 | + | ||
14 | ui->openDoorAnimation->load(":/images/animation/door_big_01.png"); | 19 | ui->openDoorAnimation->load(":/images/animation/door_big_01.png"); |
15 | ui->openDoorAnimation->load(":/images/animation/door_big_02.png"); | 20 | ui->openDoorAnimation->load(":/images/animation/door_big_02.png"); |
16 | ui->openDoorAnimation->load(":/images/animation/door_big_03.png"); | 21 | ui->openDoorAnimation->load(":/images/animation/door_big_03.png"); |
@@ -86,31 +91,41 @@ void CooldownPopup::updateView() | @@ -86,31 +91,41 @@ void CooldownPopup::updateView() | ||
86 | else | 91 | else |
87 | temp = ui->tempSlider->value(); | 92 | temp = ui->tempSlider->value(); |
88 | 93 | ||
89 | - ui->tempCurrentLabel->setText(QString("%1<span style=\"font-size:11pt;\">℃</span>").arg(temp)); | 94 | + ui->tempCurrentLabel->setText(Stringer::temperature(temp, Stringer::fontSize14)); |
90 | 95 | ||
91 | - switch (expectingFanLevel) | 96 | + if (lastDisplayedFanLevel != expectingFanLevel) |
92 | { | 97 | { |
93 | - case 1: | ||
94 | - ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan1.png);"); | ||
95 | - break; | ||
96 | - case 2: | ||
97 | - ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan2.png);"); | ||
98 | - break; | ||
99 | - case 3: | ||
100 | - ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan3.png);"); | ||
101 | - break; | ||
102 | - case 4: | ||
103 | - ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan4.png);"); | ||
104 | - break; | ||
105 | - case 5: | ||
106 | - ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan5.png);"); | ||
107 | - break; | 98 | + lastDisplayedFanLevel = expectingFanLevel; |
99 | + | ||
100 | + switch (expectingFanLevel) | ||
101 | + { | ||
102 | + case 1: | ||
103 | + ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan1.png);"); | ||
104 | + break; | ||
105 | + case 2: | ||
106 | + ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan2.png);"); | ||
107 | + break; | ||
108 | + case 3: | ||
109 | + ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan3.png);"); | ||
110 | + break; | ||
111 | + case 4: | ||
112 | + ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan4.png);"); | ||
113 | + break; | ||
114 | + case 5: | ||
115 | + ui->fanButton->setStyleSheet("background-image: url(:/images/cooldown/fan5.png);"); | ||
116 | + break; | ||
117 | + } | ||
108 | } | 118 | } |
109 | 119 | ||
110 | - if (oven->humidification()) | ||
111 | - ui->humidificationButton->setStyleSheet("background-image: url(:/images/cooldown/side_nozzle_ov.png);"); | ||
112 | - else | ||
113 | - ui->humidificationButton->setStyleSheet("background-image: url(:/images/cooldown/side_nozzle.png);"); | 120 | + if (lastDisplayedHumidification != oven->humidification()) |
121 | + { | ||
122 | + lastDisplayedHumidification = oven->humidification(); | ||
123 | + | ||
124 | + if (oven->humidification()) | ||
125 | + ui->humidificationButton->setStyleSheet("background-image: url(:/images/cooldown/side_nozzle_ov.png);"); | ||
126 | + else | ||
127 | + ui->humidificationButton->setStyleSheet("background-image: url(:/images/cooldown/side_nozzle.png);"); | ||
128 | + } | ||
114 | 129 | ||
115 | if (started && !oven->door()) | 130 | if (started && !oven->door()) |
116 | ui->openDoorWidget->show(); | 131 | ui->openDoorWidget->show(); |
app/gui/oven_control/cooldownpopup.h
@@ -53,6 +53,9 @@ private: | @@ -53,6 +53,9 @@ private: | ||
53 | int expectingFanLevel; | 53 | int expectingFanLevel; |
54 | bool started; | 54 | bool started; |
55 | bool opened; | 55 | bool opened; |
56 | + | ||
57 | + int lastDisplayedFanLevel; | ||
58 | + bool lastDisplayedHumidification; | ||
56 | }; | 59 | }; |
57 | 60 | ||
58 | #endif // COOLDOWNPOPUP_H | 61 | #endif // COOLDOWNPOPUP_H |
app/gui/oven_control/manualcooksettingwidget.cpp
1 | #include "manualcooksettingwidget.h" | 1 | #include "manualcooksettingwidget.h" |
2 | #include "ui_manualcooksettingwidget.h" | 2 | #include "ui_manualcooksettingwidget.h" |
3 | 3 | ||
4 | +#include "stringer.h" | ||
5 | + | ||
4 | ManualCookSettingWidget::ManualCookSettingWidget(ManualCookSetting setting, QWidget *parent) : | 6 | ManualCookSettingWidget::ManualCookSettingWidget(ManualCookSetting setting, QWidget *parent) : |
5 | QWidget(parent), | 7 | QWidget(parent), |
6 | ui(new Ui::ManualCookSettingWidget) | 8 | ui(new Ui::ManualCookSettingWidget) |
@@ -49,25 +51,13 @@ void ManualCookSettingWidget::setHumidity(int percentage) | @@ -49,25 +51,13 @@ void ManualCookSettingWidget::setHumidity(int percentage) | ||
49 | void ManualCookSettingWidget::setTemp(int celsius) | 51 | void ManualCookSettingWidget::setTemp(int celsius) |
50 | { | 52 | { |
51 | ui->tempSlider->setValue(celsius); | 53 | ui->tempSlider->setValue(celsius); |
52 | - ui->tempLabel->setText(QString("%1<span style=\"font-size:11pt;\">℃</span>").arg(celsius)); | 54 | + ui->tempLabel->setText(Stringer::temperature(celsius, Stringer::fontSize14)); |
53 | } | 55 | } |
54 | 56 | ||
55 | void ManualCookSettingWidget::setTime(int secs) | 57 | void ManualCookSettingWidget::setTime(int secs) |
56 | { | 58 | { |
57 | ui->timeSlider->setValue(secs); | 59 | ui->timeSlider->setValue(secs); |
58 | - | ||
59 | - if (secs >= 3600) | ||
60 | - ui->timeLabel->setText( | ||
61 | - QString("%1<span style=\"font-size:11pt;\">시간</span> %2<span style=\"font-size:11pt;\">분</span>") | ||
62 | - .arg(secs / 3600) | ||
63 | - .arg((secs % 3600) / 60, 2, 10, QLatin1Char('0'))); | ||
64 | - else if (secs >= 60) | ||
65 | - ui->timeLabel->setText( | ||
66 | - QString("%1<span style=\"font-size:11pt;\">분</span> %2<span style=\"font-size:11pt;\">초</span>") | ||
67 | - .arg(secs / 60) | ||
68 | - .arg(secs % 60, 2, 10, QLatin1Char('0'))); | ||
69 | - else | ||
70 | - ui->timeLabel->setText(QString("%1<span style=\"font-size:11pt;\">초</span>").arg(secs)); | 60 | + ui->timeLabel->setText(Stringer::remainingTime(secs * 1000, Stringer::fontSize14)); |
71 | } | 61 | } |
72 | 62 | ||
73 | void ManualCookSettingWidget::setCoreTempEnabled(bool enabled) | 63 | void ManualCookSettingWidget::setCoreTempEnabled(bool enabled) |
@@ -76,16 +66,16 @@ void ManualCookSettingWidget::setCoreTempEnabled(bool enabled) | @@ -76,16 +66,16 @@ void ManualCookSettingWidget::setCoreTempEnabled(bool enabled) | ||
76 | ui->coreTempSlider->setEnabled(enabled); | 66 | ui->coreTempSlider->setEnabled(enabled); |
77 | 67 | ||
78 | if (enabled) | 68 | if (enabled) |
79 | - ui->coreTempLabel->setText(QString("%1<span style=\"font-size:11pt;\">℃</span>").arg(ui->coreTempSlider->value())); | 69 | + ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->value(), Stringer::fontSize14)); |
80 | else | 70 | else |
81 | - ui->coreTempLabel->setText("<span style=\"font-size:11pt;\">℃</span>"); | 71 | + ui->coreTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); |
82 | } | 72 | } |
83 | 73 | ||
84 | void ManualCookSettingWidget::setCoreTemp(int celsius) | 74 | void ManualCookSettingWidget::setCoreTemp(int celsius) |
85 | { | 75 | { |
86 | ui->coreTempSlider->setValue(celsius); | 76 | ui->coreTempSlider->setValue(celsius); |
87 | if (ui->coreTempSlider->isEnabled()) | 77 | if (ui->coreTempSlider->isEnabled()) |
88 | - ui->coreTempLabel->setText(QString("%1<span style=\"font-size:11pt;\">℃</span>").arg(celsius)); | 78 | + ui->coreTempLabel->setText(Stringer::temperature(celsius, Stringer::fontSize14)); |
89 | } | 79 | } |
90 | 80 | ||
91 | void ManualCookSettingWidget::setFan(int level) | 81 | void ManualCookSettingWidget::setFan(int level) |
app/gui/oven_control/manualcookwindow.cpp
@@ -10,9 +10,34 @@ | @@ -10,9 +10,34 @@ | ||
10 | #include "cookhistory.h" | 10 | #include "cookhistory.h" |
11 | #include "favoritenamepopup.h" | 11 | #include "favoritenamepopup.h" |
12 | #include "confirmpopup.h" | 12 | #include "confirmpopup.h" |
13 | +#include "stringer.h" | ||
14 | +#include "config.h" | ||
13 | 15 | ||
14 | #include <QTime> | 16 | #include <QTime> |
15 | 17 | ||
18 | +namespace { | ||
19 | + | ||
20 | +enum TemperatureFormat { Celsius, Fahrenheit }; | ||
21 | +TemperatureFormat temperatureFormat() | ||
22 | +{ | ||
23 | + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_temptype); | ||
24 | + switch (item.d32) | ||
25 | + { | ||
26 | + case Define::temp_type_f: | ||
27 | + return Fahrenheit; | ||
28 | + case Define::temp_type_c: | ||
29 | + default: | ||
30 | + return Celsius; | ||
31 | + } | ||
32 | +} | ||
33 | + | ||
34 | +int toFahrenheit(int celsius) | ||
35 | +{ | ||
36 | + return celsius * 1.8 + 32; | ||
37 | +} | ||
38 | + | ||
39 | +} | ||
40 | + | ||
16 | ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : | 41 | ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : |
17 | QMainWindow(parent), | 42 | QMainWindow(parent), |
18 | ui(new Ui::ManualCookWindow) | 43 | ui(new Ui::ManualCookWindow) |
@@ -66,6 +91,23 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : | @@ -66,6 +91,23 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : | ||
66 | oven->setDefault(mode); | 91 | oven->setDefault(mode); |
67 | 92 | ||
68 | setupAnimationTimer->start(0); | 93 | setupAnimationTimer->start(0); |
94 | + | ||
95 | + checkTimeTimer.start(); | ||
96 | + | ||
97 | + switch (temperatureFormat()) | ||
98 | + { | ||
99 | + case Fahrenheit: | ||
100 | + ui->steamLabel_12->setText("℉"); | ||
101 | + ui->steamLabel_13->setText("℉"); | ||
102 | + break; | ||
103 | + case Celsius: | ||
104 | + ui->steamLabel_12->setText("℃"); | ||
105 | + ui->steamLabel_13->setText("℃"); | ||
106 | + break; | ||
107 | + default: | ||
108 | + ui->steamLabel_12->hide(); | ||
109 | + ui->steamLabel_13->hide(); | ||
110 | + } | ||
69 | } | 111 | } |
70 | 112 | ||
71 | ManualCookWindow::ManualCookWindow(QWidget *parent, ManualCookSetting setting) | 113 | ManualCookWindow::ManualCookWindow(QWidget *parent, ManualCookSetting setting) |
@@ -104,7 +146,7 @@ void ManualCookWindow::setupAnimation() | @@ -104,7 +146,7 @@ void ManualCookWindow::setupAnimation() | ||
104 | 146 | ||
105 | void ManualCookWindow::checkTime() | 147 | void ManualCookWindow::checkTime() |
106 | { | 148 | { |
107 | - if (oven->cooking() && !ui->timeSlider->isSliderDown()) | 149 | + if (!ui->timeSlider->isSliderDown()) |
108 | { | 150 | { |
109 | bool old = ui->timeSlider->blockSignals(true); | 151 | bool old = ui->timeSlider->blockSignals(true); |
110 | ui->timeSlider->setSliderPosition(oven->time()); | 152 | ui->timeSlider->setSliderPosition(oven->time()); |
@@ -160,20 +202,15 @@ void ManualCookWindow::updateLabels() | @@ -160,20 +202,15 @@ void ManualCookWindow::updateLabels() | ||
160 | else | 202 | else |
161 | temp = oven->temp(); | 203 | temp = oven->temp(); |
162 | 204 | ||
163 | - ui->tempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", temp)); | 205 | + ui->tempLabel->setText(Stringer::temperature(temp, Stringer::fontSize14)); |
164 | 206 | ||
165 | - int time; | 207 | + int msecs; |
166 | if (ui->timeSlider->isSliderDown()) | 208 | if (ui->timeSlider->isSliderDown()) |
167 | - time = ui->timeSlider->sliderPosition(); | 209 | + msecs = ui->timeSlider->sliderPosition() * 1000; |
168 | else | 210 | else |
169 | - time = oven->time(); | 211 | + msecs = oven->msecs(); |
170 | 212 | ||
171 | - if (time >= 3600) | ||
172 | - ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">시간</span> %02d<span style=\"font-size:11pt;\">분</span>", time / 3600, (time % 3600) / 60)); | ||
173 | - else if (time >= 60) | ||
174 | - ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">분</span> %02d<span style=\"font-size:11pt;\">초</span>", time / 60, time % 60)); | ||
175 | - else | ||
176 | - ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">초</span>", time)); | 213 | + ui->timeLabel->setText(Stringer::remainingTime(msecs, Stringer::fontSize14)); |
177 | 214 | ||
178 | if (oven->interTempEnabled()) | 215 | if (oven->interTempEnabled()) |
179 | { | 216 | { |
@@ -183,23 +220,29 @@ void ManualCookWindow::updateLabels() | @@ -183,23 +220,29 @@ void ManualCookWindow::updateLabels() | ||
183 | else | 220 | else |
184 | interTemp = oven->interTemp(); | 221 | interTemp = oven->interTemp(); |
185 | 222 | ||
186 | - ui->interTempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", interTemp)); | 223 | + ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14)); |
187 | } | 224 | } |
188 | else | 225 | else |
189 | - ui->interTempLabel->setText("<span style=\"font-size:11pt;\">℃</span>"); | 226 | + ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); |
190 | 227 | ||
191 | int innerInterTemp = ui->innerInterTempSlider->sliderPosition(); | 228 | int innerInterTemp = ui->innerInterTempSlider->sliderPosition(); |
192 | -// if (ui->innerInterTempSlider->isSliderDown()) | ||
193 | -// innerInterTemp = ui->innerInterTempSlider->sliderPosition(); | ||
194 | -// else | ||
195 | -// innerInterTemp = oven->interTemp(); | ||
196 | - | ||
197 | - ui->innerInterTempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", innerInterTemp)); | 229 | + ui->innerInterTempLabel->setText(Stringer::temperature(innerInterTemp, Stringer::fontSize14)); |
198 | 230 | ||
199 | ui->curHumidityLabel->setText(buf.sprintf("%d", oven->currentHumidity())); | 231 | ui->curHumidityLabel->setText(buf.sprintf("%d", oven->currentHumidity())); |
200 | ui->targetHumidityLabel->setText(buf.sprintf("%d", oven->humidity())); | 232 | ui->targetHumidityLabel->setText(buf.sprintf("%d", oven->humidity())); |
201 | - ui->curTempLabel->setText(buf.sprintf("%d", oven->currentTemp())); | ||
202 | - ui->curInterTempLabel->setText(buf.sprintf("%d", oven->currentInterTemp())); | 233 | + |
234 | + switch (temperatureFormat()) | ||
235 | + { | ||
236 | + case Fahrenheit: | ||
237 | + ui->curTempLabel->setText(QString::number(toFahrenheit(oven->currentTemp()))); | ||
238 | + ui->curInterTempLabel->setText(QString::number(toFahrenheit(oven->currentInterTemp()))); | ||
239 | + break; | ||
240 | + case Celsius: | ||
241 | + default: | ||
242 | + ui->curTempLabel->setText(QString::number(oven->currentTemp())); | ||
243 | + ui->curInterTempLabel->setText(QString::number(oven->currentInterTemp())); | ||
244 | + break; | ||
245 | + } | ||
203 | } | 246 | } |
204 | 247 | ||
205 | void ManualCookWindow::onOvenUpdated(Oven *oven) | 248 | void ManualCookWindow::onOvenUpdated(Oven *oven) |
@@ -339,7 +382,6 @@ void ManualCookWindow::start() | @@ -339,7 +382,6 @@ void ManualCookWindow::start() | ||
339 | startCookingTimer.stop(); | 382 | startCookingTimer.stop(); |
340 | 383 | ||
341 | oven->startCooking(); | 384 | oven->startCooking(); |
342 | - checkTimeTimer.start(); | ||
343 | 385 | ||
344 | ManualCookSetting s; | 386 | ManualCookSetting s; |
345 | s.mode = oven->mode(); | 387 | s.mode = oven->mode(); |
@@ -358,7 +400,6 @@ void ManualCookWindow::stop() | @@ -358,7 +400,6 @@ void ManualCookWindow::stop() | ||
358 | { | 400 | { |
359 | oven->stop(); | 401 | oven->stop(); |
360 | startCookingTimer.stop(); | 402 | startCookingTimer.stop(); |
361 | - checkTimeTimer.stop(); | ||
362 | } | 403 | } |
363 | 404 | ||
364 | void ManualCookWindow::on_steamButton_clicked() | 405 | void ManualCookWindow::on_steamButton_clicked() |
app/gui/oven_control/oven.cpp
@@ -268,6 +268,19 @@ bool Oven::isInterTempValid() | @@ -268,6 +268,19 @@ bool Oven::isInterTempValid() | ||
268 | return isInterTempValid_ && interTempValidTime.elapsed() > 3000; | 268 | return isInterTempValid_ && interTempValidTime.elapsed() > 3000; |
269 | } | 269 | } |
270 | 270 | ||
271 | +int Oven::msecs() | ||
272 | +{ | ||
273 | + int left = cookingTimer.remainingTime(); | ||
274 | + int interval = cookingTimer.interval(); | ||
275 | + if (left > interval) | ||
276 | + left = interval; | ||
277 | + | ||
278 | + if (cooking()) | ||
279 | + return left; | ||
280 | + | ||
281 | + return time_ * 1000; | ||
282 | +} | ||
283 | + | ||
271 | bool Oven::cookingStartable() | 284 | bool Oven::cookingStartable() |
272 | { | 285 | { |
273 | if (/*door() || */cooking() || time() <= 0) | 286 | if (/*door() || */cooking() || time() <= 0) |
app/gui/oven_control/oven.h
@@ -136,6 +136,7 @@ public: | @@ -136,6 +136,7 @@ public: | ||
136 | int currentInterTemp() { return currentInterTemp_; } | 136 | int currentInterTemp() { return currentInterTemp_; } |
137 | 137 | ||
138 | bool isInterTempValid(); | 138 | bool isInterTempValid(); |
139 | + int msecs(); | ||
139 | 140 | ||
140 | bool cookingStartable(); | 141 | bool cookingStartable(); |
141 | bool preheatingStartable(); | 142 | bool preheatingStartable(); |
app/gui/oven_control/oven_control.pro
@@ -85,7 +85,8 @@ SOURCES += main.cpp\ | @@ -85,7 +85,8 @@ SOURCES += main.cpp\ | ||
85 | autocooksettingwidget.cpp \ | 85 | autocooksettingwidget.cpp \ |
86 | favoritenamepopup.cpp \ | 86 | favoritenamepopup.cpp \ |
87 | confirmpopup.cpp \ | 87 | confirmpopup.cpp \ |
88 | - usbcheckpopupdlg.cpp | 88 | + usbcheckpopupdlg.cpp \ |
89 | + stringer.cpp | ||
89 | 90 | ||
90 | HEADERS += mainwindow.h \ | 91 | HEADERS += mainwindow.h \ |
91 | cook.h \ | 92 | cook.h \ |
@@ -160,7 +161,8 @@ HEADERS += mainwindow.h \ | @@ -160,7 +161,8 @@ HEADERS += mainwindow.h \ | ||
160 | autocooksettingwidget.h \ | 161 | autocooksettingwidget.h \ |
161 | favoritenamepopup.h \ | 162 | favoritenamepopup.h \ |
162 | confirmpopup.h \ | 163 | confirmpopup.h \ |
163 | - usbcheckpopupdlg.h | 164 | + usbcheckpopupdlg.h \ |
165 | + stringer.h | ||
164 | 166 | ||
165 | FORMS += mainwindow.ui \ | 167 | FORMS += mainwindow.ui \ |
166 | manualcookwindow.ui \ | 168 | manualcookwindow.ui \ |
app/gui/oven_control/preheatpopup.cpp
1 | #include "preheatpopup.h" | 1 | #include "preheatpopup.h" |
2 | #include "ui_preheatpopup.h" | 2 | #include "ui_preheatpopup.h" |
3 | 3 | ||
4 | +#include "stringer.h" | ||
5 | + | ||
4 | PreheatPopup::PreheatPopup(QWidget *parent, Oven *oven) : | 6 | PreheatPopup::PreheatPopup(QWidget *parent, Oven *oven) : |
5 | QWidget(parent), | 7 | QWidget(parent), |
6 | ui(new Ui::PreheatPopup), | 8 | ui(new Ui::PreheatPopup), |
@@ -36,22 +38,13 @@ PreheatPopup::~PreheatPopup() | @@ -36,22 +38,13 @@ PreheatPopup::~PreheatPopup() | ||
36 | 38 | ||
37 | void PreheatPopup::updateView() | 39 | void PreheatPopup::updateView() |
38 | { | 40 | { |
39 | - int time = oven->time(); | ||
40 | - if (time >= 3600) | ||
41 | - ui->timeLabel->setText(QString().sprintf("%d<span style=\"font-size:11pt;\">시간</span> %02d<span style=\"font-size:11pt;\">분</span>", time / 3600, (time % 3600) / 60)); | ||
42 | - else if (time >= 60) | ||
43 | - ui->timeLabel->setText(QString().sprintf("%d<span style=\"font-size:11pt;\">분</span> %02d<span style=\"font-size:11pt;\">초</span>", time / 60, time % 60)); | ||
44 | - else | ||
45 | - ui->timeLabel->setText(QString().sprintf("%d<span style=\"font-size:11pt;\">초</span>", time)); | 41 | + ui->timeLabel->setText(Stringer::remainingTime(oven->time(), Stringer::fontSize14)); |
46 | 42 | ||
47 | int curInterTemp = oven->currentInterTemp(); | 43 | int curInterTemp = oven->currentInterTemp(); |
48 | if (oven->interTempEnabled()) | 44 | if (oven->interTempEnabled()) |
49 | - { | ||
50 | - int interTemp = oven->interTemp(); | ||
51 | - ui->interTempLabel->setText(QString().sprintf("%d<span style=\"font-size:11pt;\">℃ / %d</span><span style=\"font-size:9pt;\">℃</span>", curInterTemp, interTemp)); | ||
52 | - } | 45 | + ui->interTempLabel->setText(Stringer::temperature(curInterTemp, oven->interTemp(), Stringer::fontSize14)); |
53 | else | 46 | else |
54 | - ui->interTempLabel->setText(QString().sprintf("%d<span style=\"font-size:11pt;\">℃</span>", curInterTemp)); | 47 | + ui->interTempLabel->setText(Stringer::temperature(curInterTemp, Stringer::fontSize14)); |
55 | 48 | ||
56 | int humidity; | 49 | int humidity; |
57 | if (showingCurrentHumidity) | 50 | if (showingCurrentHumidity) |
@@ -67,7 +60,7 @@ void PreheatPopup::updateView() | @@ -67,7 +60,7 @@ void PreheatPopup::updateView() | ||
67 | 60 | ||
68 | ui->humidityLabel->setText(QString().sprintf("%d%%", humidity)); | 61 | ui->humidityLabel->setText(QString().sprintf("%d%%", humidity)); |
69 | ui->humidityGauge->setValue(humidity); | 62 | ui->humidityGauge->setValue(humidity); |
70 | - ui->heatLabel->setText(QString().sprintf("%d℃", temp)); | 63 | + ui->heatLabel->setText(Stringer::temperature(temp)); |
71 | ui->heatGauge->setValue(temp); | 64 | ui->heatGauge->setValue(temp); |
72 | 65 | ||
73 | ui->preheatGauge->setValue(oven->currentTemp()); | 66 | ui->preheatGauge->setValue(oven->currentTemp()); |
app/gui/oven_control/stringer.cpp
@@ -0,0 +1,162 @@ | @@ -0,0 +1,162 @@ | ||
1 | +#include "stringer.h" | ||
2 | + | ||
3 | +#include "config.h" | ||
4 | + | ||
5 | +namespace { | ||
6 | +QString heavySpan("<span class=\"heavy\">%1</span>"); | ||
7 | +QString lightSpan("<span class=\"light\">%1</span>"); | ||
8 | +QString lightestSpan("<span class=\"lightest\">%1</span>"); | ||
9 | + | ||
10 | +enum RemainingTimeFormat { RemainingTime, FinishTime }; | ||
11 | +RemainingTimeFormat remainingTime() | ||
12 | +{ | ||
13 | + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_resttime_format); | ||
14 | + switch (item.d32) | ||
15 | + { | ||
16 | + case Define::rest_time_target: | ||
17 | + return FinishTime; | ||
18 | + case Define::rest_time_rest: | ||
19 | + default: | ||
20 | + return RemainingTime; | ||
21 | + } | ||
22 | +} | ||
23 | + | ||
24 | +enum TemperatureFormat { Celsius, Fahrenheit }; | ||
25 | +TemperatureFormat temperatureFormat() | ||
26 | +{ | ||
27 | + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_temptype); | ||
28 | + switch (item.d32) | ||
29 | + { | ||
30 | + case Define::temp_type_f: | ||
31 | + return Fahrenheit; | ||
32 | + case Define::temp_type_c: | ||
33 | + default: | ||
34 | + return Celsius; | ||
35 | + } | ||
36 | +} | ||
37 | + | ||
38 | +int toFahrenheit(int celsius) | ||
39 | +{ | ||
40 | + return celsius * 1.8 + 32; | ||
41 | +} | ||
42 | +} | ||
43 | + | ||
44 | +QString Stringer::remainingTime(int msecs) | ||
45 | +{ | ||
46 | + switch (::remainingTime()) | ||
47 | + { | ||
48 | + case RemainingTime: | ||
49 | + msecs /= 1000; | ||
50 | + if (msecs >= 3600) | ||
51 | + return QString("%1시간 %2분").arg(msecs / 3600).arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0')); | ||
52 | + if (msecs >= 60) | ||
53 | + return QString("%1분 %2초").arg(msecs / 60).arg(msecs % 60, 2, 10, QLatin1Char('0')); | ||
54 | + | ||
55 | + return QString("%1초").arg(msecs); | ||
56 | + case FinishTime: | ||
57 | + return QDateTime::currentDateTime().addMSecs(msecs).toString("HH:mm:ss"); | ||
58 | + } | ||
59 | + | ||
60 | + return QString(); | ||
61 | +} | ||
62 | + | ||
63 | +QString Stringer::remainingTime(int msecs, QString style) | ||
64 | +{ | ||
65 | + switch (::remainingTime()) | ||
66 | + { | ||
67 | + case RemainingTime: | ||
68 | + msecs /= 1000; | ||
69 | + if (msecs >= 3600) | ||
70 | + { | ||
71 | + QString hour = heavySpan.arg(msecs / 3600) + lightSpan.arg("시간"); | ||
72 | + QString min = heavySpan.arg((msecs % 3600) / 60, 2, 10, QLatin1Char('0')) + lightSpan.arg("분"); | ||
73 | + | ||
74 | + return style + QString("%1 %2").arg(hour).arg(min); | ||
75 | + } | ||
76 | + if (msecs >= 60) | ||
77 | + { | ||
78 | + QString min = heavySpan.arg(msecs / 60) + lightSpan.arg("분"); | ||
79 | + QString sec = heavySpan.arg(msecs % 60, 2, 10, QLatin1Char('0')) + lightSpan.arg("초"); | ||
80 | + | ||
81 | + return style + QString("%1 %2").arg(min).arg(sec); | ||
82 | + } | ||
83 | + | ||
84 | + return style + heavySpan.arg(msecs) + lightSpan.arg("초"); | ||
85 | + case FinishTime: | ||
86 | + return heavySpan.arg(QDateTime::currentDateTime().addMSecs(msecs).toString("HH:mm:ss")); | ||
87 | + } | ||
88 | + | ||
89 | + return QString(); | ||
90 | +} | ||
91 | + | ||
92 | +QString Stringer::temperature(int celsius) | ||
93 | +{ | ||
94 | + switch (temperatureFormat()) | ||
95 | + { | ||
96 | + case Fahrenheit: | ||
97 | + return QString("%1℉").arg(toFahrenheit(celsius)); | ||
98 | + case Celsius: | ||
99 | + default: | ||
100 | + return QString("%1℃").arg(celsius); | ||
101 | + } | ||
102 | +} | ||
103 | + | ||
104 | +QString Stringer::temperature(int celsius, QString style) | ||
105 | +{ | ||
106 | + switch (temperatureFormat()) | ||
107 | + { | ||
108 | + case Fahrenheit: | ||
109 | + return style + heavySpan.arg(toFahrenheit(celsius)) + lightSpan.arg("℉"); | ||
110 | + case Celsius: | ||
111 | + default: | ||
112 | + return style + heavySpan.arg(celsius) + lightSpan.arg("℃"); | ||
113 | + } | ||
114 | +} | ||
115 | + | ||
116 | +QString Stringer::temperature(int current, int target) | ||
117 | +{ | ||
118 | + switch (temperatureFormat()) | ||
119 | + { | ||
120 | + case Fahrenheit: | ||
121 | + return QString("%1℉ / %2℉").arg(toFahrenheit(current)).arg(toFahrenheit(target)); | ||
122 | + case Celsius: | ||
123 | + default: | ||
124 | + return QString("%1℃ / %2℃").arg(current).arg(target); | ||
125 | + } | ||
126 | +} | ||
127 | + | ||
128 | +QString Stringer::temperature(int current, int target, QString style) | ||
129 | +{ | ||
130 | + switch (temperatureFormat()) | ||
131 | + { | ||
132 | + case Fahrenheit: | ||
133 | + return style + heavySpan.arg(toFahrenheit(current)) + lightSpan.arg(QString("℉ / %1").arg(toFahrenheit(target))) + lightestSpan.arg("℉"); | ||
134 | + case Celsius: | ||
135 | + default: | ||
136 | + return style + heavySpan.arg(current) + lightSpan.arg(QString("℃ / %1").arg(target)) + lightestSpan.arg("℃"); | ||
137 | + } | ||
138 | +} | ||
139 | + | ||
140 | +QString Stringer::unusedTemperature() | ||
141 | +{ | ||
142 | + switch (temperatureFormat()) | ||
143 | + { | ||
144 | + case Fahrenheit: | ||
145 | + return QString("℉"); | ||
146 | + case Celsius: | ||
147 | + default: | ||
148 | + return QString("℃"); | ||
149 | + } | ||
150 | +} | ||
151 | + | ||
152 | +QString Stringer::unusedTemperature(QString style) | ||
153 | +{ | ||
154 | + switch (temperatureFormat()) | ||
155 | + { | ||
156 | + case Fahrenheit: | ||
157 | + return style + lightSpan.arg("℉"); | ||
158 | + case Celsius: | ||
159 | + default: | ||
160 | + return style + lightSpan.arg("℃"); | ||
161 | + } | ||
162 | +} |
app/gui/oven_control/stringer.h
@@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
1 | +#ifndef STRINGER_H | ||
2 | +#define STRINGER_H | ||
3 | + | ||
4 | + | ||
5 | +#include <QtCore> | ||
6 | + | ||
7 | +namespace Stringer { | ||
8 | +const QString fontSize14("\ | ||
9 | +<style>\ | ||
10 | +span { font-size: 14pt; }\ | ||
11 | +span.heavy { font-size: 16pt; }\ | ||
12 | +span.light { font-size: 11pt; }\ | ||
13 | +span.lightest { font-size: 9pt; }\ | ||
14 | +</style>"); | ||
15 | + | ||
16 | +QString remainingTime(int secs); | ||
17 | +QString remainingTime(int secs, QString style); | ||
18 | +QString temperature(int celsius); | ||
19 | +QString temperature(int celsius, QString style); | ||
20 | +QString temperature(int current, int target); | ||
21 | +QString temperature(int current, int target, QString style); | ||
22 | +QString unusedTemperature(); | ||
23 | +QString unusedTemperature(QString style); | ||
24 | +} | ||
25 | + | ||
26 | +#endif // STRINGER_H |