mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add Select default and Set as default buttons to Configure metadata download screen to allow a user defined subset of fields to quickly restore to
This commit is contained in:
parent
cf8e89aed5
commit
388f2a0131
@ -21,6 +21,7 @@ from calibre.ebooks.metadata import check_isbn
|
|||||||
msprefs = JSONConfig('metadata_sources/global.json')
|
msprefs = JSONConfig('metadata_sources/global.json')
|
||||||
msprefs.defaults['txt_comments'] = False
|
msprefs.defaults['txt_comments'] = False
|
||||||
msprefs.defaults['ignore_fields'] = []
|
msprefs.defaults['ignore_fields'] = []
|
||||||
|
msprefs.defaults['user_default_ignore_fields'] = []
|
||||||
msprefs.defaults['max_tags'] = 20
|
msprefs.defaults['max_tags'] = 20
|
||||||
msprefs.defaults['wait_after_first_identify_result'] = 30 # seconds
|
msprefs.defaults['wait_after_first_identify_result'] = 30 # seconds
|
||||||
msprefs.defaults['wait_after_first_cover_result'] = 60 # seconds
|
msprefs.defaults['wait_after_first_cover_result'] = 60 # seconds
|
||||||
|
@ -224,6 +224,20 @@ class FieldsModel(QAbstractListModel): # {{{
|
|||||||
Qt.Unchecked])
|
Qt.Unchecked])
|
||||||
msprefs['ignore_fields'] = list(ignored_fields.union(changed))
|
msprefs['ignore_fields'] = list(ignored_fields.union(changed))
|
||||||
|
|
||||||
|
def user_default_state(self, field):
|
||||||
|
return (Qt.Unchecked if field in msprefs.get('user_default_ignore_fields',[])
|
||||||
|
else Qt.Checked)
|
||||||
|
|
||||||
|
def select_user_defaults(self):
|
||||||
|
self.overrides = dict([(f, self.user_default_state(f)) for f in self.fields])
|
||||||
|
self.reset()
|
||||||
|
|
||||||
|
def commit_user_defaults(self):
|
||||||
|
default_ignored_fields = set([x for x in msprefs['user_default_ignore_fields'] if x not in
|
||||||
|
self.overrides])
|
||||||
|
changed = set([k for k, v in self.overrides.iteritems() if v ==
|
||||||
|
Qt.Unchecked])
|
||||||
|
msprefs['user_default_ignore_fields'] = list(default_ignored_fields.union(changed))
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
@ -286,6 +300,9 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
self.select_all_button.clicked.connect(self.changed_signal)
|
self.select_all_button.clicked.connect(self.changed_signal)
|
||||||
self.clear_all_button.clicked.connect(self.fields_model.clear_all)
|
self.clear_all_button.clicked.connect(self.fields_model.clear_all)
|
||||||
self.clear_all_button.clicked.connect(self.changed_signal)
|
self.clear_all_button.clicked.connect(self.changed_signal)
|
||||||
|
self.select_default_button.clicked.connect(self.fields_model.select_user_defaults)
|
||||||
|
self.select_default_button.clicked.connect(self.changed_signal)
|
||||||
|
self.set_as_default_button.clicked.connect(self.fields_model.commit_user_defaults)
|
||||||
|
|
||||||
def configure_plugin(self):
|
def configure_plugin(self):
|
||||||
for index in self.sources_view.selectionModel().selectedRows():
|
for index in self.sources_view.selectionModel().selectedRows():
|
||||||
|
@ -102,6 +102,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QPushButton" name="select_default_button">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Select default</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QPushButton" name="set_as_default_button">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Set as default</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user