Fix exception when changing campaigns

Calling setCurrentText with an Enum will obviously cause issues...
This commit is contained in:
Raffson
2023-05-28 12:51:51 +02:00
parent 7e6a6cc61a
commit 28deb36f2c

View File

@@ -2,6 +2,7 @@ import json
import logging import logging
import textwrap import textwrap
import zipfile import zipfile
from enum import Enum
from typing import Callable, Optional, Dict from typing import Callable, Optional, Dict
from PySide2 import QtWidgets from PySide2 import QtWidgets
@@ -237,7 +238,14 @@ class AutoSettingsLayout(QGridLayout):
if isinstance(widget, QCheckBox): if isinstance(widget, QCheckBox):
widget.setChecked(value) widget.setChecked(value)
elif isinstance(widget, QComboBox): elif isinstance(widget, QComboBox):
widget.setCurrentText(description.text_for_value(value)) if isinstance(value, Enum):
widget.setCurrentText(value.value)
elif isinstance(value, str):
widget.setCurrentText(value)
else:
logging.error(
f"Incompatible type '{type(value)}' for ComboBox option {name}"
)
elif isinstance(widget, FloatSpinSlider): elif isinstance(widget, FloatSpinSlider):
widget.spinner.setValue(int(value * widget.spinner.divisor)) widget.spinner.setValue(int(value * widget.spinner.divisor))
elif isinstance(widget, QSpinBox): elif isinstance(widget, QSpinBox):