Exemple #1
0
 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()
Exemple #2
0
 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)
Exemple #3
0
 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)
Exemple #4
0
 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')
Exemple #5
0
 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)
Exemple #6
0
 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')
Exemple #7
0
 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)
Exemple #8
0
 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
Exemple #9
0
 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')
Exemple #10
0
 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')