diff --git a/src/calibre/gui2/custom_column_widgets.py b/src/calibre/gui2/custom_column_widgets.py index 2c5b274d26..35d9f04e1f 100644 --- a/src/calibre/gui2/custom_column_widgets.py +++ b/src/calibre/gui2/custom_column_widgets.py @@ -320,7 +320,23 @@ class BulkDateTime(BulkBase, DateTime): pass class BulkText(BulkBase, Text): - pass + + def initialize(self, book_ids): + val = self.get_initial_value(book_ids) + self.initial_val = val = self.normalize_db_val(val) + if self.col_metadata['is_multiple']: + self.setter(val) + self.widgets[1].update_tags_cache(self.all_values) + else: + idx = None + for i, c in enumerate(self.all_values): + if c == val: + idx = i + self.widgets[1].addItem(c) + self.widgets[1].setEditText('') + if idx is not None: + self.widgets[1].setCurrentIndex(idx) + bulk_widgets = { 'bool' : BulkBool, diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 10c7387423..788c8681a6 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -3,7 +3,6 @@ __copyright__ = '2008, Kovid Goyal ' '''Dialog to edit metadata in bulk''' -import sip from PyQt4.QtCore import SIGNAL, QObject from PyQt4.QtGui import QDialog, QGridLayout @@ -54,7 +53,6 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.custom_column_widgets, self.__cc_spacers = populate_bulk_metadata_page( layout, self.db, self.ids, w) - #sip.delete(w.layout()) w.setLayout(layout) self.__custom_col_layouts = [layout] ans = self.custom_column_widgets @@ -154,6 +152,9 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.db.set_authors(id, new_authors, notify=False) self.changed = True + for w in getattr(self, 'custom_column_widgets', []): + w.commit(self.ids) + def series_changed(self): self.write_series = True