Commit 27843914bd5fb81ef6ec7c32889d8372a493ff52
1 parent
fb5aca13fc
Exists in
master
and in
2 other branches
중심 온도 설정에 엔코더 관련 디자인 적용
Showing
10 changed files
with
200 additions
and
62 deletions
Show diff stats
app/gui/oven_control/coretempsettingpopup.cpp
@@ -87,6 +87,7 @@ CoreTempSettingPopup::CoreTempSettingPopup(QWidget *parent) : | @@ -87,6 +87,7 @@ CoreTempSettingPopup::CoreTempSettingPopup(QWidget *parent) : | ||
87 | connect(&focusCoreTempButtonTimer, SIGNAL(timeout()), SLOT(focusCoreTempButton())); | 87 | connect(&focusCoreTempButtonTimer, SIGNAL(timeout()), SLOT(focusCoreTempButton())); |
88 | 88 | ||
89 | connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), &focusCoreTempButtonTimer, SLOT(start())); | 89 | connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), &focusCoreTempButtonTimer, SLOT(start())); |
90 | + connect(ui->coreTempSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
90 | } | 91 | } |
91 | 92 | ||
92 | CoreTempSettingPopup::~CoreTempSettingPopup() | 93 | CoreTempSettingPopup::~CoreTempSettingPopup() |
app/gui/oven_control/coretempsettingpopup.ui
@@ -445,9 +445,13 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b | @@ -445,9 +445,13 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b | ||
445 | </rect> | 445 | </rect> |
446 | </property> | 446 | </property> |
447 | <property name="styleSheet"> | 447 | <property name="styleSheet"> |
448 | - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp_enabled.png); } | ||
449 | -QPushButton:checked { image: url(:/images/slider_icon/core_temp_ov.png); } | ||
450 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> | 448 | + <string notr="true">QPushButton |
449 | +{ image: url(:/images/slider_icon/core_temp_enabled); } | ||
450 | +QPushButton:pressed, | ||
451 | +QPushButton:focus | ||
452 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); } | ||
453 | +QPushButton:checked | ||
454 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string> | ||
451 | </property> | 455 | </property> |
452 | <property name="checkable"> | 456 | <property name="checkable"> |
453 | <bool>true</bool> | 457 | <bool>true</bool> |
app/gui/oven_control/manualcookwindow.cpp
@@ -147,6 +147,11 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : | @@ -147,6 +147,11 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : | ||
147 | connect(ui->timeSlider, SIGNAL(sliderMoved(int)), &focusTimeButtonTimer, SLOT(start())); | 147 | connect(ui->timeSlider, SIGNAL(sliderMoved(int)), &focusTimeButtonTimer, SLOT(start())); |
148 | connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), &focusInterTempButtonTimer, SLOT(start())); | 148 | connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), &focusInterTempButtonTimer, SLOT(start())); |
149 | 149 | ||
150 | + connect(ui->humiditySlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
151 | + connect(ui->tempSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
152 | + connect(ui->timeSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
153 | + connect(ui->interTempSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
154 | + | ||
150 | connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*))); | 155 | connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*))); |
151 | oven->setDefault(mode); | 156 | oven->setDefault(mode); |
152 | 157 | ||
@@ -345,33 +350,41 @@ void ManualCookWindow::updateView() | @@ -345,33 +350,41 @@ void ManualCookWindow::updateView() | ||
345 | else | 350 | else |
346 | interTemp = oven->interTemp(); | 351 | interTemp = oven->interTemp(); |
347 | 352 | ||
348 | - ui->interTempButton->setChecked(oven->interTempEnabled()); | 353 | + QString interTempButtonStyleSheet("\ |
354 | +QPushButton\ | ||
355 | +{ image: url(%1); }\ | ||
356 | +QPushButton:pressed,\ | ||
357 | +QPushButton:focus\ | ||
358 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); }\ | ||
359 | +QPushButton:checked\ | ||
360 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }"); | ||
349 | 361 | ||
350 | bool interTempEnabled = oven->interTempEnabled(); | 362 | bool interTempEnabled = oven->interTempEnabled(); |
351 | - if (interTempEnabled != lastViewInterTempEnabled || interTemp != lastViewInterTemp) | 363 | + if (interTempEnabled != lastViewInterTempEnabled) |
352 | { | 364 | { |
353 | - if (interTempEnabled != lastViewInterTempEnabled) | ||
354 | -// { | ||
355 | - lastViewInterTempEnabled = oven->interTempEnabled(); | ||
356 | -// ui->interTempButton->setChecked(interTempEnabled); | ||
357 | -// } | ||
358 | - | ||
359 | - lastViewInterTemp = interTemp; | ||
360 | - | ||
361 | - bool old = ui->interTempSlider->blockSignals(true); | ||
362 | - ui->interTempSlider->setEnabled(interTempEnabled); | ||
363 | - ui->interTempSlider->setSubVisible(interTempEnabled); | ||
364 | - ui->interTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp()); | ||
365 | - if (ui->interTempSlider->sliderPosition() != interTemp) | ||
366 | - ui->interTempSlider->setValue(interTemp); | ||
367 | - ui->interTempSlider->blockSignals(old); | ||
368 | - | 365 | + lastViewInterTempEnabled = interTempEnabled; |
369 | if (interTempEnabled) | 366 | if (interTempEnabled) |
370 | - ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14)); | 367 | + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp_enabled.png")); |
371 | else | 368 | else |
372 | - ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); | 369 | + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp.png")); |
373 | } | 370 | } |
374 | 371 | ||
372 | + ui->interTempButton->setChecked(focusWidget() == ui->interTempSlider); | ||
373 | + | ||
374 | + | ||
375 | + old = ui->interTempSlider->blockSignals(true); | ||
376 | + ui->interTempSlider->setEnabled(interTempEnabled); | ||
377 | + ui->interTempSlider->setSubVisible(interTempEnabled); | ||
378 | + ui->interTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp()); | ||
379 | + if (ui->interTempSlider->sliderPosition() != interTemp) | ||
380 | + ui->interTempSlider->setValue(interTemp); | ||
381 | + ui->interTempSlider->blockSignals(old); | ||
382 | + | ||
383 | + if (interTempEnabled) | ||
384 | + ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14)); | ||
385 | + else | ||
386 | + ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); | ||
387 | + | ||
375 | ui->runStopButton->setChecked(oven->cooking()); | 388 | ui->runStopButton->setChecked(oven->cooking()); |
376 | 389 | ||
377 | if (showFrontButtons) | 390 | if (showFrontButtons) |
app/gui/oven_control/manualcookwindow.ui
@@ -756,9 +756,13 @@ QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }</strin | @@ -756,9 +756,13 @@ QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }</strin | ||
756 | </rect> | 756 | </rect> |
757 | </property> | 757 | </property> |
758 | <property name="styleSheet"> | 758 | <property name="styleSheet"> |
759 | - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp.png); } | ||
760 | -QPushButton:checked { image: url(:/images/slider_icon/core_temp_enabled.png); } | ||
761 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> | 759 | + <string notr="true">QPushButton |
760 | +{ image: url(:/images/slider_icon/core_temp.png); } | ||
761 | +QPushButton:pressed, | ||
762 | +QPushButton:focus | ||
763 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); } | ||
764 | +QPushButton:checked | ||
765 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string> | ||
762 | </property> | 766 | </property> |
763 | <property name="checkable"> | 767 | <property name="checkable"> |
764 | <bool>true</bool> | 768 | <bool>true</bool> |
app/gui/oven_control/programmingmanualcoretemppopup.cpp
@@ -32,6 +32,8 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) | @@ -32,6 +32,8 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) | ||
32 | ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); | 32 | ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); |
33 | 33 | ||
34 | connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel())); | 34 | connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel())); |
35 | + connect(ui->coreTempSlider, SIGNAL(sliderPressed()), SLOT(updateCoreTempButton())); | ||
36 | + connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempButton())); | ||
35 | 37 | ||
36 | updateCoreTempLabel(); | 38 | updateCoreTempLabel(); |
37 | 39 | ||
@@ -108,6 +110,11 @@ void ProgrammingManualCoreTempPopup::keyReleaseEvent(QKeyEvent *event) | @@ -108,6 +110,11 @@ void ProgrammingManualCoreTempPopup::keyReleaseEvent(QKeyEvent *event) | ||
108 | } | 110 | } |
109 | } | 111 | } |
110 | 112 | ||
113 | +void ProgrammingManualCoreTempPopup::updateCoreTempButton() | ||
114 | +{ | ||
115 | + ui->coreTempButton->setChecked(focusWidget() == ui->coreTempSlider); | ||
116 | +} | ||
117 | + | ||
111 | void ProgrammingManualCoreTempPopup::updateCoreTempLabel() | 118 | void ProgrammingManualCoreTempPopup::updateCoreTempLabel() |
112 | { | 119 | { |
113 | ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->sliderPosition(), Stringer::fontSize14)); | 120 | ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->sliderPosition(), Stringer::fontSize14)); |
@@ -120,21 +127,29 @@ void ProgrammingManualCoreTempPopup::afterThreeSecs() | @@ -120,21 +127,29 @@ void ProgrammingManualCoreTempPopup::afterThreeSecs() | ||
120 | { | 127 | { |
121 | if (slider == ui->coreTempSlider) | 128 | if (slider == ui->coreTempSlider) |
122 | ui->coreTempButton->setFocus(); | 129 | ui->coreTempButton->setFocus(); |
130 | + | ||
131 | + updateCoreTempButton(); | ||
123 | } | 132 | } |
124 | } | 133 | } |
125 | 134 | ||
126 | void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked() | 135 | void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked() |
127 | { | 136 | { |
128 | ui->coreTempSlider->setFocus(); | 137 | ui->coreTempSlider->setFocus(); |
138 | + | ||
139 | + updateCoreTempButton(); | ||
129 | } | 140 | } |
130 | 141 | ||
131 | void ProgrammingManualCoreTempPopup::on_cancelButton_clicked() | 142 | void ProgrammingManualCoreTempPopup::on_cancelButton_clicked() |
132 | { | 143 | { |
144 | + updateCoreTempButton(); | ||
145 | + | ||
133 | close(); | 146 | close(); |
134 | } | 147 | } |
135 | 148 | ||
136 | void ProgrammingManualCoreTempPopup::on_applyButton_clicked() | 149 | void ProgrammingManualCoreTempPopup::on_applyButton_clicked() |
137 | { | 150 | { |
151 | + updateCoreTempButton(); | ||
152 | + | ||
138 | emit coreTempEnabled(ui->coreTempSlider->sliderPosition()); | 153 | emit coreTempEnabled(ui->coreTempSlider->sliderPosition()); |
139 | 154 | ||
140 | close(); | 155 | close(); |
@@ -176,6 +191,8 @@ void ProgrammingManualCoreTempPopup::onEncoderClicked(QWidget *clicked) | @@ -176,6 +191,8 @@ void ProgrammingManualCoreTempPopup::onEncoderClicked(QWidget *clicked) | ||
176 | { | 191 | { |
177 | if (slider == ui->coreTempSlider) | 192 | if (slider == ui->coreTempSlider) |
178 | ui->coreTempButton->setFocus(); | 193 | ui->coreTempButton->setFocus(); |
194 | + | ||
195 | + updateCoreTempButton(); | ||
179 | } | 196 | } |
180 | } | 197 | } |
181 | } | 198 | } |
app/gui/oven_control/programmingmanualcoretemppopup.h
@@ -23,6 +23,7 @@ protected: | @@ -23,6 +23,7 @@ protected: | ||
23 | void keyReleaseEvent(QKeyEvent *event); | 23 | void keyReleaseEvent(QKeyEvent *event); |
24 | 24 | ||
25 | private slots: | 25 | private slots: |
26 | + void updateCoreTempButton(); | ||
26 | void updateCoreTempLabel(); | 27 | void updateCoreTempLabel(); |
27 | void afterThreeSecs(); | 28 | void afterThreeSecs(); |
28 | 29 |
app/gui/oven_control/programmingmanualcoretemppopup.ui
@@ -68,8 +68,16 @@ height: 33px; | @@ -68,8 +68,16 @@ height: 33px; | ||
68 | </rect> | 68 | </rect> |
69 | </property> | 69 | </property> |
70 | <property name="styleSheet"> | 70 | <property name="styleSheet"> |
71 | - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp_enabled.png); } | ||
72 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> | 71 | + <string notr="true">QPushButton |
72 | +{ image: url(:/images/slider_icon/core_temp_enabled.png); } | ||
73 | +QPushButton:pressed, | ||
74 | +QPushButton:focus | ||
75 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); } | ||
76 | +QPushButton:checked | ||
77 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string> | ||
78 | + </property> | ||
79 | + <property name="checkable"> | ||
80 | + <bool>true</bool> | ||
73 | </property> | 81 | </property> |
74 | <property name="style" stdset="0"> | 82 | <property name="style" stdset="0"> |
75 | <string>icon</string> | 83 | <string>icon</string> |
@@ -201,6 +209,9 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b | @@ -201,6 +209,9 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b | ||
201 | <height>140</height> | 209 | <height>140</height> |
202 | </rect> | 210 | </rect> |
203 | </property> | 211 | </property> |
212 | + <property name="focusPolicy"> | ||
213 | + <enum>Qt::ClickFocus</enum> | ||
214 | + </property> | ||
204 | </widget> | 215 | </widget> |
205 | <zorder>background</zorder> | 216 | <zorder>background</zorder> |
206 | <zorder>coreTempButton</zorder> | 217 | <zorder>coreTempButton</zorder> |
app/gui/oven_control/programmingmanualwindow.cpp
@@ -58,10 +58,18 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m | @@ -58,10 +58,18 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m | ||
58 | for (int i = 1; i < 3; i++) | 58 | for (int i = 1; i < 3; i++) |
59 | ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); | 59 | ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); |
60 | 60 | ||
61 | - connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateHumidityLabel())); | ||
62 | - connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateTempLabel())); | ||
63 | - connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateTimeLabel())); | ||
64 | - connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel())); | 61 | + connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateView())); |
62 | + connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView())); | ||
63 | + connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateView())); | ||
64 | + connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView())); | ||
65 | + | ||
66 | + connect(ui->humiditySlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
67 | + connect(ui->tempSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
68 | + connect(ui->timeSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
69 | + connect(ui->interTempSlider, SIGNAL(sliderPressed()), SLOT(updateView())); | ||
70 | + | ||
71 | + lastFan = -1; | ||
72 | + lastInterTempEnabled = true; | ||
65 | 73 | ||
66 | setDefault(mode); | 74 | setDefault(mode); |
67 | 75 | ||
@@ -244,6 +252,8 @@ void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked) | @@ -244,6 +252,8 @@ void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked) | ||
244 | ui->timeButton->setFocus(); | 252 | ui->timeButton->setFocus(); |
245 | else if (slider == ui->interTempSlider) | 253 | else if (slider == ui->interTempSlider) |
246 | ui->interTempButton->setFocus(); | 254 | ui->interTempButton->setFocus(); |
255 | + | ||
256 | + updateView(); | ||
247 | } | 257 | } |
248 | } | 258 | } |
249 | } | 259 | } |
@@ -265,8 +275,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | @@ -265,8 +275,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | ||
265 | ui->interTempSlider->setSubVisible(false); | 275 | ui->interTempSlider->setSubVisible(false); |
266 | ui->interTempSlider->setValue(30); | 276 | ui->interTempSlider->setValue(30); |
267 | setFan(4); | 277 | setFan(4); |
268 | - updateCoreTempButton(); | ||
269 | - updateCoreTempLabel(); | 278 | + updateView(); |
270 | this->mode = mode; | 279 | this->mode = mode; |
271 | break; | 280 | break; |
272 | case Define::CombiMode: | 281 | case Define::CombiMode: |
@@ -282,8 +291,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | @@ -282,8 +291,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | ||
282 | ui->interTempSlider->setSubVisible(false); | 291 | ui->interTempSlider->setSubVisible(false); |
283 | ui->interTempSlider->setValue(30); | 292 | ui->interTempSlider->setValue(30); |
284 | setFan(4); | 293 | setFan(4); |
285 | - updateCoreTempButton(); | ||
286 | - updateCoreTempLabel(); | 294 | + updateView(); |
287 | this->mode = mode; | 295 | this->mode = mode; |
288 | break; | 296 | break; |
289 | case Define::DryMode: | 297 | case Define::DryMode: |
@@ -299,8 +307,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | @@ -299,8 +307,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) | ||
299 | ui->interTempSlider->setSubVisible(false); | 307 | ui->interTempSlider->setSubVisible(false); |
300 | ui->interTempSlider->setValue(30); | 308 | ui->interTempSlider->setValue(30); |
301 | setFan(4); | 309 | setFan(4); |
302 | - updateCoreTempButton(); | ||
303 | - updateCoreTempLabel(); | 310 | + updateView(); |
304 | this->mode = mode; | 311 | this->mode = mode; |
305 | break; | 312 | break; |
306 | default: | 313 | default: |
@@ -315,6 +322,24 @@ void ProgrammingManualWindow::setFan(int level) | @@ -315,6 +322,24 @@ void ProgrammingManualWindow::setFan(int level) | ||
315 | updateFanButton(); | 322 | updateFanButton(); |
316 | } | 323 | } |
317 | 324 | ||
325 | +void ProgrammingManualWindow::updateView() | ||
326 | +{ | ||
327 | + updateHumidityLabel(); | ||
328 | + updateTempLabel(); | ||
329 | + updateTimeLabel(); | ||
330 | + updateCoreTempButton(); | ||
331 | + updateCoreTempLabel(); | ||
332 | + updateFanButton(); | ||
333 | + | ||
334 | + QWidget *focused = focusWidget(); | ||
335 | + ui->humidityButton->setChecked(focused == ui->humiditySlider); | ||
336 | + ui->tempButton->setChecked(focused == ui->tempSlider); | ||
337 | + ui->timeButton->setChecked(focused == ui->timeSlider); | ||
338 | + ui->interTempButton->setChecked(focused == ui->interTempSlider); | ||
339 | + | ||
340 | + qDebug() << "up" << focused; | ||
341 | +} | ||
342 | + | ||
318 | void ProgrammingManualWindow::updateHumidityLabel() | 343 | void ProgrammingManualWindow::updateHumidityLabel() |
319 | { | 344 | { |
320 | ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition())); | 345 | ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition())); |
@@ -332,7 +357,26 @@ void ProgrammingManualWindow::updateTimeLabel() | @@ -332,7 +357,26 @@ void ProgrammingManualWindow::updateTimeLabel() | ||
332 | 357 | ||
333 | void ProgrammingManualWindow::updateCoreTempButton() | 358 | void ProgrammingManualWindow::updateCoreTempButton() |
334 | { | 359 | { |
335 | - ui->interTempButton->setChecked(ui->interTempSlider->isEnabled()); | 360 | + if (ui->interTempSlider->isEnabled() == lastInterTempEnabled) |
361 | + return; | ||
362 | + | ||
363 | + lastInterTempEnabled = ui->interTempSlider->isEnabled(); | ||
364 | + | ||
365 | + QString interTempButtonStyleSheet("\ | ||
366 | +QPushButton\ | ||
367 | +{ image: url(%1); }\ | ||
368 | +QPushButton:pressed,\ | ||
369 | +QPushButton:focus\ | ||
370 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); }\ | ||
371 | +QPushButton:checked\ | ||
372 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }"); | ||
373 | + | ||
374 | + if (ui->interTempSlider->isEnabled()) | ||
375 | + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp_enabled.png")); | ||
376 | + else | ||
377 | + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp.png")); | ||
378 | + | ||
379 | + ui->interTempButton->setChecked(focusWidget() == ui->interTempSlider); | ||
336 | } | 380 | } |
337 | 381 | ||
338 | void ProgrammingManualWindow::updateCoreTempLabel() | 382 | void ProgrammingManualWindow::updateCoreTempLabel() |
@@ -345,31 +389,45 @@ void ProgrammingManualWindow::updateCoreTempLabel() | @@ -345,31 +389,45 @@ void ProgrammingManualWindow::updateCoreTempLabel() | ||
345 | 389 | ||
346 | void ProgrammingManualWindow::updateFanButton() | 390 | void ProgrammingManualWindow::updateFanButton() |
347 | { | 391 | { |
392 | + if (fan == lastFan) | ||
393 | + return; | ||
394 | + | ||
395 | + lastFan = fan; | ||
396 | + QString fanStyleSheet("\ | ||
397 | +QPushButton { background-image: url(%1); }\ | ||
398 | +QPushButton:focus { background-image: url(%2); }"); | ||
399 | + | ||
348 | switch (fan) | 400 | switch (fan) |
349 | { | 401 | { |
350 | case 1: | 402 | case 1: |
351 | - ui->fanButton->setStyleSheet( | ||
352 | - "background-image: url(:/images/manual_button/fan_1.png)"); | 403 | + ui->fanButton->setStyleSheet(fanStyleSheet |
404 | + .arg(":/images/manual_button/fan_1.png") | ||
405 | + .arg(":/images/manual_button/013_sys_icon_06_active.png")); | ||
353 | break; | 406 | break; |
354 | case 2: | 407 | case 2: |
355 | - ui->fanButton->setStyleSheet( | ||
356 | - "background-image: url(:/images/manual_button/fan_2.png)"); | 408 | + ui->fanButton->setStyleSheet(fanStyleSheet |
409 | + .arg(":/images/manual_button/fan_2.png") | ||
410 | + .arg(":/images/manual_button/013_sys_icon_06_01_active.png")); | ||
357 | break; | 411 | break; |
358 | case 3: | 412 | case 3: |
359 | - ui->fanButton->setStyleSheet( | ||
360 | - "background-image: url(:/images/manual_button/fan_3.png)"); | 413 | + ui->fanButton->setStyleSheet(fanStyleSheet |
414 | + .arg(":/images/manual_button/fan_3.png") | ||
415 | + .arg(":/images/manual_button/013_sys_icon_06_02_active.png")); | ||
361 | break; | 416 | break; |
362 | case 4: | 417 | case 4: |
363 | - ui->fanButton->setStyleSheet( | ||
364 | - "background-image: url(:/images/manual_button/fan_4.png)"); | 418 | + ui->fanButton->setStyleSheet(fanStyleSheet |
419 | + .arg(":/images/manual_button/fan_4.png") | ||
420 | + .arg(":/images/manual_button/013_sys_icon_06_03_active.png")); | ||
365 | break; | 421 | break; |
366 | case 5: | 422 | case 5: |
367 | - ui->fanButton->setStyleSheet( | ||
368 | - "background-image: url(:/images/manual_button/fan_5.png)"); | 423 | + ui->fanButton->setStyleSheet(fanStyleSheet |
424 | + .arg(":/images/manual_button/fan_5.png") | ||
425 | + .arg(":/images/manual_button/013_sys_icon_06_04_active.png")); | ||
369 | break; | 426 | break; |
370 | default: | 427 | default: |
371 | - ui->fanButton->setStyleSheet( | ||
372 | - "background-image: url(:/images/manual_button/fan_1.png)"); | 428 | + ui->fanButton->setStyleSheet(fanStyleSheet |
429 | + .arg(":/images/manual_button/fan_6.png") | ||
430 | + .arg(":/images/manual_button/013_sys_icon_06_active.png")); | ||
373 | break; | 431 | break; |
374 | } | 432 | } |
375 | } | 433 | } |
@@ -388,7 +446,7 @@ void ProgrammingManualWindow::afterThreeSecs() | @@ -388,7 +446,7 @@ void ProgrammingManualWindow::afterThreeSecs() | ||
388 | else if (slider == ui->interTempSlider) | 446 | else if (slider == ui->interTempSlider) |
389 | ui->interTempButton->setFocus(); | 447 | ui->interTempButton->setFocus(); |
390 | 448 | ||
391 | - afterThreeSecsTimer.start(); | 449 | + updateView(); |
392 | } | 450 | } |
393 | } | 451 | } |
394 | 452 | ||
@@ -397,8 +455,8 @@ void ProgrammingManualWindow::onCoreTempEnabled(int celsius) | @@ -397,8 +455,8 @@ void ProgrammingManualWindow::onCoreTempEnabled(int celsius) | ||
397 | ui->interTempSlider->setEnabled(true); | 455 | ui->interTempSlider->setEnabled(true); |
398 | ui->interTempSlider->setSubVisible(true); | 456 | ui->interTempSlider->setSubVisible(true); |
399 | ui->interTempSlider->setValue(celsius); | 457 | ui->interTempSlider->setValue(celsius); |
400 | - updateCoreTempButton(); | ||
401 | - updateCoreTempLabel(); | 458 | + |
459 | + updateView(); | ||
402 | } | 460 | } |
403 | 461 | ||
404 | void ProgrammingManualWindow::on_steamButton_clicked() | 462 | void ProgrammingManualWindow::on_steamButton_clicked() |
@@ -419,16 +477,22 @@ void ProgrammingManualWindow::on_dryheatButton_clicked() | @@ -419,16 +477,22 @@ void ProgrammingManualWindow::on_dryheatButton_clicked() | ||
419 | void ProgrammingManualWindow::on_humidityButton_clicked() | 477 | void ProgrammingManualWindow::on_humidityButton_clicked() |
420 | { | 478 | { |
421 | ui->humiditySlider->setFocus(); | 479 | ui->humiditySlider->setFocus(); |
480 | + | ||
481 | + updateView(); | ||
422 | } | 482 | } |
423 | 483 | ||
424 | void ProgrammingManualWindow::on_tempButton_clicked() | 484 | void ProgrammingManualWindow::on_tempButton_clicked() |
425 | { | 485 | { |
426 | ui->tempSlider->setFocus(); | 486 | ui->tempSlider->setFocus(); |
487 | + | ||
488 | + updateView(); | ||
427 | } | 489 | } |
428 | 490 | ||
429 | void ProgrammingManualWindow::on_timeButton_clicked() | 491 | void ProgrammingManualWindow::on_timeButton_clicked() |
430 | { | 492 | { |
431 | ui->timeSlider->setFocus(); | 493 | ui->timeSlider->setFocus(); |
494 | + | ||
495 | + updateView(); | ||
432 | } | 496 | } |
433 | 497 | ||
434 | void ProgrammingManualWindow::on_interTempButton_clicked() | 498 | void ProgrammingManualWindow::on_interTempButton_clicked() |
@@ -437,8 +501,8 @@ void ProgrammingManualWindow::on_interTempButton_clicked() | @@ -437,8 +501,8 @@ void ProgrammingManualWindow::on_interTempButton_clicked() | ||
437 | { | 501 | { |
438 | ui->interTempSlider->setEnabled(false); | 502 | ui->interTempSlider->setEnabled(false); |
439 | ui->interTempSlider->setSubVisible(false); | 503 | ui->interTempSlider->setSubVisible(false); |
440 | - updateCoreTempButton(); | ||
441 | - updateCoreTempLabel(); | 504 | + |
505 | + updateView(); | ||
442 | } | 506 | } |
443 | else | 507 | else |
444 | { | 508 | { |
app/gui/oven_control/programmingmanualwindow.h
@@ -28,6 +28,9 @@ private: | @@ -28,6 +28,9 @@ private: | ||
28 | 28 | ||
29 | Define::Mode mode; | 29 | Define::Mode mode; |
30 | int fan; | 30 | int fan; |
31 | + int lastFan; | ||
32 | + | ||
33 | + bool lastInterTempEnabled; | ||
31 | 34 | ||
32 | int sliderToTime(int value); | 35 | int sliderToTime(int value); |
33 | int timeToSlider(int secs); | 36 | int timeToSlider(int secs); |
@@ -43,6 +46,7 @@ private: | @@ -43,6 +46,7 @@ private: | ||
43 | private slots: | 46 | private slots: |
44 | void setDefault(Define::Mode mode); | 47 | void setDefault(Define::Mode mode); |
45 | void setFan(int level); | 48 | void setFan(int level); |
49 | + void updateView(); | ||
46 | void updateHumidityLabel(); | 50 | void updateHumidityLabel(); |
47 | void updateTempLabel(); | 51 | void updateTempLabel(); |
48 | void updateTimeLabel(); | 52 | void updateTimeLabel(); |
app/gui/oven_control/programmingmanualwindow.ui
@@ -242,7 +242,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_dryheat.png); | @@ -242,7 +242,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_dryheat.png); | ||
242 | </property> | 242 | </property> |
243 | <property name="styleSheet"> | 243 | <property name="styleSheet"> |
244 | <string notr="true">QPushButton { image: url(:/images/slider_icon/time.png); } | 244 | <string notr="true">QPushButton { image: url(:/images/slider_icon/time.png); } |
245 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/time_ov.png); }</string> | 245 | +QPushButton:pressed, |
246 | +QPushButton:focus { image: url(:/images/slider_icon/011_icon_03_active.png); } | ||
247 | +QPushButton:checked { image: url(:/images/slider_icon/time_ov.png); }</string> | ||
248 | + </property> | ||
249 | + <property name="checkable"> | ||
250 | + <bool>true</bool> | ||
246 | </property> | 251 | </property> |
247 | <property name="style" stdset="0"> | 252 | <property name="style" stdset="0"> |
248 | <string notr="true">icon</string> | 253 | <string notr="true">icon</string> |
@@ -587,7 +592,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h | @@ -587,7 +592,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h | ||
587 | </property> | 592 | </property> |
588 | <property name="styleSheet"> | 593 | <property name="styleSheet"> |
589 | <string notr="true">QPushButton { image: url(:/images/slider_icon/temp.png); } | 594 | <string notr="true">QPushButton { image: url(:/images/slider_icon/temp.png); } |
590 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/temp_ov.png); }</string> | 595 | +QPushButton:pressed, |
596 | +QPushButton:focus { image: url(:/images/slider_icon/011_icon_02_active.png); } | ||
597 | +QPushButton:checked { image: url(:/images/slider_icon/temp_ov.png); }</string> | ||
598 | + </property> | ||
599 | + <property name="checkable"> | ||
600 | + <bool>true</bool> | ||
591 | </property> | 601 | </property> |
592 | <property name="style" stdset="0"> | 602 | <property name="style" stdset="0"> |
593 | <string notr="true">icon</string> | 603 | <string notr="true">icon</string> |
@@ -754,7 +764,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); } | @@ -754,7 +764,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); } | ||
754 | </property> | 764 | </property> |
755 | <property name="styleSheet"> | 765 | <property name="styleSheet"> |
756 | <string notr="true">QPushButton { image: url(:/images/slider_icon/humidity.png); } | 766 | <string notr="true">QPushButton { image: url(:/images/slider_icon/humidity.png); } |
757 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidity_ov.png); }</string> | 767 | +QPushButton:pressed, |
768 | +QPushButton:focus { image: url(:/images/slider_icon/011_icon_01_active.png); } | ||
769 | +QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }</string> | ||
770 | + </property> | ||
771 | + <property name="checkable"> | ||
772 | + <bool>true</bool> | ||
758 | </property> | 773 | </property> |
759 | <property name="style" stdset="0"> | 774 | <property name="style" stdset="0"> |
760 | <string notr="true">icon</string> | 775 | <string notr="true">icon</string> |
@@ -770,9 +785,13 @@ QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidit | @@ -770,9 +785,13 @@ QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidit | ||
770 | </rect> | 785 | </rect> |
771 | </property> | 786 | </property> |
772 | <property name="styleSheet"> | 787 | <property name="styleSheet"> |
773 | - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp.png); } | ||
774 | -QPushButton:checked { image: url(:/images/slider_icon/core_temp_enabled.png); } | ||
775 | -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> | 788 | + <string notr="true">QPushButton |
789 | +{ image: url(:/images/slider_icon/core_temp.png); } | ||
790 | +QPushButton:pressed, | ||
791 | +QPushButton:focus | ||
792 | +{ image: url(:/images/slider_icon/011_icon_04_active.png); } | ||
793 | +QPushButton:checked | ||
794 | +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string> | ||
776 | </property> | 795 | </property> |
777 | <property name="checkable"> | 796 | <property name="checkable"> |
778 | <bool>true</bool> | 797 | <bool>true</bool> |