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
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99

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):