def __init__(self, filesystem_cache, show_files=True): QTabWidget.__init__(self) self.fs = filesystem_cache for storage in self.fs.entries: w = Storage(storage, show_files) self.addTab(w, w.name) w.doubleClicked.connect(self.selected) self.setCurrentIndex(0)
def __init__(self, parent=None): QTabWidget.__init__(self, parent)
def __init__(self, device_settings, all_formats, supports_subdirs, must_read_metadata, supports_use_author_sort, extra_customization_message, device, extra_customization_choices=None, parent=None): QTabWidget.__init__(self, parent) self._device = weakref.ref(device) self.device_settings = device_settings self.all_formats = set(all_formats) self.supports_subdirs = supports_subdirs self.must_read_metadata = must_read_metadata self.supports_use_author_sort = supports_use_author_sort self.extra_customization_message = extra_customization_message self.extra_customization_choices = extra_customization_choices try: self.device_name = device.get_gui_name() except TypeError: self.device_name = getattr(device, 'gui_name', None) or _('Device') if device.USER_CAN_ADD_NEW_FORMATS: self.all_formats = set(self.all_formats) | set(BOOK_EXTENSIONS) self.base = QWidget(self) # self.insertTab(0, self.base, _('Configure %s') % self.device.current_friendly_name) self.insertTab(0, self.base, _("File Formats")) l = self.base.l = QGridLayout(self.base) self.base.setLayout(l) self.formats = FormatsConfig(self.all_formats, device_settings.format_map) if device.HIDE_FORMATS_CONFIG_BOX: self.formats.hide() self.opt_use_subdirs = create_checkbox( _("Use sub-directories"), _('Place files in sub-directories if the device supports them'), device_settings.use_subdirs) self.opt_read_metadata = create_checkbox( _("Read metadata from files on device"), _('Read metadata from files on device'), device_settings.read_metadata) self.template = TemplateConfig(device_settings.save_template) self.opt_use_author_sort = create_checkbox( _("Use author sort for author"), _("Use author sort for author"), device_settings.read_metadata) self.opt_use_author_sort.setObjectName("opt_use_author_sort") self.base.la = la = QLabel( _('Choose the formats to send to the %s') % self.device_name) la.setWordWrap(True) l.addWidget(la, 1, 0, 1, 1) l.addWidget(self.formats, 2, 0, 1, 1) l.addWidget(self.opt_read_metadata, 3, 0, 1, 1) l.addWidget(self.opt_use_subdirs, 4, 0, 1, 1) l.addWidget(self.opt_use_author_sort, 5, 0, 1, 1) l.addWidget(self.template, 6, 0, 1, 1) l.setRowStretch(2, 10) if device.HIDE_FORMATS_CONFIG_BOX: self.formats.hide() if supports_subdirs: self.opt_use_subdirs.setChecked(device_settings.use_subdirs) else: self.opt_use_subdirs.hide() if not must_read_metadata: self.opt_read_metadata.setChecked(device_settings.read_metadata) else: self.opt_read_metadata.hide() if supports_use_author_sort: self.opt_use_author_sort.setChecked( device_settings.use_author_sort) else: self.opt_use_author_sort.hide() self.extra_tab = ExtraCustomization(self.extra_customization_message, self.extra_customization_choices, self.device_settings) # Only display the extra customization tab if there are options on it. if self.extra_tab.has_extra_customizations: self.addTab(self.extra_tab, _('Extra Customization')) self.setCurrentIndex(0)
def __init__(self, device, parent=None, highlight_ignored_folders=False): QTabWidget.__init__(self, parent) self._device = weakref.ref(device) cd = msg = None if device.current_friendly_name is not None: if device.current_serial_num is None: msg = '<p>' + (_('The <b>%s</b> device has no serial number, ' 'it cannot be configured')%device.current_friendly_name) else: cd = 'device-'+device.current_serial_num else: msg = '<p>' + _('<b>No MTP device connected.</b><p>' ' You can only configure the MTP device plugin when a device' ' is connected.') self.current_device_key = cd if msg: msg += '<p>' + _('If you want to un-ignore a previously' ' ignored MTP device, use the "Ignored devices" tab.') l = QLabel(msg) l.setWordWrap(True) l.setStyleSheet('QLabel { margin-left: 2em }') l.setMinimumWidth(500) l.setMinimumHeight(400) self.insertTab(0, l, _('Cannot configure')) else: self.base = QWidget(self) self.insertTab(0, self.base, _('Configure %s')%self.device.current_friendly_name) l = self.base.l = QGridLayout(self.base) self.base.setLayout(l) self.rules = r = FormatRules(self.device, self.get_pref('rules')) self.formats = FormatsConfig(set(BOOK_EXTENSIONS), self.get_pref('format_map')) self.send_to = SendToConfig(self.get_pref('send_to'), self.device) self.template = TemplateConfig(self.get_pref('send_template')) self.base.la = la = QLabel(_( 'Choose the formats to send to the %s')%self.device.current_friendly_name) la.setWordWrap(True) self.base.b = b = QPushButton(QIcon(I('list_remove.png')), _('&Ignore the %s in calibre')%device.current_friendly_name, self.base) b.clicked.connect(self.ignore_device) self.config_ign_folders_button = cif = QPushButton( QIcon(I('tb_folder.png')), _('Change scanned &folders')) cif.setStyleSheet( 'QPushButton { font-weight: bold; }') if highlight_ignored_folders: cif.setIconSize(QSize(64, 64)) self.show_debug_button = bd = QPushButton(QIcon(I('debug.png')), _('Show device information')) bd.clicked.connect(self.show_debug_info) cif.clicked.connect(self.change_ignored_folders) l.addWidget(b, 0, 0, 1, 2) l.addWidget(la, 1, 0, 1, 1) l.addWidget(self.formats, 2, 0, 5, 1) l.addWidget(cif, 2, 1, 1, 1) l.addWidget(self.template, 3, 1, 1, 1) l.addWidget(self.send_to, 4, 1, 1, 1) l.addWidget(self.show_debug_button, 5, 1, 1, 1) l.setRowStretch(6, 10) l.addWidget(r, 7, 0, 1, 2) l.setRowStretch(7, 100) self.igntab = IgnoredDevices(self.device.prefs['history'], self.device.prefs['blacklist']) self.addTab(self.igntab, _('Ignored devices')) self.current_ignored_folders = self.get_pref('ignored_folders') self.initial_ignored_folders = self.current_ignored_folders self.setCurrentIndex(1 if msg else 0)
def __init__(self, device, parent=None, highlight_ignored_folders=False): QTabWidget.__init__(self, parent) self._device = weakref.ref(device) cd = msg = None if device.current_friendly_name is not None: if device.current_serial_num is None: msg = '<p>' + (_('The <b>%s</b> device has no serial number, ' 'it cannot be configured') % device.current_friendly_name) else: cd = 'device-' + device.current_serial_num else: msg = '<p>' + _( '<b>No MTP device connected.</b><p>' ' You can only configure the MTP device plugin when a device' ' is connected.') self.current_device_key = cd if msg: msg += '<p>' + _( 'If you want to un-ignore a previously' ' ignored MTP device, use the "Ignored devices" tab.') l = QLabel(msg) l.setWordWrap(True) l.setStyleSheet('QLabel { margin-left: 2em }') l.setMinimumWidth(500) l.setMinimumHeight(400) self.insertTab(0, l, _('Cannot configure')) else: self.base = QWidget(self) self.insertTab( 0, self.base, _('Configure %s') % self.device.current_friendly_name) l = self.base.l = QGridLayout(self.base) self.base.setLayout(l) self.rules = r = FormatRules(self.device, self.get_pref('rules')) self.formats = FormatsConfig(set(BOOK_EXTENSIONS), self.get_pref('format_map')) self.send_to = SendToConfig(self.get_pref('send_to'), self.device) self.template = TemplateConfig(self.get_pref('send_template')) self.base.la = la = QLabel( _('Choose the formats to send to the %s') % self.device.current_friendly_name) la.setWordWrap(True) self.base.b = b = QPushButton( QIcon(I('list_remove.png')), _('&Ignore the %s in calibre') % device.current_friendly_name, self.base) b.clicked.connect(self.ignore_device) self.config_ign_folders_button = cif = QPushButton( QIcon(I('tb_folder.png')), _('Change scanned &folders')) cif.setStyleSheet('QPushButton { font-weight: bold; }') if highlight_ignored_folders: cif.setIconSize(QSize(64, 64)) self.show_debug_button = bd = QPushButton( QIcon(I('debug.png')), _('Show device information')) bd.clicked.connect(self.show_debug_info) cif.clicked.connect(self.change_ignored_folders) l.addWidget(b, 0, 0, 1, 2) l.addWidget(la, 1, 0, 1, 1) l.addWidget(self.formats, 2, 0, 5, 1) l.addWidget(cif, 2, 1, 1, 1) l.addWidget(self.template, 3, 1, 1, 1) l.addWidget(self.send_to, 4, 1, 1, 1) l.addWidget(self.show_debug_button, 5, 1, 1, 1) l.setRowStretch(6, 10) l.addWidget(r, 7, 0, 1, 2) l.setRowStretch(7, 100) self.igntab = IgnoredDevices(self.device.prefs['history'], self.device.prefs['blacklist']) self.addTab(self.igntab, _('Ignored devices')) self.current_ignored_folders = self.get_pref('ignored_folders') self.initial_ignored_folders = self.current_ignored_folders self.setCurrentIndex(1 if msg else 0)
def __init__(self, device_settings, all_formats, supports_subdirs, must_read_metadata, supports_use_author_sort, extra_customization_message, device, extra_customization_choices=None, parent=None): QTabWidget.__init__(self, parent) self._device = weakref.ref(device) self.device_settings = device_settings self.all_formats = set(all_formats) self.supports_subdirs = supports_subdirs self.must_read_metadata = must_read_metadata self.supports_use_author_sort = supports_use_author_sort self.extra_customization_message = extra_customization_message self.extra_customization_choices = extra_customization_choices try: self.device_name = device.get_gui_name() except TypeError: self.device_name = getattr(device, 'gui_name', None) or _('Device') if device.USER_CAN_ADD_NEW_FORMATS: self.all_formats = set(self.all_formats) | set(BOOK_EXTENSIONS) self.base = QWidget(self) # self.insertTab(0, self.base, _('Configure %s') % self.device.current_friendly_name) self.insertTab(0, self.base, _("File formats")) l = self.base.l = QGridLayout(self.base) self.base.setLayout(l) self.formats = FormatsConfig(self.all_formats, device_settings.format_map) if device.HIDE_FORMATS_CONFIG_BOX: self.formats.hide() self.opt_use_subdirs = create_checkbox( _("Use sub-directories"), _('Place files in sub-directories if the device supports them'), device_settings.use_subdirs ) self.opt_read_metadata = create_checkbox( _("Read metadata from files on device"), _('Read metadata from files on device'), device_settings.read_metadata ) self.template = TemplateConfig(device_settings.save_template) self.opt_use_author_sort = create_checkbox( _("Use author sort for author"), _("Use author sort for author"), device_settings.read_metadata ) self.opt_use_author_sort.setObjectName("opt_use_author_sort") self.base.la = la = QLabel(_( 'Choose the formats to send to the %s')%self.device_name) la.setWordWrap(True) l.addWidget(la, 1, 0, 1, 1) l.addWidget(self.formats, 2, 0, 1, 1) l.addWidget(self.opt_read_metadata, 3, 0, 1, 1) l.addWidget(self.opt_use_subdirs, 4, 0, 1, 1) l.addWidget(self.opt_use_author_sort, 5, 0, 1, 1) l.addWidget(self.template, 6, 0, 1, 1) l.setRowStretch(2, 10) if device.HIDE_FORMATS_CONFIG_BOX: self.formats.hide() if supports_subdirs: self.opt_use_subdirs.setChecked(device_settings.use_subdirs) else: self.opt_use_subdirs.hide() if not must_read_metadata: self.opt_read_metadata.setChecked(device_settings.read_metadata) else: self.opt_read_metadata.hide() if supports_use_author_sort: self.opt_use_author_sort.setChecked(device_settings.use_author_sort) else: self.opt_use_author_sort.hide() self.extra_tab = ExtraCustomization(self.extra_customization_message, self.extra_customization_choices, self.device_settings) # Only display the extra customization tab if there are options on it. if self.extra_tab.has_extra_customizations: self.addTab(self.extra_tab, _('Extra customization')) self.setCurrentIndex(0)