1
# -*- coding: utf-8 -*-
4
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
5
__docformat__ = 'restructuredtext en'
7
from calibre.utils.config import Config, ConfigProxy
9
class DeviceConfig(object):
11
HELP_MESSAGE = _('Configure Device')
15
klass = cls if isinstance(cls, type) else cls.__class__
16
c = Config('device_drivers_%s' % klass.__name__, _('settings for device drivers'))
17
c.add_opt('format_map', default=cls.FORMATS, help=_('Ordered list of formats the device will accept'))
18
c.add_opt('use_subdirs', default=True, help=_('Place files in sub directories if the device supports them'))
19
c.add_opt('read_metadata', default=True, help=_('Read metadata from files on device'))
23
def _configProxy(cls):
24
return ConfigProxy(cls._config())
27
def config_widget(cls):
28
from calibre.gui2.device_drivers.configwidget import ConfigWidget
29
cw = ConfigWidget(cls.settings(), cls.FORMATS, cls.SUPPORTS_SUB_DIRS,
30
cls.MUST_READ_METADATA)
34
def save_settings(cls, config_widget):
35
cls._configProxy()['format_map'] = config_widget.format_map()
36
if cls.SUPPORTS_SUB_DIRS:
37
cls._configProxy()['use_subdirs'] = config_widget.use_subdirs()
38
if not cls.MUST_READ_METADATA:
39
cls._configProxy()['read_metadata'] = config_widget.read_metadata()
43
return cls._config().parse()
46
def customization_help(cls, gui=False):
47
return cls.HELP_MESSAGE