Commit 935b853a430a8b7f4728a3f878b0850bfbff9d99

Authored by 김태훈
1 parent 3d5fe11870
Exists in master and in 2 other branches fhd, fhd-demo

새 슬라이더 적용

app/gui/oven_control/autocookconfigwindow.cpp
@@ -117,29 +117,31 @@ void AutoCookConfigWindow::setupUi() @@ -117,29 +117,31 @@ void AutoCookConfigWindow::setupUi()
117 117
118 cw.minimum->setText(Define::minimum(config.type)); 118 cw.minimum->setText(Define::minimum(config.type));
119 cw.maximum->setText(Define::maximum(config.type)); 119 cw.maximum->setText(Define::maximum(config.type));
120 - cw.slider->blockSignals(true);  
121 - cw.slider->setMinimum(1);  
122 - cw.slider->setMaximum(config.maximum);  
123 - cw.slider->setValue(config.current);  
124 - cw.slider->blockSignals(false);  
125 120
126 switch (config.type) 121 switch (config.type)
127 { 122 {
128 case Define::Time: 123 case Define::Time:
129 - cw.slider->setProperty("sliderColor", "white"); 124 + cw.slider->setSubPixmap(":/images/slider/sub_white.png");
130 break; 125 break;
131 case Define::BurnDegree: 126 case Define::BurnDegree:
132 - cw.slider->setProperty("sliderColor", "yellow"); 127 + cw.slider->setSubPixmap(":/images/slider/sub_yellow.png");
133 break; 128 break;
134 case Define::Brightness: 129 case Define::Brightness:
135 - cw.slider->setProperty("sliderColor", "red"); 130 + cw.slider->setSubPixmap(":/images/slider/sub_red.png");
136 break; 131 break;
137 default: 132 default:
138 - cw.slider->setProperty("sliderColor", "blue"); 133 + cw.slider->setSubPixmap(":/images/slider/sub_blue.png");
139 break; 134 break;
140 } 135 }
141 136
142 - connect(cw.slider, SIGNAL(valueChanged(int)), SLOT(updateConfig())); 137 + cw.slider->blockSignals(true);
  138 + cw.slider->setMinimum(1);
  139 + cw.slider->setMaximum(config.maximum);
  140 + cw.slider->setValue(config.current);
  141 + cw.slider->blockSignals(false);
  142 + cw.slider->bigTickInterval = 1;
  143 +
  144 + connect(cw.slider, SIGNAL(sliderMoved(int)), SLOT(updateConfig()));
143 } 145 }
144 } 146 }
145 147
@@ -176,11 +178,11 @@ void AutoCookConfigWindow::updateView() @@ -176,11 +178,11 @@ void AutoCookConfigWindow::updateView()
176 178
177 void AutoCookConfigWindow::updateConfig() 179 void AutoCookConfigWindow::updateConfig()
178 { 180 {
179 - cook.setConfig(ui->configSlider_1->value(),  
180 - ui->configSlider_2->value(),  
181 - ui->configSlider_3->value(),  
182 - ui->configSlider_4->value(),  
183 - ui->configSlider_5->value()); 181 + cook.setConfig(ui->configSlider_1->sliderPosition(),
  182 + ui->configSlider_2->sliderPosition(),
  183 + ui->configSlider_3->sliderPosition(),
  184 + ui->configSlider_4->sliderPosition(),
  185 + ui->configSlider_5->sliderPosition());
184 186
185 updateView(); 187 updateView();
186 } 188 }
app/gui/oven_control/autocookconfigwindow.h
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
10 #include "oven.h" 10 #include "oven.h"
11 //#include "cook.h" 11 //#include "cook.h"
12 #include "cookbook.h" 12 #include "cookbook.h"
  13 +#include "slider.h"
13 14
14 namespace Ui { 15 namespace Ui {
15 class AutoCookConfigWindow; 16 class AutoCookConfigWindow;
@@ -35,7 +36,7 @@ private: @@ -35,7 +36,7 @@ private:
35 QLabel *minimum; 36 QLabel *minimum;
36 QLabel *maximum; 37 QLabel *maximum;
37 QLabel *current; 38 QLabel *current;
38 - QSlider *slider; 39 + Slider *slider;
39 }; 40 };
40 41
41 QList<ConfigWidget> configWidgets; 42 QList<ConfigWidget> configWidgets;
app/gui/oven_control/autocookconfigwindow.ui
@@ -673,31 +673,6 @@ border-image: url(:/images/button/152_ov.png); @@ -673,31 +673,6 @@ border-image: url(:/images/button/152_ov.png);
673 <string notr="true">icon</string> 673 <string notr="true">icon</string>
674 </property> 674 </property>
675 </widget> 675 </widget>
676 - <widget class="QSlider" name="configSlider_4">  
677 - <property name="geometry">  
678 - <rect>  
679 - <x>185</x>  
680 - <y>1173</y>  
681 - <width>666</width>  
682 - <height>33</height>  
683 - </rect>  
684 - </property>  
685 - <property name="maximum">  
686 - <number>100</number>  
687 - </property>  
688 - <property name="pageStep">  
689 - <number>1</number>  
690 - </property>  
691 - <property name="value">  
692 - <number>0</number>  
693 - </property>  
694 - <property name="tracking">  
695 - <bool>true</bool>  
696 - </property>  
697 - <property name="orientation">  
698 - <enum>Qt::Horizontal</enum>  
699 - </property>  
700 - </widget>  
701 <widget class="QPushButton" name="configButton_4"> 676 <widget class="QPushButton" name="configButton_4">
702 <property name="geometry"> 677 <property name="geometry">
703 <rect> 678 <rect>
@@ -776,31 +751,6 @@ border-image: url(:/images/button/152_ov.png); @@ -776,31 +751,6 @@ border-image: url(:/images/button/152_ov.png);
776 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 751 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
777 </property> 752 </property>
778 </widget> 753 </widget>
779 - <widget class="QSlider" name="configSlider_2">  
780 - <property name="geometry">  
781 - <rect>  
782 - <x>185</x>  
783 - <y>823</y>  
784 - <width>666</width>  
785 - <height>33</height>  
786 - </rect>  
787 - </property>  
788 - <property name="maximum">  
789 - <number>100</number>  
790 - </property>  
791 - <property name="pageStep">  
792 - <number>1</number>  
793 - </property>  
794 - <property name="value">  
795 - <number>10</number>  
796 - </property>  
797 - <property name="tracking">  
798 - <bool>true</bool>  
799 - </property>  
800 - <property name="orientation">  
801 - <enum>Qt::Horizontal</enum>  
802 - </property>  
803 - </widget>  
804 <widget class="QLabel" name="configCurrentLabel_5"> 754 <widget class="QLabel" name="configCurrentLabel_5">
805 <property name="enabled"> 755 <property name="enabled">
806 <bool>true</bool> 756 <bool>true</bool>
@@ -927,31 +877,6 @@ border-image: url(:/images/button/152_ov.png); @@ -927,31 +877,6 @@ border-image: url(:/images/button/152_ov.png);
927 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 877 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
928 </property> 878 </property>
929 </widget> 879 </widget>
930 - <widget class="QSlider" name="configSlider_3">  
931 - <property name="geometry">  
932 - <rect>  
933 - <x>185</x>  
934 - <y>993</y>  
935 - <width>666</width>  
936 - <height>33</height>  
937 - </rect>  
938 - </property>  
939 - <property name="maximum">  
940 - <number>100</number>  
941 - </property>  
942 - <property name="pageStep">  
943 - <number>1</number>  
944 - </property>  
945 - <property name="value">  
946 - <number>0</number>  
947 - </property>  
948 - <property name="tracking">  
949 - <bool>true</bool>  
950 - </property>  
951 - <property name="orientation">  
952 - <enum>Qt::Horizontal</enum>  
953 - </property>  
954 - </widget>  
955 <widget class="QLabel" name="configMaxLabel_4"> 880 <widget class="QLabel" name="configMaxLabel_4">
956 <property name="enabled"> 881 <property name="enabled">
957 <bool>true</bool> 882 <bool>true</bool>
@@ -1317,31 +1242,6 @@ border-image: url(:/images/button/152_ov.png); @@ -1317,31 +1242,6 @@ border-image: url(:/images/button/152_ov.png);
1317 <string notr="true">icon</string> 1242 <string notr="true">icon</string>
1318 </property> 1243 </property>
1319 </widget> 1244 </widget>
1320 - <widget class="QSlider" name="configSlider_5">  
1321 - <property name="geometry">  
1322 - <rect>  
1323 - <x>185</x>  
1324 - <y>1343</y>  
1325 - <width>666</width>  
1326 - <height>33</height>  
1327 - </rect>  
1328 - </property>  
1329 - <property name="maximum">  
1330 - <number>100</number>  
1331 - </property>  
1332 - <property name="pageStep">  
1333 - <number>1</number>  
1334 - </property>  
1335 - <property name="value">  
1336 - <number>0</number>  
1337 - </property>  
1338 - <property name="tracking">  
1339 - <bool>true</bool>  
1340 - </property>  
1341 - <property name="orientation">  
1342 - <enum>Qt::Horizontal</enum>  
1343 - </property>  
1344 - </widget>  
1345 <widget class="QLabel" name="configCurrentLabel_4"> 1245 <widget class="QLabel" name="configCurrentLabel_4">
1346 <property name="enabled"> 1246 <property name="enabled">
1347 <bool>true</bool> 1247 <bool>true</bool>
@@ -1422,35 +1322,54 @@ border-image: url(:/images/button/152_ov.png); @@ -1422,35 +1322,54 @@ border-image: url(:/images/button/152_ov.png);
1422 <string notr="true">icon</string> 1322 <string notr="true">icon</string>
1423 </property> 1323 </property>
1424 </widget> 1324 </widget>
1425 - <widget class="QSlider" name="configSlider_1"> 1325 + <widget class="Slider" name="configSlider_1" native="true">
1426 <property name="geometry"> 1326 <property name="geometry">
1427 <rect> 1327 <rect>
1428 <x>185</x> 1328 <x>185</x>
1429 - <y>663</y> 1329 + <y>605</y>
1430 <width>666</width> 1330 <width>666</width>
1431 - <height>33</height> 1331 + <height>140</height>
1432 </rect> 1332 </rect>
1433 </property> 1333 </property>
1434 - <property name="maximum">  
1435 - <number>100</number>  
1436 - </property>  
1437 - <property name="pageStep">  
1438 - <number>1</number>  
1439 - </property>  
1440 - <property name="value">  
1441 - <number>39</number>  
1442 - </property>  
1443 - <property name="tracking">  
1444 - <bool>true</bool> 1334 + </widget>
  1335 + <widget class="Slider" name="configSlider_2" native="true">
  1336 + <property name="geometry">
  1337 + <rect>
  1338 + <x>185</x>
  1339 + <y>765</y>
  1340 + <width>666</width>
  1341 + <height>140</height>
  1342 + </rect>
1445 </property> 1343 </property>
1446 - <property name="orientation">  
1447 - <enum>Qt::Horizontal</enum> 1344 + </widget>
  1345 + <widget class="Slider" name="configSlider_3" native="true">
  1346 + <property name="geometry">
  1347 + <rect>
  1348 + <x>185</x>
  1349 + <y>935</y>
  1350 + <width>666</width>
  1351 + <height>140</height>
  1352 + </rect>
1448 </property> 1353 </property>
1449 - <property name="tickPosition">  
1450 - <enum>QSlider::TicksBelow</enum> 1354 + </widget>
  1355 + <widget class="Slider" name="configSlider_4" native="true">
  1356 + <property name="geometry">
  1357 + <rect>
  1358 + <x>185</x>
  1359 + <y>1115</y>
  1360 + <width>666</width>
  1361 + <height>140</height>
  1362 + </rect>
1451 </property> 1363 </property>
1452 - <property name="tickInterval">  
1453 - <number>1</number> 1364 + </widget>
  1365 + <widget class="Slider" name="configSlider_5" native="true">
  1366 + <property name="geometry">
  1367 + <rect>
  1368 + <x>185</x>
  1369 + <y>1285</y>
  1370 + <width>666</width>
  1371 + <height>140</height>
  1372 + </rect>
1454 </property> 1373 </property>
1455 </widget> 1374 </widget>
1456 </widget> 1375 </widget>
@@ -1467,6 +1386,12 @@ border-image: url(:/images/button/152_ov.png); @@ -1467,6 +1386,12 @@ border-image: url(:/images/button/152_ov.png);
1467 <extends>QLabel</extends> 1386 <extends>QLabel</extends>
1468 <header>washwarnicon.h</header> 1387 <header>washwarnicon.h</header>
1469 </customwidget> 1388 </customwidget>
  1389 + <customwidget>
  1390 + <class>Slider</class>
  1391 + <extends>QWidget</extends>
  1392 + <header>slider.h</header>
  1393 + <container>1</container>
  1394 + </customwidget>
1470 </customwidgets> 1395 </customwidgets>
1471 <resources> 1396 <resources>
1472 <include location="resources.qrc"/> 1397 <include location="resources.qrc"/>
app/gui/oven_control/programmingautoconfigwindow.cpp
@@ -98,29 +98,31 @@ void ProgrammingAutoConfigWindow::setupUi() @@ -98,29 +98,31 @@ void ProgrammingAutoConfigWindow::setupUi()
98 98
99 cw.minimum->setText(Define::minimum(config.type)); 99 cw.minimum->setText(Define::minimum(config.type));
100 cw.maximum->setText(Define::maximum(config.type)); 100 cw.maximum->setText(Define::maximum(config.type));
101 - cw.slider->blockSignals(true);  
102 - cw.slider->setMinimum(1);  
103 - cw.slider->setMaximum(config.maximum);  
104 - cw.slider->setValue(config.current);  
105 - cw.slider->blockSignals(false);  
106 101
107 switch (config.type) 102 switch (config.type)
108 { 103 {
109 case Define::Time: 104 case Define::Time:
110 - cw.slider->setProperty("sliderColor", "white"); 105 + cw.slider->setSubPixmap(":/images/slider/sub_white.png");
111 break; 106 break;
112 case Define::BurnDegree: 107 case Define::BurnDegree:
113 - cw.slider->setProperty("sliderColor", "yellow"); 108 + cw.slider->setSubPixmap(":/images/slider/sub_yellow.png");
114 break; 109 break;
115 case Define::Brightness: 110 case Define::Brightness:
116 - cw.slider->setProperty("sliderColor", "red"); 111 + cw.slider->setSubPixmap(":/images/slider/sub_red.png");
117 break; 112 break;
118 default: 113 default:
119 - cw.slider->setProperty("sliderColor", "blue"); 114 + cw.slider->setSubPixmap(":/images/slider/sub_blue.png");
120 break; 115 break;
121 } 116 }
122 117
123 - connect(cw.slider, SIGNAL(valueChanged(int)), SLOT(updateConfig())); 118 + cw.slider->blockSignals(true);
  119 + cw.slider->setMinimum(1);
  120 + cw.slider->setMaximum(config.maximum);
  121 + cw.slider->setValue(config.current);
  122 + cw.slider->blockSignals(false);
  123 + cw.slider->bigTickInterval = 1;
  124 +
  125 + connect(cw.slider, SIGNAL(sliderMoved(int)), SLOT(updateConfig()));
124 } 126 }
125 } 127 }
126 128
@@ -157,11 +159,11 @@ void ProgrammingAutoConfigWindow::updateView() @@ -157,11 +159,11 @@ void ProgrammingAutoConfigWindow::updateView()
157 159
158 void ProgrammingAutoConfigWindow::updateConfig() 160 void ProgrammingAutoConfigWindow::updateConfig()
159 { 161 {
160 - cook.setConfig(ui->configSlider_1->value(),  
161 - ui->configSlider_2->value(),  
162 - ui->configSlider_3->value(),  
163 - ui->configSlider_4->value(),  
164 - ui->configSlider_5->value()); 162 + cook.setConfig(ui->configSlider_1->sliderPosition(),
  163 + ui->configSlider_2->sliderPosition(),
  164 + ui->configSlider_3->sliderPosition(),
  165 + ui->configSlider_4->sliderPosition(),
  166 + ui->configSlider_5->sliderPosition());
165 167
166 updateView(); 168 updateView();
167 } 169 }
app/gui/oven_control/programmingautoconfigwindow.h
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 #include <QSlider> 7 #include <QSlider>
8 8
9 #include "cookbook.h" 9 #include "cookbook.h"
  10 +#include "slider.h"
10 11
11 namespace Ui { 12 namespace Ui {
12 class ProgrammingAutoConfigWindow; 13 class ProgrammingAutoConfigWindow;
@@ -29,7 +30,7 @@ private: @@ -29,7 +30,7 @@ private:
29 QLabel *minimum; 30 QLabel *minimum;
30 QLabel *maximum; 31 QLabel *maximum;
31 QLabel *current; 32 QLabel *current;
32 - QSlider *slider; 33 + Slider *slider;
33 }; 34 };
34 35
35 QList<ConfigWidget> configWidgets; 36 QList<ConfigWidget> configWidgets;
app/gui/oven_control/programmingautoconfigwindow.ui
@@ -405,37 +405,6 @@ border-image: url(:/images/button/152_ov.png); @@ -405,37 +405,6 @@ border-image: url(:/images/button/152_ov.png);
405 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 405 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
406 </property> 406 </property>
407 </widget> 407 </widget>
408 - <widget class="QSlider" name="configSlider_1">  
409 - <property name="geometry">  
410 - <rect>  
411 - <x>185</x>  
412 - <y>663</y>  
413 - <width>666</width>  
414 - <height>33</height>  
415 - </rect>  
416 - </property>  
417 - <property name="maximum">  
418 - <number>100</number>  
419 - </property>  
420 - <property name="pageStep">  
421 - <number>1</number>  
422 - </property>  
423 - <property name="value">  
424 - <number>39</number>  
425 - </property>  
426 - <property name="tracking">  
427 - <bool>true</bool>  
428 - </property>  
429 - <property name="orientation">  
430 - <enum>Qt::Horizontal</enum>  
431 - </property>  
432 - <property name="tickPosition">  
433 - <enum>QSlider::TicksBelow</enum>  
434 - </property>  
435 - <property name="tickInterval">  
436 - <number>1</number>  
437 - </property>  
438 - </widget>  
439 <widget class="QLabel" name="configMinLabel_5"> 408 <widget class="QLabel" name="configMinLabel_5">
440 <property name="enabled"> 409 <property name="enabled">
441 <bool>true</bool> 410 <bool>true</bool>
@@ -563,31 +532,6 @@ border-image: url(:/images/button/288_ov.png); @@ -563,31 +532,6 @@ border-image: url(:/images/button/288_ov.png);
563 </widget> 532 </widget>
564 <widget class="QWidget" name="page_2"/> 533 <widget class="QWidget" name="page_2"/>
565 </widget> 534 </widget>
566 - <widget class="QSlider" name="configSlider_2">  
567 - <property name="geometry">  
568 - <rect>  
569 - <x>185</x>  
570 - <y>823</y>  
571 - <width>666</width>  
572 - <height>33</height>  
573 - </rect>  
574 - </property>  
575 - <property name="maximum">  
576 - <number>100</number>  
577 - </property>  
578 - <property name="pageStep">  
579 - <number>1</number>  
580 - </property>  
581 - <property name="value">  
582 - <number>10</number>  
583 - </property>  
584 - <property name="tracking">  
585 - <bool>true</bool>  
586 - </property>  
587 - <property name="orientation">  
588 - <enum>Qt::Horizontal</enum>  
589 - </property>  
590 - </widget>  
591 <widget class="QLabel" name="cookTypeIcon"> 535 <widget class="QLabel" name="cookTypeIcon">
592 <property name="geometry"> 536 <property name="geometry">
593 <rect> 537 <rect>
@@ -623,31 +567,6 @@ border-image: url(:/images/button/288_ov.png); @@ -623,31 +567,6 @@ border-image: url(:/images/button/288_ov.png);
623 <string notr="true">icon</string> 567 <string notr="true">icon</string>
624 </property> 568 </property>
625 </widget> 569 </widget>
626 - <widget class="QSlider" name="configSlider_4">  
627 - <property name="geometry">  
628 - <rect>  
629 - <x>185</x>  
630 - <y>1173</y>  
631 - <width>666</width>  
632 - <height>33</height>  
633 - </rect>  
634 - </property>  
635 - <property name="maximum">  
636 - <number>100</number>  
637 - </property>  
638 - <property name="pageStep">  
639 - <number>1</number>  
640 - </property>  
641 - <property name="value">  
642 - <number>0</number>  
643 - </property>  
644 - <property name="tracking">  
645 - <bool>true</bool>  
646 - </property>  
647 - <property name="orientation">  
648 - <enum>Qt::Horizontal</enum>  
649 - </property>  
650 - </widget>  
651 <widget class="QLabel" name="configMinLabel_2"> 570 <widget class="QLabel" name="configMinLabel_2">
652 <property name="enabled"> 571 <property name="enabled">
653 <bool>true</bool> 572 <bool>true</bool>
@@ -726,31 +645,6 @@ border-image: url(:/images/button/288_ov.png); @@ -726,31 +645,6 @@ border-image: url(:/images/button/288_ov.png);
726 <string notr="true">icon</string> 645 <string notr="true">icon</string>
727 </property> 646 </property>
728 </widget> 647 </widget>
729 - <widget class="QSlider" name="configSlider_3">  
730 - <property name="geometry">  
731 - <rect>  
732 - <x>185</x>  
733 - <y>993</y>  
734 - <width>666</width>  
735 - <height>33</height>  
736 - </rect>  
737 - </property>  
738 - <property name="maximum">  
739 - <number>100</number>  
740 - </property>  
741 - <property name="pageStep">  
742 - <number>1</number>  
743 - </property>  
744 - <property name="value">  
745 - <number>0</number>  
746 - </property>  
747 - <property name="tracking">  
748 - <bool>true</bool>  
749 - </property>  
750 - <property name="orientation">  
751 - <enum>Qt::Horizontal</enum>  
752 - </property>  
753 - </widget>  
754 <widget class="QLabel" name="configCurrentLabel_4"> 648 <widget class="QLabel" name="configCurrentLabel_4">
755 <property name="enabled"> 649 <property name="enabled">
756 <bool>true</bool> 650 <bool>true</bool>
@@ -1123,31 +1017,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c @@ -1123,31 +1017,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c
1123 <string notr="true">icon</string> 1017 <string notr="true">icon</string>
1124 </property> 1018 </property>
1125 </widget> 1019 </widget>
1126 - <widget class="QSlider" name="configSlider_5">  
1127 - <property name="geometry">  
1128 - <rect>  
1129 - <x>185</x>  
1130 - <y>1343</y>  
1131 - <width>666</width>  
1132 - <height>33</height>  
1133 - </rect>  
1134 - </property>  
1135 - <property name="maximum">  
1136 - <number>100</number>  
1137 - </property>  
1138 - <property name="pageStep">  
1139 - <number>1</number>  
1140 - </property>  
1141 - <property name="value">  
1142 - <number>0</number>  
1143 - </property>  
1144 - <property name="tracking">  
1145 - <bool>true</bool>  
1146 - </property>  
1147 - <property name="orientation">  
1148 - <enum>Qt::Horizontal</enum>  
1149 - </property>  
1150 - </widget>  
1151 <widget class="QLabel" name="configMaxLabel_3"> 1020 <widget class="QLabel" name="configMaxLabel_3">
1152 <property name="enabled"> 1021 <property name="enabled">
1153 <bool>true</bool> 1022 <bool>true</bool>
@@ -1430,6 +1299,56 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c @@ -1430,6 +1299,56 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c
1430 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 1299 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
1431 </property> 1300 </property>
1432 </widget> 1301 </widget>
  1302 + <widget class="Slider" name="configSlider_4" native="true">
  1303 + <property name="geometry">
  1304 + <rect>
  1305 + <x>185</x>
  1306 + <y>1115</y>
  1307 + <width>666</width>
  1308 + <height>140</height>
  1309 + </rect>
  1310 + </property>
  1311 + </widget>
  1312 + <widget class="Slider" name="configSlider_3" native="true">
  1313 + <property name="geometry">
  1314 + <rect>
  1315 + <x>185</x>
  1316 + <y>935</y>
  1317 + <width>666</width>
  1318 + <height>140</height>
  1319 + </rect>
  1320 + </property>
  1321 + </widget>
  1322 + <widget class="Slider" name="configSlider_2" native="true">
  1323 + <property name="geometry">
  1324 + <rect>
  1325 + <x>185</x>
  1326 + <y>765</y>
  1327 + <width>666</width>
  1328 + <height>140</height>
  1329 + </rect>
  1330 + </property>
  1331 + </widget>
  1332 + <widget class="Slider" name="configSlider_5" native="true">
  1333 + <property name="geometry">
  1334 + <rect>
  1335 + <x>185</x>
  1336 + <y>1285</y>
  1337 + <width>666</width>
  1338 + <height>140</height>
  1339 + </rect>
  1340 + </property>
  1341 + </widget>
  1342 + <widget class="Slider" name="configSlider_1" native="true">
  1343 + <property name="geometry">
  1344 + <rect>
  1345 + <x>185</x>
  1346 + <y>605</y>
  1347 + <width>666</width>
  1348 + <height>140</height>
  1349 + </rect>
  1350 + </property>
  1351 + </widget>
1433 </widget> 1352 </widget>
1434 </widget> 1353 </widget>
1435 <customwidgets> 1354 <customwidgets>
@@ -1444,6 +1363,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c @@ -1444,6 +1363,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c
1444 <extends>QLabel</extends> 1363 <extends>QLabel</extends>
1445 <header>washwarnicon.h</header> 1364 <header>washwarnicon.h</header>
1446 </customwidget> 1365 </customwidget>
  1366 + <customwidget>
  1367 + <class>Slider</class>
  1368 + <extends>QWidget</extends>
  1369 + <header>slider.h</header>
  1370 + <container>1</container>
  1371 + </customwidget>
1447 </customwidgets> 1372 </customwidgets>
1448 <resources> 1373 <resources>
1449 <include location="resources.qrc"/> 1374 <include location="resources.qrc"/>
app/gui/oven_control/programmingmanualcoretemppopup.cpp
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 3
4 #include "stringer.h" 4 #include "stringer.h"
5 #include "soundplayer.h" 5 #include "soundplayer.h"
  6 +#include "oven.h"
6 7
7 ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) : 8 ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) :
8 QWidget(parent), 9 QWidget(parent),
@@ -12,7 +13,23 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) @@ -12,7 +13,23 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent)
12 13
13 setAttribute(Qt::WA_DeleteOnClose); 14 setAttribute(Qt::WA_DeleteOnClose);
14 15
15 - connect(ui->coreTempSlider, SIGNAL(valueChanged(int)), SLOT(updateCoreTempLabel())); 16 + Oven *oven = Oven::getInstance();
  17 +
  18 + ui->coreTempSlider->setSubPixmap(":/images/slider/core.png");
  19 + ui->coreTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp());
  20 +
  21 + QList<int> &bigTicks = ui->coreTempSlider->bigTicks;
  22 + bigTicks.append(oven->minInterTemp());
  23 + bigTicks.append(oven->minInterTemp() + (oven->maxInterTemp() - oven->minInterTemp()) / 2);
  24 + bigTicks.append(oven->maxInterTemp());
  25 +
  26 + QList<int> &ticks = ui->coreTempSlider->ticks;
  27 + for (int i = 1; i < 3; i++)
  28 + ticks.append(bigTicks.at(0) + i * (bigTicks.at(1) - bigTicks.at(0)) / 3);
  29 + for (int i = 1; i < 3; i++)
  30 + ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3);
  31 +
  32 + connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel()));
16 33
17 updateCoreTempLabel(); 34 updateCoreTempLabel();
18 35
@@ -27,7 +44,7 @@ ProgrammingManualCoreTempPopup::~ProgrammingManualCoreTempPopup() @@ -27,7 +44,7 @@ ProgrammingManualCoreTempPopup::~ProgrammingManualCoreTempPopup()
27 44
28 void ProgrammingManualCoreTempPopup::updateCoreTempLabel() 45 void ProgrammingManualCoreTempPopup::updateCoreTempLabel()
29 { 46 {
30 - ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->value(), Stringer::fontSize14)); 47 + ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->sliderPosition(), Stringer::fontSize14));
31 } 48 }
32 49
33 void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked() 50 void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked()
app/gui/oven_control/programmingmanualcoretemppopup.ui
@@ -52,34 +52,6 @@ width: 23px; @@ -52,34 +52,6 @@ width: 23px;
52 height: 33px; 52 height: 33px;
53 }</string> 53 }</string>
54 </property> 54 </property>
55 - <widget class="QSlider" name="coreTempSlider">  
56 - <property name="geometry">  
57 - <rect>  
58 - <x>185</x>  
59 - <y>1012</y>  
60 - <width>666</width>  
61 - <height>33</height>  
62 - </rect>  
63 - </property>  
64 - <property name="styleSheet">  
65 - <string notr="true">QSlider::sub-page { background-image: url(:/images/slider/core.png); }</string>  
66 - </property>  
67 - <property name="minimum">  
68 - <number>30</number>  
69 - </property>  
70 - <property name="maximum">  
71 - <number>99</number>  
72 - </property>  
73 - <property name="value">  
74 - <number>30</number>  
75 - </property>  
76 - <property name="tracking">  
77 - <bool>true</bool>  
78 - </property>  
79 - <property name="orientation">  
80 - <enum>Qt::Horizontal</enum>  
81 - </property>  
82 - </widget>  
83 <widget class="QPushButton" name="coreTempButton"> 55 <widget class="QPushButton" name="coreTempButton">
84 <property name="geometry"> 56 <property name="geometry">
85 <rect> 57 <rect>
@@ -211,13 +183,31 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); } @@ -211,13 +183,31 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
211 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 183 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
212 </property> 184 </property>
213 </widget> 185 </widget>
  186 + <widget class="Slider" name="coreTempSlider" native="true">
  187 + <property name="geometry">
  188 + <rect>
  189 + <x>185</x>
  190 + <y>954</y>
  191 + <width>666</width>
  192 + <height>140</height>
  193 + </rect>
  194 + </property>
  195 + </widget>
214 <zorder>background</zorder> 196 <zorder>background</zorder>
215 - <zorder>coreTempSlider</zorder>  
216 <zorder>coreTempButton</zorder> 197 <zorder>coreTempButton</zorder>
217 <zorder>cancelButton</zorder> 198 <zorder>cancelButton</zorder>
218 <zorder>applyButton</zorder> 199 <zorder>applyButton</zorder>
219 <zorder>coreTempLabel</zorder> 200 <zorder>coreTempLabel</zorder>
  201 + <zorder>coreTempSlider</zorder>
220 </widget> 202 </widget>
  203 + <customwidgets>
  204 + <customwidget>
  205 + <class>Slider</class>
  206 + <extends>QWidget</extends>
  207 + <header>slider.h</header>
  208 + <container>1</container>
  209 + </customwidget>
  210 + </customwidgets>
221 <resources/> 211 <resources/>
222 <connections/> 212 <connections/>
223 </ui> 213 </ui>
app/gui/oven_control/programmingmanualwindow.cpp
@@ -17,10 +17,48 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m @@ -17,10 +17,48 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m
17 ui->clockContainer->setParent(ui->upperStack); 17 ui->clockContainer->setParent(ui->upperStack);
18 setAttribute(Qt::WA_DeleteOnClose); 18 setAttribute(Qt::WA_DeleteOnClose);
19 19
20 - connect(ui->humiditySlider, SIGNAL(valueChanged(int)), SLOT(updateHumidityLabel()));  
21 - connect(ui->tempSlider, SIGNAL(valueChanged(int)), SLOT(updateTempLabel()));  
22 - connect(ui->timeSlider, SIGNAL(valueChanged(int)), SLOT(updateTimeLabel()));  
23 - connect(ui->interTempSlider, SIGNAL(valueChanged(int)), SLOT(updateCoreTempLabel())); 20 + ui->humiditySlider->setSubPixmap(":/images/slider/humidity.png");
  21 + ui->humiditySlider->setRange(0, 100);
  22 + ui->humiditySlider->bigTickInterval = 50;
  23 + ui->humiditySlider->tickInterval = 10;
  24 +
  25 + ui->tempSlider->setSubPixmap(":/images/slider/temp.png");
  26 + ui->tempSlider->bigTickInterval = 50;
  27 + ui->tempSlider->tickInterval = 10;
  28 +
  29 + ui->timeSlider->setSubPixmap(":/images/slider/time.png");
  30 + ui->timeSlider->setRange(0, 342);
  31 + ui->timeSlider->bigTicks.append(0);
  32 + ui->timeSlider->bigTicks.append(180);
  33 + ui->timeSlider->bigTicks.append(270);
  34 + ui->timeSlider->bigTicks.append(342);
  35 + ui->timeSlider->ticks.append(60);
  36 + ui->timeSlider->ticks.append(120);
  37 + ui->timeSlider->ticks.append(180 + 30);
  38 + ui->timeSlider->ticks.append(180 + 60);
  39 + ui->timeSlider->ticks.append(270 + 4 * 6);
  40 + ui->timeSlider->ticks.append(270 + 4 * 12);
  41 +
  42 + ui->interTempSlider->setSubPixmap(":/images/slider/core.png");
  43 + ui->interTempSlider->setRange(30, 99);
  44 +
  45 + Oven *oven = Oven::getInstance();
  46 +
  47 + QList<int> &bigTicks = ui->interTempSlider->bigTicks;
  48 + bigTicks.append(oven->minInterTemp());
  49 + bigTicks.append(oven->minInterTemp() + (oven->maxInterTemp() - oven->minInterTemp()) / 2);
  50 + bigTicks.append(oven->maxInterTemp());
  51 +
  52 + QList<int> &ticks = ui->interTempSlider->ticks;
  53 + for (int i = 1; i < 3; i++)
  54 + ticks.append(bigTicks.at(0) + i * (bigTicks.at(1) - bigTicks.at(0)) / 3);
  55 + for (int i = 1; i < 3; i++)
  56 + ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3);
  57 +
  58 + connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateHumidityLabel()));
  59 + connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateTempLabel()));
  60 + connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateTimeLabel()));
  61 + connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel()));
24 62
25 setDefault(mode); 63 setDefault(mode);
26 64
@@ -33,6 +71,24 @@ ProgrammingManualWindow::~ProgrammingManualWindow() @@ -33,6 +71,24 @@ ProgrammingManualWindow::~ProgrammingManualWindow()
33 delete ui; 71 delete ui;
34 } 72 }
35 73
  74 +int ProgrammingManualWindow::sliderToTime(int value)
  75 +{
  76 + if (value <= 180)
  77 + return value * 60;
  78 + if (value <= 270)
  79 + return 180 * 60 + (value - 180) * 2 * 60;
  80 + return 360 * 60 + (value - 270) * 15 * 60;
  81 +}
  82 +
  83 +int ProgrammingManualWindow::timeToSlider(int secs)
  84 +{
  85 + if (secs <= 180 * 60)
  86 + return secs / 60;
  87 + if (secs <= 360 * 60)
  88 + return 180 + (secs - 180 * 60) / 2 / 60;
  89 + return 270 + (secs - 360 * 60) / 15 / 60;
  90 +}
  91 +
36 void ProgrammingManualWindow::setDefault(Define::Mode mode) 92 void ProgrammingManualWindow::setDefault(Define::Mode mode)
37 { 93 {
38 switch (mode) 94 switch (mode)
@@ -45,6 +101,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -45,6 +101,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
45 ui->tempSlider->setValue(100); 101 ui->tempSlider->setValue(100);
46 ui->timeSlider->setValue(0); 102 ui->timeSlider->setValue(0);
47 ui->interTempSlider->setEnabled(false); 103 ui->interTempSlider->setEnabled(false);
  104 + ui->interTempSlider->setSubVisible(false);
48 ui->interTempSlider->setValue(30); 105 ui->interTempSlider->setValue(30);
49 setFan(4); 106 setFan(4);
50 updateCoreTempButton(); 107 updateCoreTempButton();
@@ -59,6 +116,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -59,6 +116,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
59 ui->tempSlider->setValue(100); 116 ui->tempSlider->setValue(100);
60 ui->timeSlider->setValue(0); 117 ui->timeSlider->setValue(0);
61 ui->interTempSlider->setEnabled(false); 118 ui->interTempSlider->setEnabled(false);
  119 + ui->interTempSlider->setSubVisible(false);
62 ui->interTempSlider->setValue(30); 120 ui->interTempSlider->setValue(30);
63 setFan(4); 121 setFan(4);
64 updateCoreTempButton(); 122 updateCoreTempButton();
@@ -73,6 +131,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -73,6 +131,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
73 ui->tempSlider->setValue(160); 131 ui->tempSlider->setValue(160);
74 ui->timeSlider->setValue(0); 132 ui->timeSlider->setValue(0);
75 ui->interTempSlider->setEnabled(false); 133 ui->interTempSlider->setEnabled(false);
  134 + ui->interTempSlider->setSubVisible(false);
76 ui->interTempSlider->setValue(30); 135 ui->interTempSlider->setValue(30);
77 setFan(4); 136 setFan(4);
78 updateCoreTempButton(); 137 updateCoreTempButton();
@@ -93,18 +152,17 @@ void ProgrammingManualWindow::setFan(int level) @@ -93,18 +152,17 @@ void ProgrammingManualWindow::setFan(int level)
93 152
94 void ProgrammingManualWindow::updateHumidityLabel() 153 void ProgrammingManualWindow::updateHumidityLabel()
95 { 154 {
96 -// ui->humidityLabel->setText(QString::number(ui->humiditySlider->value()));  
97 - ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->value())); 155 + ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition()));
98 } 156 }
99 157
100 void ProgrammingManualWindow::updateTempLabel() 158 void ProgrammingManualWindow::updateTempLabel()
101 { 159 {
102 - ui->tempLabel->setText(Stringer::temperature(ui->tempSlider->value(), Stringer::fontSize14)); 160 + ui->tempLabel->setText(Stringer::temperature(ui->tempSlider->sliderPosition(), Stringer::fontSize14));
103 } 161 }
104 162
105 void ProgrammingManualWindow::updateTimeLabel() 163 void ProgrammingManualWindow::updateTimeLabel()
106 { 164 {
107 - ui->timeLabel->setText(Stringer::remainingTime(ui->timeSlider->value() * 1000, Stringer::fontSize14)); 165 + ui->timeLabel->setText(Stringer::remainingTime(sliderToTime(ui->timeSlider->sliderPosition()) * 1000, Stringer::fontSize14));
108 } 166 }
109 167
110 void ProgrammingManualWindow::updateCoreTempButton() 168 void ProgrammingManualWindow::updateCoreTempButton()
@@ -130,7 +188,7 @@ QPushButton:pressed {\ @@ -130,7 +188,7 @@ QPushButton:pressed {\
130 void ProgrammingManualWindow::updateCoreTempLabel() 188 void ProgrammingManualWindow::updateCoreTempLabel()
131 { 189 {
132 if (ui->interTempSlider->isEnabled()) 190 if (ui->interTempSlider->isEnabled())
133 - ui->interTempLabel->setText(Stringer::temperature(ui->interTempSlider->value(), Stringer::fontSize14)); 191 + ui->interTempLabel->setText(Stringer::temperature(ui->interTempSlider->sliderPosition(), Stringer::fontSize14));
134 else 192 else
135 ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); 193 ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
136 } 194 }
@@ -169,6 +227,7 @@ void ProgrammingManualWindow::updateFanButton() @@ -169,6 +227,7 @@ void ProgrammingManualWindow::updateFanButton()
169 void ProgrammingManualWindow::onCoreTempEnabled(int celsius) 227 void ProgrammingManualWindow::onCoreTempEnabled(int celsius)
170 { 228 {
171 ui->interTempSlider->setEnabled(true); 229 ui->interTempSlider->setEnabled(true);
  230 + ui->interTempSlider->setSubVisible(true);
172 ui->interTempSlider->setValue(celsius); 231 ui->interTempSlider->setValue(celsius);
173 updateCoreTempButton(); 232 updateCoreTempButton();
174 updateCoreTempLabel(); 233 updateCoreTempLabel();
@@ -194,6 +253,7 @@ void ProgrammingManualWindow::on_interTempButton_clicked() @@ -194,6 +253,7 @@ void ProgrammingManualWindow::on_interTempButton_clicked()
194 if (ui->interTempSlider->isEnabled()) 253 if (ui->interTempSlider->isEnabled())
195 { 254 {
196 ui->interTempSlider->setEnabled(false); 255 ui->interTempSlider->setEnabled(false);
  256 + ui->interTempSlider->setSubVisible(false);
197 updateCoreTempButton(); 257 updateCoreTempButton();
198 updateCoreTempLabel(); 258 updateCoreTempLabel();
199 } 259 }
@@ -240,7 +300,7 @@ void ProgrammingManualWindow::on_okButton_clicked() @@ -240,7 +300,7 @@ void ProgrammingManualWindow::on_okButton_clicked()
240 s.mode = mode; 300 s.mode = mode;
241 s.humidity = ui->humiditySlider->value(); 301 s.humidity = ui->humiditySlider->value();
242 s.temp = ui->tempSlider->value(); 302 s.temp = ui->tempSlider->value();
243 - s.time = ui->timeSlider->value(); 303 + s.time = sliderToTime(ui->timeSlider->value());
244 s.coreTempEnabled = ui->interTempSlider->isEnabled(); 304 s.coreTempEnabled = ui->interTempSlider->isEnabled();
245 s.coreTemp = ui->interTempSlider->value(); 305 s.coreTemp = ui->interTempSlider->value();
246 s.fan = fan; 306 s.fan = fan;
app/gui/oven_control/programmingmanualwindow.h
@@ -23,6 +23,9 @@ private: @@ -23,6 +23,9 @@ private:
23 Define::Mode mode; 23 Define::Mode mode;
24 int fan; 24 int fan;
25 25
  26 + int sliderToTime(int value);
  27 + int timeToSlider(int secs);
  28 +
26 private slots: 29 private slots:
27 void setDefault(Define::Mode mode); 30 void setDefault(Define::Mode mode);
28 void setFan(int level); 31 void setFan(int level);
app/gui/oven_control/programmingmanualwindow.ui
@@ -293,64 +293,6 @@ QPushButton:pressed { image: url(:/images/slider_icon/time_ov.png); }&lt;/string&gt; @@ -293,64 +293,6 @@ QPushButton:pressed { image: url(:/images/slider_icon/time_ov.png); }&lt;/string&gt;
293 <set>Qt::AlignCenter</set> 293 <set>Qt::AlignCenter</set>
294 </property> 294 </property>
295 </widget> 295 </widget>
296 - <widget class="QSlider" name="timeSlider">  
297 - <property name="geometry">  
298 - <rect>  
299 - <x>185</x>  
300 - <y>1083</y>  
301 - <width>666</width>  
302 - <height>33</height>  
303 - </rect>  
304 - </property>  
305 - <property name="styleSheet">  
306 - <string notr="true">QSlider::sub-page { background-image: url(:/images/slider/time.png); }</string>  
307 - </property>  
308 - <property name="maximum">  
309 - <number>86400</number>  
310 - </property>  
311 - <property name="singleStep">  
312 - <number>60</number>  
313 - </property>  
314 - <property name="pageStep">  
315 - <number>3600</number>  
316 - </property>  
317 - <property name="value">  
318 - <number>0</number>  
319 - </property>  
320 - <property name="orientation">  
321 - <enum>Qt::Horizontal</enum>  
322 - </property>  
323 - </widget>  
324 - <widget class="QSlider" name="interTempSlider">  
325 - <property name="enabled">  
326 - <bool>false</bool>  
327 - </property>  
328 - <property name="geometry">  
329 - <rect>  
330 - <x>185</x>  
331 - <y>1233</y>  
332 - <width>666</width>  
333 - <height>33</height>  
334 - </rect>  
335 - </property>  
336 - <property name="styleSheet">  
337 - <string notr="true">QSlider::sub-page { background-image: url(:/images/slider/core.png); }  
338 -QSlider::sub-page:disabled { background: #00000000; }  
339 -QSlider::handle:disabled { background: #00000000; }</string>  
340 - </property>  
341 - <property name="minimum">  
342 - <number>30</number>  
343 - </property>  
344 - <property name="maximum">  
345 - <number>99</number>  
346 - </property>  
347 - <property name="value">  
348 - <number>30</number>  
349 - </property>  
350 - <property name="orientation">  
351 - <enum>Qt::Horizontal</enum>  
352 - </property>  
353 - </widget>  
354 <widget class="QLabel" name="interTempLabel"> 296 <widget class="QLabel" name="interTempLabel">
355 <property name="enabled"> 297 <property name="enabled">
356 <bool>true</bool> 298 <bool>true</bool>
@@ -634,28 +576,6 @@ QPushButton:pressed { image: url(:/images/slider_icon/temp_ov.png); }&lt;/string&gt; @@ -634,28 +576,6 @@ QPushButton:pressed { image: url(:/images/slider_icon/temp_ov.png); }&lt;/string&gt;
634 <string notr="true">icon</string> 576 <string notr="true">icon</string>
635 </property> 577 </property>
636 </widget> 578 </widget>
637 - <widget class="QSlider" name="tempSlider">  
638 - <property name="geometry">  
639 - <rect>  
640 - <x>185</x>  
641 - <y>933</y>  
642 - <width>666</width>  
643 - <height>33</height>  
644 - </rect>  
645 - </property>  
646 - <property name="styleSheet">  
647 - <string notr="true">QSlider::sub-page { background-image: url(:/images/slider/temp.png); }</string>  
648 - </property>  
649 - <property name="maximum">  
650 - <number>6</number>  
651 - </property>  
652 - <property name="value">  
653 - <number>0</number>  
654 - </property>  
655 - <property name="orientation">  
656 - <enum>Qt::Horizontal</enum>  
657 - </property>  
658 - </widget>  
659 <widget class="QPushButton" name="steamButton"> 579 <widget class="QPushButton" name="steamButton">
660 <property name="geometry"> 580 <property name="geometry">
661 <rect> 581 <rect>
@@ -809,25 +729,6 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); } @@ -809,25 +729,6 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); }
809 <set>Qt::AlignCenter</set> 729 <set>Qt::AlignCenter</set>
810 </property> 730 </property>
811 </widget> 731 </widget>
812 - <widget class="QSlider" name="humiditySlider">  
813 - <property name="geometry">  
814 - <rect>  
815 - <x>185</x>  
816 - <y>783</y>  
817 - <width>666</width>  
818 - <height>33</height>  
819 - </rect>  
820 - </property>  
821 - <property name="styleSheet">  
822 - <string notr="true">QSlider::sub-page { background-image: url(:/images/slider/humidity.png); }</string>  
823 - </property>  
824 - <property name="maximum">  
825 - <number>100</number>  
826 - </property>  
827 - <property name="orientation">  
828 - <enum>Qt::Horizontal</enum>  
829 - </property>  
830 - </widget>  
831 <widget class="QPushButton" name="humidityButton"> 732 <widget class="QPushButton" name="humidityButton">
832 <property name="geometry"> 733 <property name="geometry">
833 <rect> 734 <rect>
@@ -966,6 +867,46 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); } @@ -966,6 +867,46 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); }
966 <string notr="true">QPushButton { background-image: url(:/images/manual_button/fan_4.png); }</string> 867 <string notr="true">QPushButton { background-image: url(:/images/manual_button/fan_4.png); }</string>
967 </property> 868 </property>
968 </widget> 869 </widget>
  870 + <widget class="Slider" name="tempSlider" native="true">
  871 + <property name="geometry">
  872 + <rect>
  873 + <x>185</x>
  874 + <y>875</y>
  875 + <width>666</width>
  876 + <height>140</height>
  877 + </rect>
  878 + </property>
  879 + </widget>
  880 + <widget class="Slider" name="interTempSlider" native="true">
  881 + <property name="geometry">
  882 + <rect>
  883 + <x>185</x>
  884 + <y>1175</y>
  885 + <width>666</width>
  886 + <height>140</height>
  887 + </rect>
  888 + </property>
  889 + </widget>
  890 + <widget class="Slider" name="timeSlider" native="true">
  891 + <property name="geometry">
  892 + <rect>
  893 + <x>185</x>
  894 + <y>1025</y>
  895 + <width>666</width>
  896 + <height>140</height>
  897 + </rect>
  898 + </property>
  899 + </widget>
  900 + <widget class="Slider" name="humiditySlider" native="true">
  901 + <property name="geometry">
  902 + <rect>
  903 + <x>185</x>
  904 + <y>725</y>
  905 + <width>666</width>
  906 + <height>140</height>
  907 + </rect>
  908 + </property>
  909 + </widget>
969 </widget> 910 </widget>
970 </widget> 911 </widget>
971 <customwidgets> 912 <customwidgets>
@@ -985,6 +926,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); } @@ -985,6 +926,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); }
985 <extends>QLabel</extends> 926 <extends>QLabel</extends>
986 <header>animatedimagebox.h</header> 927 <header>animatedimagebox.h</header>
987 </customwidget> 928 </customwidget>
  929 + <customwidget>
  930 + <class>Slider</class>
  931 + <extends>QWidget</extends>
  932 + <header>slider.h</header>
  933 + <container>1</container>
  934 + </customwidget>
988 </customwidgets> 935 </customwidgets>
989 <resources> 936 <resources>
990 <include location="resources.qrc"/> 937 <include location="resources.qrc"/>
app/gui/oven_control/slider.cpp
@@ -116,6 +116,8 @@ void Slider::mouseMoveEvent(QMouseEvent *event) @@ -116,6 +116,8 @@ void Slider::mouseMoveEvent(QMouseEvent *event)
116 void Slider::mousePressEvent(QMouseEvent */*event*/) 116 void Slider::mousePressEvent(QMouseEvent */*event*/)
117 { 117 {
118 isSliderDown_ = true; 118 isSliderDown_ = true;
  119 +
  120 + emit sliderPressed();
119 } 121 }
120 122
121 void Slider::mouseReleaseEvent(QMouseEvent */*event*/) 123 void Slider::mouseReleaseEvent(QMouseEvent */*event*/)
@@ -125,6 +127,8 @@ void Slider::mouseReleaseEvent(QMouseEvent */*event*/) @@ -125,6 +127,8 @@ void Slider::mouseReleaseEvent(QMouseEvent */*event*/)
125 if (sliderPosition_ == value_) 127 if (sliderPosition_ == value_)
126 return; 128 return;
127 129
  130 + emit sliderReleased();
  131 +
128 setValue(sliderPosition_); 132 setValue(sliderPosition_);
129 } 133 }
130 134
app/gui/oven_control/slider.h
@@ -66,6 +66,8 @@ private: @@ -66,6 +66,8 @@ private:
66 signals: 66 signals:
67 void sliderMoved(int value); 67 void sliderMoved(int value);
68 void valueChanged(int value); 68 void valueChanged(int value);
  69 + void sliderPressed();
  70 + void sliderReleased();
69 71
70 public slots: 72 public slots:
71 void setValue(int value); 73 void setValue(int value);