Commit f9c67430c78472a5eca0b5d669ab2071ffa14bd0

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

현재 온도를 표시할 때 슬라이더도 같이 움직이도록 수정

app/gui/oven_control/cooldownpopup.cpp
... ... @@ -137,11 +137,23 @@ void CooldownPopup::showCurrentTemp()
137 137  
138 138 void CooldownPopup::updateView()
139 139 {
  140 + QWidget *focused = focusWidget();
  141 + ui->tempButton->setChecked(focused == ui->tempSlider);
  142 +
140 143 int temp;
141 144 if (showingCurrentTemp)
142 145 temp = oven->currentTemp();
143   - else
  146 + else if (ui->tempSlider->isSliderDown() || focusWidget() == ui->tempSlider)
144 147 temp = ui->tempSlider->sliderPosition();
  148 + else
  149 + temp = ui->tempSlider->value();
  150 +
  151 + if (ui->tempSlider->sliderPosition() != temp)
  152 + {
  153 + ui->tempSlider->blockSignals(true);
  154 + ui->tempSlider->setSliderPosition(temp);
  155 + ui->tempSlider->blockSignals(false);
  156 + }
145 157  
146 158 ui->tempCurrentLabel->setText(Stringer::temperature(temp, Stringer::fontSize14));
147 159  
... ... @@ -299,17 +311,21 @@ void CooldownPopup::onEncoderRight()
299 311 void CooldownPopup::onEncoderClicked(QWidget *clicked)
300 312 {
301 313 if (clicked == ui->background)
  314 + {
302 315 close();
303   - else if (clicked->inherits("QPushButton"))
  316 + return;
  317 + }
  318 +
  319 + QPushButton *b = qobject_cast<QPushButton *>(clicked);
  320 + if (b)
304 321 {
305   - QPushButton *b = qobject_cast<QPushButton *>(clicked);
306   - if (b)
307   - b->click();
  322 + b->click();
  323 + return;
308 324 }
309   - else if (clicked->inherits("Slider"))
  325 +
  326 + Slider *slider = qobject_cast<Slider *>(clicked);
  327 + if (slider)
310 328 {
311   - Slider *slider = qobject_cast<Slider *>(clicked);
312   - if (slider == ui->tempSlider)
313   - ui->tempButton->setFocus();
  329 + ui->tempButton->setFocus();
314 330 }
315 331 }
... ...
app/gui/oven_control/cooldownpopup.ui
... ... @@ -100,11 +100,16 @@ height: 33px;
100 100 </property>
101 101 <property name="styleSheet">
102 102 <string notr="true">QPushButton { image: url(:/images/slider_icon/cooldown.png); }
103   -QPushButton::pressed, QPushButton:focus { image: url(:/images/slider_icon/cooldown_ov.png); }</string>
  103 +QPushButton:pressed,
  104 +QPushButton:focus { image: url(:/images/slider_icon/mark_01_icon_active.png); }
  105 +QPushButton:checked { image: url(:/images/slider_icon/cooldown_ov.png); }</string>
104 106 </property>
105 107 <property name="text">
106 108 <string notr="true"/>
107 109 </property>
  110 + <property name="checkable">
  111 + <bool>true</bool>
  112 + </property>
108 113 <property name="style" stdset="0">
109 114 <string notr="true">icon</string>
110 115 </property>
... ... @@ -360,6 +365,9 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cooldown
360 365 <height>140</height>
361 366 </rect>
362 367 </property>
  368 + <property name="focusPolicy">
  369 + <enum>Qt::ClickFocus</enum>
  370 + </property>
363 371 </widget>
364 372 </widget>
365 373 <widget class="QPushButton" name="closeButton">
... ...