Skip to content

Commit 78e0db6

Browse files
committed
Fix accidental removal of completion from series and publisher delegates
1 parent 58b65e7 commit 78e0db6

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

src/calibre/gui2/library/delegates.py

+5-14
Original file line numberDiff line numberDiff line change
@@ -342,28 +342,18 @@ def set_editor_data(self, editor, index):
342342
class TextDelegate(StyledItemDelegate, UpdateEditorGeometry, EditableTextDelegate): # {{{
343343

344344
use_title_sort = False
345-
346-
def __init__(self, parent):
347-
'''
348-
Delegate for text data. If auto_complete_function needs to return a list
349-
of text items to auto-complete with. If the function is None no
350-
auto-complete will be used.
351-
'''
352-
StyledItemDelegate.__init__(self, parent)
353-
self.auto_complete_function = None
354-
355-
def set_auto_complete_function(self, f):
356-
self.auto_complete_function = f
345+
auto_complete_function_name = ''
357346

358347
def create_editor(self, parent, option, index):
359-
if self.auto_complete_function:
348+
db = index.model().db
349+
if self.auto_complete_function_name and (f := getattr(db, self.auto_complete_function_name, None)):
360350
if self.use_title_sort:
361351
editor = EditWithComplete(parent, sort_func=title_sort)
362352
else:
363353
editor = EditWithComplete(parent)
364354
editor.set_separator(None)
365355
editor.set_clear_button_enabled(False)
366-
complete_items = [i[1] for i in self.auto_complete_function()]
356+
complete_items = [i[1] for i in f()]
367357
editor.update_items_cache(complete_items)
368358
else:
369359
editor = EnLineEdit(parent)
@@ -382,6 +372,7 @@ def setModelData(self, editor, model, index):
382372
class SeriesDelegate(TextDelegate): # {{{
383373

384374
use_title_sort = True
375+
auto_complete_function_name = 'all_series'
385376

386377
def initStyleOption(self, option, index):
387378
TextDelegate.initStyleOption(self, option, index)

src/calibre/gui2/pin_columns.py

+1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def create_delegates(self):
8888
self.cc_names_delegate = CompleteDelegate(self, '&', 'all_custom', True)
8989
self.series_delegate = SeriesDelegate(self)
9090
self.publisher_delegate = TextDelegate(self)
91+
self.publisher_delegate.auto_complete_function_name = 'all_publishers'
9192
self.text_delegate = TextDelegate(self)
9293
self.cc_text_delegate = CcTextDelegate(self)
9394
self.cc_series_delegate = CcSeriesDelegate(self)

0 commit comments

Comments
 (0)