88@dataclass (slots = True )
99class StateBase :
1010 _lock : QMutex = field (default_factory = QMutex , init = False , repr = False )
11- _default : bool = False
11+ _dirty : bool = False
1212
1313 # obj["field"]
1414 def __getitem__ (self , key : str ) -> Any :
@@ -19,7 +19,7 @@ def __getitem__(self, key: str) -> Any:
1919
2020 # obj["field"] = value
2121 def __setitem__ (self , key : str , value : Any ) -> None :
22- self ._default = False
22+ self ._dirty = True
2323 with QMutexLocker (self ._lock ):
2424 if not hasattr (self , key ):
2525 raise KeyError (key )
@@ -35,7 +35,7 @@ def get(self, key: str, default: Any = None) -> Any:
3535 # obj.update({...})
3636 def update (self , mapping : Mapping [str , Any ] | None = None ,
3737 ** kwargs : Any ) -> None :
38- self ._default = False
38+ self ._dirty = True
3939 with QMutexLocker (self ._lock ):
4040 if mapping :
4141 for k , v in mapping .items ():
@@ -73,7 +73,7 @@ def default_dict(cls) -> dict[str, Any]:
7373 return result
7474
7575 def reset (self ) -> None :
76- self ._default = True
76+ self ._dirty = False
7777 defaults = type (self ).default_dict ()
7878 with QMutexLocker (self ._lock ):
7979 for name , value in defaults .items ():
@@ -104,4 +104,4 @@ def __len__(self) -> int:
104104 return len ([f for f in fields (self ) if not f .name .startswith ("_" )])
105105
106106 def __bool__ (self ) -> bool :
107- return self ._default
107+ return self ._dirty
0 commit comments