mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Reset selection in bulk metadata edit
This commit is contained in:
parent
308e6af73f
commit
122c2deffc
@ -173,6 +173,8 @@ class EditMetadataAction(InterfaceAction):
|
|||||||
'''
|
'''
|
||||||
rows = [r.row() for r in \
|
rows = [r.row() for r in \
|
||||||
self.gui.library_view.selectionModel().selectedRows()]
|
self.gui.library_view.selectionModel().selectedRows()]
|
||||||
|
db = self.gui.library_view.model().db
|
||||||
|
ids = [db.id(r) for r in rows]
|
||||||
if not rows or len(rows) == 0:
|
if not rows or len(rows) == 0:
|
||||||
d = error_dialog(self.gui, _('Cannot edit metadata'),
|
d = error_dialog(self.gui, _('Cannot edit metadata'),
|
||||||
_('No books selected'))
|
_('No books selected'))
|
||||||
@ -191,6 +193,7 @@ class EditMetadataAction(InterfaceAction):
|
|||||||
self.gui.tags_view.recount()
|
self.gui.tags_view.recount()
|
||||||
if self.gui.cover_flow:
|
if self.gui.cover_flow:
|
||||||
self.gui.cover_flow.dataChanged()
|
self.gui.cover_flow.dataChanged()
|
||||||
|
self.gui.library_view.select_rows_with_id(ids)
|
||||||
|
|
||||||
# Merge books {{{
|
# Merge books {{{
|
||||||
def merge_books(self, safe_merge=False):
|
def merge_books(self, safe_merge=False):
|
||||||
|
@ -479,6 +479,21 @@ class BooksView(QTableView): # {{{
|
|||||||
sm = self.selectionModel()
|
sm = self.selectionModel()
|
||||||
sm.select(index, sm.ClearAndSelect|sm.Rows)
|
sm.select(index, sm.ClearAndSelect|sm.Rows)
|
||||||
|
|
||||||
|
def select_rows_with_id(self, ids):
|
||||||
|
'''
|
||||||
|
Loop through the visible rows, selecting any that have db_id in ids
|
||||||
|
'''
|
||||||
|
ids = set(ids)
|
||||||
|
selmode = self.selectionMode()
|
||||||
|
self.setSelectionMode(QAbstractItemView.MultiSelection)
|
||||||
|
self.clearSelection()
|
||||||
|
db = self.model().db
|
||||||
|
loc = db.FIELD_MAP['id']
|
||||||
|
for i in range(0, len(db.data)):
|
||||||
|
if db.get_property(i, index_is_id=False, loc=loc) in ids:
|
||||||
|
self.selectRow(i)
|
||||||
|
self.setSelectionMode(selmode)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
self._model.close()
|
self._model.close()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user