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
6c72be83c6
@ -50,6 +50,8 @@ class EnumValuesEdit(QDialog):
|
||||
|
||||
bbox = QVBoxLayout()
|
||||
bbox.addStretch(10)
|
||||
self.move_up_button= QToolButton()
|
||||
self.move_up_button.setIcon(QIcon.ic('arrow-up.png'))
|
||||
self.del_button = QToolButton()
|
||||
self.del_button.setIcon(QIcon.ic('trash.png'))
|
||||
self.del_button.setToolTip(_('Remove the currently selected value. The '
|
||||
@ -57,16 +59,14 @@ class EnumValuesEdit(QDialog):
|
||||
self.ins_button = QToolButton()
|
||||
self.ins_button.setIcon(QIcon.ic('plus.png'))
|
||||
self.ins_button.setToolTip(_('Add a new permissible value'))
|
||||
self.move_up_button= QToolButton()
|
||||
self.move_up_button.setIcon(QIcon.ic('arrow-up.png'))
|
||||
self.move_down_button= QToolButton()
|
||||
self.move_down_button.setIcon(QIcon.ic('arrow-down.png'))
|
||||
bbox.addWidget(self.move_up_button)
|
||||
bbox.addStretch(1)
|
||||
bbox.addWidget(self.del_button)
|
||||
bbox.addStretch(1)
|
||||
bbox.addWidget(self.ins_button)
|
||||
bbox.addStretch(1)
|
||||
bbox.addWidget(self.move_up_button)
|
||||
bbox.addStretch(1)
|
||||
bbox.addWidget(self.move_down_button)
|
||||
bbox.addStretch(10)
|
||||
l.addItem(bbox, 0, 0)
|
||||
|
@ -37,7 +37,7 @@ from calibre.gui2 import UNDEFINED_QDATETIME, FunctionDispatcher, error_dialog,
|
||||
from calibre.gui2.custom_column_widgets import populate_metadata_page
|
||||
from calibre.gui2.dialogs.metadata_bulk_ui import Ui_MetadataBulkDialog
|
||||
from calibre.gui2.dialogs.tag_editor import TagEditor
|
||||
from calibre.gui2.dialogs.template_line_editor import TemplateLineEditor
|
||||
from calibre.gui2.dialogs.template_dialog import TemplateDialog
|
||||
from calibre.gui2.widgets import LineEditECM, setup_status_actions, update_status_actions
|
||||
from calibre.startup import connect_lambda
|
||||
from calibre.utils.config import JSONConfig, dynamic, prefs, tweaks
|
||||
@ -749,8 +749,10 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
def prepare_search_and_replace(self):
|
||||
self.search_for.initialize('bulk_edit_search_for')
|
||||
self.replace_with.initialize('bulk_edit_replace_with')
|
||||
self.s_r_template.setLineEdit(TemplateLineEditor(self.s_r_template))
|
||||
self.s_r_template.initialize('bulk_edit_template')
|
||||
self.s_r_template.editTextChanged[native_string_type].connect(self.s_r_paint_results)
|
||||
self.s_r_edit_template_button.setIcon(QIcon.ic('edit_input.png'))
|
||||
self.s_r_edit_template_button.clicked.connect(self.s_r_edit_template_button_clicked)
|
||||
self.test_text.initialize('bulk_edit_test_test')
|
||||
self.all_fields = ['']
|
||||
self.writable_fields = ['']
|
||||
@ -858,7 +860,6 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
self.case_sensitive.stateChanged.connect(self.s_r_paint_results)
|
||||
self.s_r_src_ident.currentIndexChanged.connect(self.s_r_identifier_type_changed)
|
||||
self.s_r_dst_ident.textChanged.connect(self.s_r_paint_results)
|
||||
self.s_r_template.lost_focus.connect(self.s_r_template_changed)
|
||||
self.central_widget.setCurrentIndex(0)
|
||||
|
||||
self.search_for.completer().setCaseSensitivity(Qt.CaseSensitivity.CaseSensitive)
|
||||
@ -934,8 +935,20 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
def s_r_display_bounds_changed(self, i):
|
||||
self.s_r_search_field_changed(self.search_field.currentIndex())
|
||||
|
||||
def s_r_template_changed(self):
|
||||
self.s_r_search_field_changed(self.search_field.currentIndex())
|
||||
def s_r_edit_template_button_clicked(self):
|
||||
try:
|
||||
mi = []
|
||||
for c,_id in enumerate(self.ids):
|
||||
if c >= self.s_r_number_of_books:
|
||||
break
|
||||
mi.append(self.db.new_api.get_proxy_metadata(_id))
|
||||
except Exception as e:
|
||||
prints(f'TemplateLineEditor: exception fetching metadata: {str(e)}')
|
||||
mi = None
|
||||
t = TemplateDialog(self, self.s_r_template.text(), mi=mi)
|
||||
t.setWindowTitle(_('Edit search/replace template'))
|
||||
if t.exec():
|
||||
self.s_r_template.setText(t.rule[1])
|
||||
|
||||
def s_r_identifier_type_changed(self, idx):
|
||||
self.s_r_search_field_changed(self.search_field.currentIndex())
|
||||
@ -943,12 +956,14 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
|
||||
def s_r_search_field_changed(self, idx):
|
||||
self.s_r_template.setVisible(False)
|
||||
self.s_r_edit_template_button.setVisible(False)
|
||||
self.template_label.setVisible(False)
|
||||
self.s_r_src_ident_label.setVisible(False)
|
||||
self.s_r_src_ident.setVisible(False)
|
||||
if idx == 1: # Template
|
||||
self.s_r_template.setVisible(True)
|
||||
self.template_label.setVisible(True)
|
||||
self.s_r_edit_template_button.setVisible(True)
|
||||
elif self.s_r_sf_itemdata(idx) == 'identifiers':
|
||||
self.s_r_src_ident_label.setVisible(True)
|
||||
self.s_r_src_ident.setVisible(True)
|
||||
@ -1523,8 +1538,6 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
set_index(self.search_field, 'search_field')
|
||||
set_text(self.s_r_template, 's_r_template')
|
||||
|
||||
self.s_r_template_changed() # simulate gain/loss of focus
|
||||
|
||||
set_index(self.s_r_src_ident, 's_r_src_ident')
|
||||
set_text(self.s_r_dst_ident, 's_r_dst_ident')
|
||||
set_text(self.search_for, 'search_for')
|
||||
|
@ -984,6 +984,13 @@ as that of the first selected book.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QToolButton" name="s_r_edit_template_button">
|
||||
<property name="toolTip">
|
||||
<string>Click to open the template tester</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="xlabel_2">
|
||||
<property name="text">
|
||||
|
Loading…
x
Reference in New Issue
Block a user