def __init__(self, shortcuts, parent=None): QDialog.__init__(self, parent) self.setupUi(self) opts = config().parse() self.opt_remember_window_size.setChecked(opts.remember_window_size) self.opt_remember_current_page.setChecked(opts.remember_current_page) self.opt_wheel_flips_pages.setChecked(opts.wheel_flips_pages) self.opt_page_flip_duration.setValue(opts.page_flip_duration) fms = opts.font_magnification_step if fms < 0.01 or fms > 1: fms = 0.2 self.opt_font_mag_step.setValue(int(fms * 100)) self.opt_line_scrolling_stops_on_pagebreaks.setChecked( opts.line_scrolling_stops_on_pagebreaks) self.serif_family.setCurrentFont(QFont(opts.serif_family)) self.sans_family.setCurrentFont(QFont(opts.sans_family)) self.mono_family.setCurrentFont(QFont(opts.mono_family)) self.default_font_size.setValue(opts.default_font_size) self.mono_font_size.setValue(opts.mono_font_size) self.standard_font.setCurrentIndex({ 'serif': 0, 'sans': 1, 'mono': 2 }[opts.standard_font]) self.css.setPlainText(opts.user_css) self.css.setToolTip( _('Set the user CSS stylesheet. This can be used to customize the look of all books.' )) self.max_fs_width.setValue(opts.max_fs_width) with zipfile.ZipFile( P('viewer/hyphenate/patterns.zip', allow_user_override=False), 'r') as zf: pats = [x.split('.')[0].replace('-', '_') for x in zf.namelist()] names = list(map(get_language, pats)) pmap = {} for i in range(len(pats)): pmap[names[i]] = pats[i] for x in sorted(names): self.hyphenate_default_lang.addItem(x, QVariant(pmap[x])) try: idx = pats.index(opts.hyphenate_default_lang) except ValueError: idx = pats.index('en_us') idx = self.hyphenate_default_lang.findText(names[idx]) self.hyphenate_default_lang.setCurrentIndex(idx) self.hyphenate.setChecked(opts.hyphenate) self.hyphenate_default_lang.setEnabled(opts.hyphenate) self.shortcuts = shortcuts self.shortcut_config = ShortcutConfig(shortcuts, parent=self) p = self.tabs.widget(1) p.layout().addWidget(self.shortcut_config) self.opt_fit_images.setChecked(opts.fit_images) if isxp: self.hyphenate.setVisible(False) self.hyphenate_default_lang.setVisible(False) self.hyphenate_label.setVisible(False) self.opt_fullscreen_clock.setChecked(opts.fullscreen_clock)
def __init__(self, shortcuts, parent=None): QDialog.__init__(self, parent) self.setupUi(self) for x in ('text', 'background'): getattr(self, 'change_%s_color_button' % x).clicked.connect( partial(self.change_color, x, reset=False)) getattr(self, 'reset_%s_color_button' % x).clicked.connect( partial(self.change_color, x, reset=True)) self.css.setToolTip( _('Set the user CSS stylesheet. This can be used to customize the look of all books.' )) self.shortcuts = shortcuts self.shortcut_config = ShortcutConfig(shortcuts, parent=self) bb = self.buttonBox bb.button(bb.RestoreDefaults).clicked.connect(self.restore_defaults) with zipfile.ZipFile( P('viewer/hyphenate/patterns.zip', allow_user_override=False), 'r') as zf: pats = [x.split('.')[0].replace('-', '_') for x in zf.namelist()] names = list(map(get_language, pats)) pmap = {} for i in range(len(pats)): pmap[names[i]] = pats[i] for x in sorted(names): self.hyphenate_default_lang.addItem(x, QVariant(pmap[x])) self.hyphenate_pats = pats self.hyphenate_names = names p = self.tabs.widget(1) p.layout().addWidget(self.shortcut_config) if isxp: self.hyphenate.setVisible(False) self.hyphenate_default_lang.setVisible(False) self.hyphenate_label.setVisible(False) self.themes = load_themes() self.save_theme_button.clicked.connect(self.save_theme) self.load_theme_button.m = m = QMenu() self.load_theme_button.setMenu(m) m.triggered.connect(self.load_theme) self.delete_theme_button.m = m = QMenu() self.delete_theme_button.setMenu(m) m.triggered.connect(self.delete_theme) opts = config().parse() self.load_options(opts) self.init_load_themes() self.clear_search_history_button.clicked.connect( self.clear_search_history) self.resize(self.width(), min(self.height(), max(575, min_available_height() - 25)))