self.dirty_settings = dict(self.settings) is assigned on one line, then immediately overwritten with self.dirty_settings: dict = {} two lines later. Any settings loaded at startup are silently discarded before the UI renders, so switching categories while editing will always start from a blank dirty state.
self.dirty_settings = dict(self.settings)is assigned on one line, then immediately overwritten withself.dirty_settings: dict = {}two lines later. Any settings loaded at startup are silently discarded before the UI renders, so switching categories while editing will always start from a blank dirty state.