mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix restore defaults
This commit is contained in:
parent
d875710f01
commit
a7c8de3357
@ -89,11 +89,11 @@ class CreateColorScheme(QDialog):
|
|||||||
name = self.name.text()
|
name = self.name.text()
|
||||||
if not name or len(name) < 2 or not name.startswith('#'):
|
if not name or len(name) < 2 or not name.startswith('#'):
|
||||||
return error_dialog(self, _('Invalid name'), _(
|
return error_dialog(self, _('Invalid name'), _(
|
||||||
'The color scheme name %r is invalid. It must start with a # and be at least two characters long.') % name, show=True)
|
'The color scheme name "%s" is invalid. It must start with a # and be at least two characters long.') % name, show=True)
|
||||||
if name in self.existing_names:
|
if name in self.existing_names:
|
||||||
if not self.is_editing or name != self.scheme_name:
|
if not self.is_editing or name != self.scheme_name:
|
||||||
return error_dialog(self, _('Invalid name'), _(
|
return error_dialog(self, _('Invalid name'), _(
|
||||||
'A color scheme with the name %r already exists.') % name, show=True)
|
'A color scheme with the name "%s" already exists.') % name, show=True)
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
|
|
||||||
class CoverSettingsWidget(QWidget):
|
class CoverSettingsWidget(QWidget):
|
||||||
@ -103,6 +103,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
def __init__(self, mi=None, prefs=None, parent=None, for_global_prefs=False):
|
def __init__(self, mi=None, prefs=None, parent=None, for_global_prefs=False):
|
||||||
QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
self.ignore_changed = False
|
self.ignore_changed = False
|
||||||
|
self.for_global_prefs = for_global_prefs
|
||||||
|
|
||||||
self.l = l = QHBoxLayout(self)
|
self.l = l = QHBoxLayout(self)
|
||||||
self.setLayout(l)
|
self.setLayout(l)
|
||||||
@ -134,25 +135,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
l.addWidget(la, 0, 0, 1, -1)
|
l.addWidget(la, 0, 0, 1, -1)
|
||||||
self.colors_list = cl = QListWidget(cp)
|
self.colors_list = cl = QListWidget(cp)
|
||||||
l.addWidget(cl, 1, 0, 1, -1)
|
l.addWidget(cl, 1, 0, 1, -1)
|
||||||
disabled = set(prefs['disabled_color_themes'])
|
|
||||||
self.colors_map = OrderedDict()
|
self.colors_map = OrderedDict()
|
||||||
color_themes = prefs['color_themes'].copy()
|
|
||||||
color_themes.update(default_color_themes)
|
|
||||||
for name in sorted(color_themes, key=sort_key):
|
|
||||||
self.colors_map[name] = li = QListWidgetItem(name, cl)
|
|
||||||
li.setFlags(li.flags() | Qt.ItemIsUserCheckable)
|
|
||||||
li.setCheckState(Qt.Unchecked if name in disabled else Qt.Checked)
|
|
||||||
li.setData(Qt.UserRole, color_themes[name])
|
|
||||||
lu = prefs.get('last_used_colors')
|
|
||||||
if not for_global_prefs and lu in self.colors_map and self.colors_map[lu].checkState() == Qt.Checked:
|
|
||||||
self.colors_map[lu].setSelected(True)
|
|
||||||
else:
|
|
||||||
for name, li in self.colors_map.iteritems():
|
|
||||||
if li.checkState() == Qt.Checked:
|
|
||||||
li.setSelected(True)
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
next(self.colors_map.itervalues()).setSelected(True)
|
|
||||||
self.ncs = ncs = QPushButton(QIcon(I('plus.png')), _('&New color scheme'), cp)
|
self.ncs = ncs = QPushButton(QIcon(I('plus.png')), _('&New color scheme'), cp)
|
||||||
ncs.clicked.connect(self.create_color_scheme)
|
ncs.clicked.connect(self.create_color_scheme)
|
||||||
l.addWidget(ncs)
|
l.addWidget(ncs)
|
||||||
@ -181,22 +164,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
l.addWidget(la)
|
l.addWidget(la)
|
||||||
self.styles_list = sl = QListWidget(sp)
|
self.styles_list = sl = QListWidget(sp)
|
||||||
l.addWidget(sl)
|
l.addWidget(sl)
|
||||||
disabled = set(prefs['disabled_styles'])
|
|
||||||
self.style_map = OrderedDict()
|
self.style_map = OrderedDict()
|
||||||
for name in sorted(all_styles(), key=sort_key):
|
|
||||||
self.style_map[name] = li = QListWidgetItem(name, sl)
|
|
||||||
li.setFlags(li.flags() | Qt.ItemIsUserCheckable)
|
|
||||||
li.setCheckState(Qt.Unchecked if name in disabled else Qt.Checked)
|
|
||||||
lu = prefs.get('last_used_style')
|
|
||||||
if not for_global_prefs and lu in self.style_map and self.style_map[lu].checkState() == Qt.Checked:
|
|
||||||
self.style_map[lu].setSelected(True)
|
|
||||||
else:
|
|
||||||
for name, li in self.style_map.iteritems():
|
|
||||||
if li.checkState() == Qt.Checked:
|
|
||||||
li.setSelected(True)
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
next(self.style_map.itervalues()).setSelected(True)
|
|
||||||
|
|
||||||
self.font_page = fp = QWidget(st)
|
self.font_page = fp = QWidget(st)
|
||||||
st.addTab(fp, _('Fonts'))
|
st.addTab(fp, _('Fonts'))
|
||||||
@ -238,7 +206,7 @@ class CoverSettingsWidget(QWidget):
|
|||||||
heading = QLabel('<h2>' + title)
|
heading = QLabel('<h2>' + title)
|
||||||
setattr(tp, attr + '_heading', heading)
|
setattr(tp, attr + '_heading', heading)
|
||||||
l.addWidget(heading)
|
l.addWidget(heading)
|
||||||
la = QLabel(prefs[attr])
|
la = QLabel()
|
||||||
setattr(self, attr, la)
|
setattr(self, attr, la)
|
||||||
l.addWidget(la), la.setTextFormat(Qt.PlainText), la.setStyleSheet('QLabel {font-family: monospace}')
|
l.addWidget(la), la.setTextFormat(Qt.PlainText), la.setStyleSheet('QLabel {font-family: monospace}')
|
||||||
la.setWordWrap(True)
|
la.setWordWrap(True)
|
||||||
@ -282,6 +250,49 @@ class CoverSettingsWidget(QWidget):
|
|||||||
attr = '%s_font_size' % x
|
attr = '%s_font_size' % x
|
||||||
getattr(self, attr).setValue(prefs[attr])
|
getattr(self, attr).setValue(prefs[attr])
|
||||||
|
|
||||||
|
for x in ('title', 'subtitle', 'footer'):
|
||||||
|
x += '_template'
|
||||||
|
getattr(self, x).setText(prefs[x])
|
||||||
|
|
||||||
|
color_themes = prefs['color_themes'].copy()
|
||||||
|
color_themes.update(default_color_themes)
|
||||||
|
disabled = set(prefs['disabled_color_themes'])
|
||||||
|
self.colors_list.clear()
|
||||||
|
self.colors_map = {}
|
||||||
|
for name in sorted(color_themes, key=sort_key):
|
||||||
|
self.colors_map[name] = li = QListWidgetItem(name, self.colors_list)
|
||||||
|
li.setFlags(li.flags() | Qt.ItemIsUserCheckable)
|
||||||
|
li.setCheckState(Qt.Unchecked if name in disabled else Qt.Checked)
|
||||||
|
li.setData(Qt.UserRole, color_themes[name])
|
||||||
|
lu = prefs.get('last_used_colors')
|
||||||
|
if not self.for_global_prefs and lu in self.colors_map and self.colors_map[lu].checkState() == Qt.Checked:
|
||||||
|
self.colors_map[lu].setSelected(True)
|
||||||
|
else:
|
||||||
|
for name, li in self.colors_map.iteritems():
|
||||||
|
if li.checkState() == Qt.Checked:
|
||||||
|
li.setSelected(True)
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
next(self.colors_map.itervalues()).setSelected(True)
|
||||||
|
|
||||||
|
disabled = set(prefs['disabled_styles'])
|
||||||
|
self.styles_list.clear()
|
||||||
|
self.style_map.clear()
|
||||||
|
for name in sorted(all_styles(), key=sort_key):
|
||||||
|
self.style_map[name] = li = QListWidgetItem(name, self.styles_list)
|
||||||
|
li.setFlags(li.flags() | Qt.ItemIsUserCheckable)
|
||||||
|
li.setCheckState(Qt.Unchecked if name in disabled else Qt.Checked)
|
||||||
|
lu = prefs.get('last_used_style')
|
||||||
|
if not self.for_global_prefs and lu in self.style_map and self.style_map[lu].checkState() == Qt.Checked:
|
||||||
|
self.style_map[lu].setSelected(True)
|
||||||
|
else:
|
||||||
|
for name, li in self.style_map.iteritems():
|
||||||
|
if li.checkState() == Qt.Checked:
|
||||||
|
li.setSelected(True)
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
next(self.style_map.itervalues()).setSelected(True)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current_colors(self):
|
def current_colors(self):
|
||||||
for name, li in self.colors_map.iteritems():
|
for name, li in self.colors_map.iteritems():
|
||||||
@ -429,9 +440,9 @@ class CoverSettingsWidget(QWidget):
|
|||||||
return mi
|
return mi
|
||||||
|
|
||||||
def restore_defaults(self):
|
def restore_defaults(self):
|
||||||
# Dont delete custom color themes when restoring defaults
|
|
||||||
defaults = self.original_prefs.defaults.copy()
|
defaults = self.original_prefs.defaults.copy()
|
||||||
defaults['colors_themes'] = self.custom_colors
|
# Dont delete custom color themes when restoring defaults
|
||||||
|
defaults['color_themes'] = self.custom_colors
|
||||||
self.apply_prefs(defaults)
|
self.apply_prefs(defaults)
|
||||||
self.update_preview()
|
self.update_preview()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user