def _auto_sync_changed(self, widget): is_checked = widget.get_checked() was_checked = self.device.database.get(u'sync', {}).get(u'auto', False) if is_checked != was_checked: message = messages.ChangeDeviceSyncSetting(self.device, None, u'auto', is_checked) message.send_to_backend()
def _auto_fill_changed(self, widget): value = widget.get_checked() old_value = self.device.database.get(u'sync', {}).get(u'auto_fill', False) if value != old_value: message = messages.ChangeDeviceSyncSetting(self.device, None, u'auto_fill', value) message.send_to_backend() self.sync_settings_changed(widget)
def _max_fill_enabled_changed(self, widget): is_checked = widget.get_checked() was_checked = self.device.database.get(u'sync', {}).get(u'max_fill', False) if is_checked != was_checked: message = messages.ChangeDeviceSyncSetting(self.device, None, u'max_fill', is_checked) message.send_to_backend() self.sync_settings_changed(widget)
def unwatched_toggled(self, obj): all_items = (not obj.get_checked()) current = self.device.database[u'sync'][self.file_type].get(u'all') if current != all_items: message = messages.ChangeDeviceSyncSetting(self.device, self.file_type, u'all', all_items) message.send_to_backend() self.emit('changed')
def _auto_fill_slider_changed(self, widget, setting): value = widget.get_value() old_value = self.device.database.get(u'sync', {}).get(u'auto_fill_settings', {}).get(setting, 0.5) if value != old_value: message = messages.ChangeDeviceSyncSetting( self.device, None, (u'auto_fill_settings', setting), value) message.send_to_backend() self.sync_settings_changed(widget)
def expire_podcasts_toggled(self, obj): expire_podcasts = bool(obj.get_checked()) current = self.device.database[u'sync'][self.file_type].get(u'expire') if current != expire_podcasts: message = messages.ChangeDeviceSyncSetting(self.device, self.file_type, u'expire', expire_podcasts) message.send_to_backend() self.emit('changed')
def _max_fill_percent_changed(self, widget): try: value = int(widget.get_text()) except ValueError: return old_value = self.device.database.get(u'sync', {}).get(u'max_fill_percent', 90) if value != old_value: message = messages.ChangeDeviceSyncSetting(self.device, None, u'max_fill_percent', value) message.send_to_backend() self.sync_settings_changed(widget)
def sync_library_toggled(self, obj): checked = obj.get_checked() if checked: self.feed_list.enable() else: self.feed_list.disable() this_sync = self.device.database[u'sync'].get(self.file_type, {}) value = this_sync.get(u'enabled', None) if not self.bulk_change and checked != value: message = messages.ChangeDeviceSyncSetting(self.device, self.file_type, u'enabled', checked) message.send_to_backend() self.emit('changed') return checked # make it easy for subclass
def select_clicked(self, obj, value): self.bulk_change = True this_sync = self.device.database[u'sync'][self.file_type] items = set(this_sync.get(u'items', ())) for key, box in self.info_map.items(): box.set_checked(value) if value: items.add(key) elif key in items: items.remove(key) self.bulk_change = False message = messages.ChangeDeviceSyncSetting(self.device, self.file_type, u'items', list(items)) message.send_to_backend() self.emit('changed')
def feed_toggled(self, obj, info): this_sync = self.device.database[u'sync'][self.file_type] key = self.info_key(info) items = set(this_sync.get(u'items', [])) changed = False if obj.get_checked(): if key not in items: items.add(key) changed = True elif key in items: items.remove(key) changed = True if not self.bulk_change and changed: message = messages.ChangeDeviceSyncSetting(self.device, self.file_type, u'items', list(items)) message.send_to_backend() self.emit('changed')