diff --git a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py index 3c734afa..5aa66c3c 100644 --- a/qt_ui/widgets/conditions/DcsCloudBaseSelector.py +++ b/qt_ui/widgets/conditions/DcsCloudBaseSelector.py @@ -2,22 +2,27 @@ from typing import Optional from PySide6.QtCore import Qt from PySide6.QtWidgets import QHBoxLayout, QLabel, QSlider, QSpinBox, QComboBox -from dcs.weather import CloudPreset + +from game.weather.clouds import Clouds class DcsCloudBaseSelector(QHBoxLayout): M2FT_FACTOR = 3.2808399 - def __init__(self, preset: Optional[CloudPreset]) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() - self.preset = preset + self.preset = clouds.preset if clouds else None self.unit_changing = False self.label = QLabel("Cloud Base: ") self.addWidget(self.label) self.base = QSlider(Qt.Orientation.Horizontal) - self.base.setValue(round(self.max_base - (self.max_base - self.min_base) / 2)) + self.base.setValue( + clouds.base + if clouds + else round(self.max_base - (self.max_base - self.min_base) / 2) + ) self.base.valueChanged.connect(self.on_slider_change) self.addWidget(self.base, 1) diff --git a/qt_ui/widgets/conditions/DcsCloudDensitySelector.py b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py index a86cf848..f2c93445 100644 --- a/qt_ui/widgets/conditions/DcsCloudDensitySelector.py +++ b/qt_ui/widgets/conditions/DcsCloudDensitySelector.py @@ -8,7 +8,7 @@ from game.weather.clouds import Clouds class DcsCloudDensitySelector(QHBoxLayout): - def __init__(self, clouds: Clouds) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() self.unit_changing = False @@ -17,7 +17,8 @@ class DcsCloudDensitySelector(QHBoxLayout): self.density = QSlider(Qt.Orientation.Horizontal) self.density.setRange(0, 10) - self.density.setValue(clouds.density) + if clouds: + self.density.setValue(clouds.density) self.density.valueChanged.connect(self.on_slider_change) self.addWidget(self.density, 1) diff --git a/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py index 2838f856..5aa3c40c 100644 --- a/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py +++ b/qt_ui/widgets/conditions/DcsCloudThicknessSelector.py @@ -10,7 +10,7 @@ from game.weather.clouds import Clouds class DcsCloudThicknessSelector(QHBoxLayout): M2FT_FACTOR = 3.2808399 - def __init__(self, clouds: Clouds) -> None: + def __init__(self, clouds: Optional[Clouds]) -> None: super().__init__() self.unit_changing = False @@ -19,7 +19,8 @@ class DcsCloudThicknessSelector(QHBoxLayout): self.thickness = QSlider(Qt.Orientation.Horizontal) self.thickness.setRange(200, 2000) - self.thickness.setValue(clouds.thickness) + if clouds: + self.thickness.setValue(clouds.thickness) self.thickness.valueChanged.connect(self.on_slider_change) self.addWidget(self.thickness, 1)