mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add ability to remove a format to bulk metadata edit dialog
This commit is contained in:
parent
58e97405fc
commit
5d91dfe0f7
@ -29,6 +29,11 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
|||||||
id, name = i
|
id, name = i
|
||||||
self.series.addItem(name)
|
self.series.addItem(name)
|
||||||
|
|
||||||
|
for f in self.db.all_formats():
|
||||||
|
self.remove_format.addItem(f)
|
||||||
|
|
||||||
|
self.remove_format.setCurrentIndex(-1)
|
||||||
|
|
||||||
self.series.lineEdit().setText('')
|
self.series.lineEdit().setText('')
|
||||||
QObject.connect(self.series, SIGNAL('currentIndexChanged(int)'), self.series_changed)
|
QObject.connect(self.series, SIGNAL('currentIndexChanged(int)'), self.series_changed)
|
||||||
QObject.connect(self.series, SIGNAL('editTextChanged(QString)'), self.series_changed)
|
QObject.connect(self.series, SIGNAL('editTextChanged(QString)'), self.series_changed)
|
||||||
@ -66,7 +71,11 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
|||||||
self.db.unapply_tags(id, remove_tags)
|
self.db.unapply_tags(id, remove_tags)
|
||||||
if self.write_series:
|
if self.write_series:
|
||||||
self.db.set_series(id, qstring_to_unicode(self.series.currentText()))
|
self.db.set_series(id, qstring_to_unicode(self.series.currentText()))
|
||||||
self.changed = True
|
|
||||||
|
if self.remove_format.currentIndex() > -1:
|
||||||
|
self.db.remove_format(id, unicode(self.remove_format.currentText()), index_is_id=True)
|
||||||
|
|
||||||
|
self.changed = True
|
||||||
|
|
||||||
def series_changed(self):
|
def series_changed(self):
|
||||||
self.write_series = True
|
self.write_series = True
|
||||||
|
@ -211,6 +211,19 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="1" >
|
||||||
|
<widget class="QComboBox" name="remove_format" />
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0" >
|
||||||
|
<widget class="QLabel" name="label_5" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Remove &format:</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy" >
|
||||||
|
<cstring>remove_format</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -570,6 +570,12 @@ class LibraryDatabase2(LibraryDatabase):
|
|||||||
p.loadFromData(data)
|
p.loadFromData(data)
|
||||||
p.save(path)
|
p.save(path)
|
||||||
|
|
||||||
|
def all_formats(self):
|
||||||
|
formats = self.conn.execute('SELECT format from data').fetchall()
|
||||||
|
if not formats:
|
||||||
|
return set([])
|
||||||
|
return set([f[0] for f in formats])
|
||||||
|
|
||||||
def formats(self, index, index_is_id=False):
|
def formats(self, index, index_is_id=False):
|
||||||
''' Return available formats as a comma separated list or None if htere are no available formats '''
|
''' Return available formats as a comma separated list or None if htere are no available formats '''
|
||||||
id = index if index_is_id else self.id(index)
|
id = index if index_is_id else self.id(index)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user