diff options
Diffstat (limited to 'Widgets/HVACPage.py')
-rw-r--r-- | Widgets/HVACPage.py | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/Widgets/HVACPage.py b/Widgets/HVACPage.py index 312f82b..56d7f8b 100644 --- a/Widgets/HVACPage.py +++ b/Widgets/HVACPage.py @@ -14,6 +14,7 @@ limitations under the License. """ +from extras.FeedKuksa import FeedKuksa import os import sys from PyQt5 import uic @@ -25,12 +26,12 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) sys.path.append(os.path.dirname(current_dir)) -from extras.FeedKuksa import FeedKuksa Form, Base = uic.loadUiType(os.path.join(current_dir, "../ui/HVAC.ui")) # ======================================== + class HVAC_Paths(): def __init__(self): self.leftTemp = "Vehicle.Cabin.HVAC.Station.Row1.Left.Temperature" @@ -38,9 +39,10 @@ class HVAC_Paths(): self.rightTemp = "Vehicle.Cabin.HVAC.Station.Row1.Right.Temperature" self.rightFanSpeed = "Vehicle.Cabin.HVAC.Station.Row1.Right.FanSpeed" - # temperatureList contains values from 32 to 16 + # temperatureList contains values from 32 to 16 self.temperatureList = [str(i) + "°C" for i in range(32, 15, -1)] + class HVACWidget(Base, Form): """ A widget for controlling HVAC settings. @@ -58,42 +60,52 @@ class HVACWidget(Base, Form): super(self.__class__, self).__init__(parent) self.setupUi(self) - + self.HVAC = HVAC_Paths() self.feed_kuksa = FeedKuksa() - + self.leftTempList = self.findChild(QListWidget, "leftTempList") self.leftTempList.addItems(self.HVAC.temperatureList) self.leftTempList.setCurrentRow(0) self.leftTempList.itemClicked.connect(self.leftTempListClicked) - self.leftTempList.itemSelectionChanged.connect(self.leftTempListClicked) + self.leftTempList.itemSelectionChanged.connect( + self.leftTempListClicked) self.leftTempList.wheelEvent = lambda event: None self.rightTempList = self.findChild(QListWidget, "rightTempList") self.rightTempList.addItems(self.HVAC.temperatureList) self.rightTempList.setCurrentRow(0) self.rightTempList.itemClicked.connect(self.rightTempListClicked) - self.rightTempList.itemSelectionChanged.connect(self.rightTempListClicked) + self.rightTempList.itemSelectionChanged.connect( + self.rightTempListClicked) self.rightTempList.wheelEvent = lambda event: None self.leftTempUp = self.findChild(QPushButton, "leftTempUp") - self.leftTempUp.clicked.connect(lambda: self.leftTempList.setCurrentRow(self.leftTempList.currentRow() - 1)) + self.leftTempUp.clicked.connect( + lambda: self.leftTempList.setCurrentRow(self.leftTempList.currentRow() - 1)) self.leftTempDown = self.findChild(QPushButton, "leftTempDown") - self.leftTempDown.clicked.connect(lambda: self.leftTempList.setCurrentRow(self.leftTempList.currentRow() + 1)) + self.leftTempDown.clicked.connect( + lambda: self.leftTempList.setCurrentRow(self.leftTempList.currentRow() + 1)) self.rightTempUp = self.findChild(QPushButton, "rightTempUp") - self.rightTempUp.clicked.connect(lambda: self.rightTempList.setCurrentRow(self.rightTempList.currentRow() - 1)) + self.rightTempUp.clicked.connect( + lambda: self.rightTempList.setCurrentRow(self.rightTempList.currentRow() - 1)) self.rightTempDown = self.findChild(QPushButton, "rightTempDown") - self.rightTempDown.clicked.connect(lambda: self.rightTempList.setCurrentRow(self.rightTempList.currentRow() + 1)) + self.rightTempDown.clicked.connect( + lambda: self.rightTempList.setCurrentRow(self.rightTempList.currentRow() + 1)) - self.leftFanSpeed_slider = self.findChild(QSlider, "leftFanSpeed_slider") - self.leftFanSpeed_slider.valueChanged.connect(self.leftFanSpeed_sliderChanged) + self.leftFanSpeed_slider = self.findChild( + QSlider, "leftFanSpeed_slider") + self.leftFanSpeed_slider.valueChanged.connect( + self.leftFanSpeed_sliderChanged) - self.rightFanSpeed_slider = self.findChild(QSlider, "rightFanSpeed_slider") - self.rightFanSpeed_slider.valueChanged.connect(self.rightFanSpeed_sliderChanged) + self.rightFanSpeed_slider = self.findChild( + QSlider, "rightFanSpeed_slider") + self.rightFanSpeed_slider.valueChanged.connect( + self.rightFanSpeed_sliderChanged) def leftTempListClicked(self): """ @@ -101,10 +113,7 @@ class HVACWidget(Base, Form): Sends the selected temperature value to the feed_kuksa object. """ - item = self.leftTempList.currentItem() - self.leftTempList.scrollToItem(item, 1) - self.feed_kuksa.send_values(self.HVAC.leftTemp, item.text()[:-2]) - print(item.text()) + self.setTemperature(self.leftTempList, self.HVAC.leftTemp) def rightTempListClicked(self): """ @@ -112,10 +121,14 @@ class HVACWidget(Base, Form): Sends the selected temperature value to the feed_kuksa object. """ - item = self.rightTempList.currentItem() - self.rightTempList.scrollToItem(item, 1) - self.feed_kuksa.send_values(self.HVAC.rightTemp, item.text()[:-2]) - print(item.text()) + self.setTemperature(self.rightTempList, self.HVAC.rightTemp) + + def setTemperature(self, list_widget, path): + item = list_widget.currentItem() + if item is not None: + list_widget.scrollToItem(item, 1) + self.feed_kuksa.send_values(path, item.text()[:-2]) + print(item.text()) def leftFanSpeed_sliderChanged(self): """ @@ -137,6 +150,7 @@ class HVACWidget(Base, Form): self.feed_kuksa.send_values(self.HVAC.rightFanSpeed, str(value)) print(value) + if __name__ == '__main__': import sys app = QApplication(sys.argv) |