fix: remove dupes/aliases in QEnumCombo (#190)

* fix: remove dupes/aliases in QEnumCombo

* test: add test
This commit is contained in:
Talley Lambert
2023-08-20 09:52:14 -04:00
committed by GitHub
parent 619daae13f
commit 7fcba7a485
2 changed files with 5 additions and 1 deletions

View File

@@ -49,7 +49,9 @@ class QEnumComboBox(QComboBox):
self._allow_none = allow_none and enum is not None
if allow_none:
super().addItem(NONE_STRING)
super().addItems(list(map(_get_name, self._enum_class.__members__.values())))
names = map(_get_name, self._enum_class.__members__.values())
_names = dict.fromkeys(names) # remove duplicates/aliases, keep order
super().addItems(list(_names))
def enumClass(self) -> Optional[EnumMeta]:
"""Return current Enum class."""

View File

@@ -11,6 +11,8 @@ class Enum1(Enum):
b = 2
c = 3
ALIAS = a
class Enum2(Enum):
d = 1