mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Prepare for device_collection editor
This commit is contained in:
parent
42c7734f72
commit
62210eb8ff
@ -11,7 +11,7 @@ from calibre.ebooks.metadata import title_sort
|
|||||||
|
|
||||||
class TagListEditor(QDialog, Ui_TagListEditor):
|
class TagListEditor(QDialog, Ui_TagListEditor):
|
||||||
|
|
||||||
def __init__(self, window, db, tag_to_match, category):
|
def __init__(self, window, db, tag_to_match, category, data, compare):
|
||||||
QDialog.__init__(self, window)
|
QDialog.__init__(self, window)
|
||||||
Ui_TagListEditor.__init__(self)
|
Ui_TagListEditor.__init__(self)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
@ -15,6 +15,7 @@ from PyQt4.Qt import Qt, QTreeView, QApplication, pyqtSignal, \
|
|||||||
QAbstractItemModel, QVariant, QModelIndex, QMenu, \
|
QAbstractItemModel, QVariant, QModelIndex, QMenu, \
|
||||||
QPushButton, QWidget, QItemDelegate
|
QPushButton, QWidget, QItemDelegate
|
||||||
|
|
||||||
|
from calibre.ebooks.metadata import title_sort
|
||||||
from calibre.gui2 import config, NONE
|
from calibre.gui2 import config, NONE
|
||||||
from calibre.utils.config import prefs
|
from calibre.utils.config import prefs
|
||||||
from calibre.library.field_metadata import TagsIcons
|
from calibre.library.field_metadata import TagsIcons
|
||||||
@ -680,7 +681,27 @@ class TagBrowserMixin(object): # {{{
|
|||||||
self.tags_view.recount()
|
self.tags_view.recount()
|
||||||
|
|
||||||
def do_tags_list_edit(self, tag, category):
|
def do_tags_list_edit(self, tag, category):
|
||||||
d = TagListEditor(self, self.library_view.model().db, tag, category)
|
db=self.library_view.model().db
|
||||||
|
if category == 'tags':
|
||||||
|
result = db.get_tags_with_ids()
|
||||||
|
compare = (lambda x,y:cmp(x.lower(), y.lower()))
|
||||||
|
elif category == 'series':
|
||||||
|
result = db.get_series_with_ids()
|
||||||
|
compare = (lambda x,y:cmp(title_sort(x).lower(), title_sort(y).lower()))
|
||||||
|
elif category == 'publisher':
|
||||||
|
result = db.get_publishers_with_ids()
|
||||||
|
compare = (lambda x,y:cmp(x.lower(), y.lower()))
|
||||||
|
else: # should be a custom field
|
||||||
|
self.cc_label = None
|
||||||
|
if category in db.field_metadata:
|
||||||
|
self.cc_label = db.field_metadata[category]['label']
|
||||||
|
result = self.db.get_custom_items_with_ids(label=self.cc_label)
|
||||||
|
else:
|
||||||
|
result = []
|
||||||
|
compare = (lambda x,y:cmp(x.lower(), y.lower()))
|
||||||
|
|
||||||
|
d = TagListEditor(self, db=db, tag_to_match=tag, category=category,
|
||||||
|
data=result, compare=compare)
|
||||||
d.exec_()
|
d.exec_()
|
||||||
if d.result() == d.Accepted:
|
if d.result() == d.Accepted:
|
||||||
# Clean up everything, as information could have changed for many books.
|
# Clean up everything, as information could have changed for many books.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user