def resolve_item_down_changed(self, item: QObject) -> None: """Put the same state for every child.""" self.update_item_changed(item) state = item.checkState() for idx in range(item.rowCount()): child = item.child(idx) child.setCheckState(state) self.resolve_item_down_changed(child)
def resolve_item_down_changed(self, item: QObject) -> None: """ Put the same state for every child. """ self.update_item_changed(item) state = item.checkState() for idx in range(item.rowCount()): child = item.child(idx) child.setCheckState(state) self.resolve_item_down_changed(child)
def update_item_changed(self, item: QObject) -> None: fs_info = item.data(Qt.UserRole) # Fake children have no data attached if not fs_info: return fs_info.state = item.checkState() is_in_dirty = fs_info in self.dirty_items is_dirty = fs_info.is_dirty() if is_dirty and not is_in_dirty: self.dirty_items.append(fs_info) elif not is_dirty and is_in_dirty: self.dirty_items.remove(fs_info)
def update_item_changed(self, item: QObject) -> None: """Append the item the the *.dirty_items* dict. That dict will be used by DocumentsDialog.apply_filters() tp update the view. """ fs_info = item.data(Qt.UserRole) # Fake children have no data attached if not fs_info: return fs_info.state = item.checkState() is_in_dirty = fs_info in self.dirty_items is_dirty = fs_info.is_dirty() if is_dirty and not is_in_dirty: self.dirty_items.append(fs_info) elif not is_dirty and is_in_dirty: self.dirty_items.remove(fs_info)