mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge branch 'master' of https://github.com/cbhaley/calibre
This commit is contained in:
commit
84ff9d957c
@ -202,13 +202,14 @@ class TemplateHighlighter(QSyntaxHighlighter):
|
||||
class TemplateDialog(QDialog, Ui_TemplateDialog):
|
||||
|
||||
def __init__(self, parent, text, mi=None, fm=None, color_field=None,
|
||||
icon_field_key=None, icon_rule_kind=None):
|
||||
icon_field_key=None, icon_rule_kind=None, doing_emblem=False):
|
||||
QDialog.__init__(self, parent)
|
||||
Ui_TemplateDialog.__init__(self)
|
||||
self.setupUi(self)
|
||||
|
||||
self.coloring = color_field is not None
|
||||
self.iconing = icon_field_key is not None
|
||||
self.embleming = doing_emblem
|
||||
|
||||
cols = []
|
||||
if fm is not None:
|
||||
@ -229,8 +230,14 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
|
||||
for n1, k1 in cols:
|
||||
self.colored_field.addItem(n1, k1)
|
||||
self.colored_field.setCurrentIndex(self.colored_field.findData(color_field))
|
||||
elif self.iconing:
|
||||
elif self.iconing or self.embleming:
|
||||
self.icon_layout.setVisible(True)
|
||||
if self.embleming:
|
||||
self.icon_kind_label.setVisible(False)
|
||||
self.icon_kind.setVisible(False)
|
||||
self.icon_chooser_label.setVisible(False)
|
||||
self.icon_field.setVisible(False)
|
||||
|
||||
for n1, k1 in cols:
|
||||
self.icon_field.addItem(n1, k1)
|
||||
self.icon_file_names = []
|
||||
@ -244,15 +251,16 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
|
||||
self.icon_file_names.sort(key=sort_key)
|
||||
self.update_filename_box()
|
||||
|
||||
dex = 0
|
||||
from calibre.gui2.preferences.coloring import icon_rule_kinds
|
||||
for i,tup in enumerate(icon_rule_kinds):
|
||||
txt,val = tup
|
||||
self.icon_kind.addItem(txt, userData=(val))
|
||||
if val == icon_rule_kind:
|
||||
dex = i
|
||||
self.icon_kind.setCurrentIndex(dex)
|
||||
self.icon_field.setCurrentIndex(self.icon_field.findData(icon_field_key))
|
||||
if self.iconing:
|
||||
dex = 0
|
||||
from calibre.gui2.preferences.coloring import icon_rule_kinds
|
||||
for i,tup in enumerate(icon_rule_kinds):
|
||||
txt,val = tup
|
||||
self.icon_kind.addItem(txt, userData=(val))
|
||||
if val == icon_rule_kind:
|
||||
dex = i
|
||||
self.icon_kind.setCurrentIndex(dex)
|
||||
self.icon_field.setCurrentIndex(self.icon_field.findData(icon_field_key))
|
||||
|
||||
if mi:
|
||||
self.mi = mi
|
||||
@ -433,6 +441,8 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
|
||||
unicode(self.icon_field.itemData(
|
||||
self.icon_field.currentIndex()) or ''),
|
||||
txt)
|
||||
elif self.embleming:
|
||||
self.rule = ('icon', 'title', txt)
|
||||
else:
|
||||
self.rule = ('', txt)
|
||||
QDialog.accept(self)
|
||||
|
@ -71,7 +71,7 @@
|
||||
<item row="0" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout">
|
||||
<item>
|
||||
<widget class="QLabel">
|
||||
<widget class="QLabel" name="icon_kind_label">
|
||||
<property name="text">
|
||||
<string>Kind:</string>
|
||||
</property>
|
||||
|
@ -683,7 +683,7 @@ class RulesModel(QAbstractListModel): # {{{
|
||||
rule = template
|
||||
self.rules.append(('color', col, rule))
|
||||
else:
|
||||
self.rule_kind = 'icon'
|
||||
self.rule_kind = 'icon' if pref_name == 'column_icon_rules' else 'emblem'
|
||||
rules = list(prefs[pref_name])
|
||||
self.rules = []
|
||||
for kind, col, template in rules:
|
||||
@ -772,6 +772,11 @@ class RulesModel(QAbstractListModel): # {{{
|
||||
<p>Advanced Rule for column <b>%(col)s</b>:
|
||||
<pre>%(rule)s</pre>
|
||||
''')%dict(col=col, rule=prepare_string_for_xml(rule))
|
||||
elif self.rule_kind == 'emblem':
|
||||
return _('''
|
||||
<p>Advanced Rule:
|
||||
<pre>%(rule)s</pre>
|
||||
''')%dict(rule=prepare_string_for_xml(rule))
|
||||
else:
|
||||
return _('''
|
||||
<p>Advanced Rule: set <b>%(typ)s</b> for column <b>%(col)s</b>:
|
||||
@ -946,7 +951,10 @@ class EditRules(QWidget): # {{{
|
||||
self.rules_view.scrollTo(idx)
|
||||
self.changed.emit()
|
||||
else:
|
||||
td = TemplateDialog(self, '', mi=self.mi, fm=self.fm, icon_field_key='')
|
||||
if self.pref_name == 'cover_grid_icon_rules':
|
||||
td = TemplateDialog(self, '', mi=self.mi, fm=self.fm, doing_emblem=True)
|
||||
else:
|
||||
td = TemplateDialog(self, '', mi=self.mi, fm=self.fm, icon_field_key='')
|
||||
if td.exec_() == td.Accepted:
|
||||
print(td.rule)
|
||||
typ, col, r = td.rule
|
||||
@ -965,6 +973,8 @@ class EditRules(QWidget): # {{{
|
||||
d.apply_rule(kind, col, rule)
|
||||
elif self.pref_name == 'column_color_rules':
|
||||
d = TemplateDialog(self, rule, mi=self.mi, fm=self.fm, color_field=col)
|
||||
elif self.pref_name == 'cover_grid_icon_rules':
|
||||
d = TemplateDialog(self, rule, mi=self.mi, fm=self.fm, doing_emblem=True)
|
||||
else:
|
||||
d = TemplateDialog(self, rule, mi=self.mi, fm=self.fm, icon_field_key=col,
|
||||
icon_rule_kind=kind)
|
||||
|
Loading…
x
Reference in New Issue
Block a user