mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix regression causing entries to remain grayed out in the device books list after deletion
This commit is contained in:
parent
a70ac94b6a
commit
201f7bd569
@ -559,17 +559,17 @@ class DeviceBooksModel(BooksModel):
|
||||
self.marked_for_deletion = {}
|
||||
|
||||
|
||||
def mark_for_deletion(self, id, rows):
|
||||
self.marked_for_deletion[id] = self.indices(rows)
|
||||
def mark_for_deletion(self, job, rows):
|
||||
self.marked_for_deletion[job] = self.indices(rows)
|
||||
for row in rows:
|
||||
indices = self.row_indices(row)
|
||||
self.emit(SIGNAL('dataChanged(QModelIndex, QModelIndex)'), indices[0], indices[-1])
|
||||
|
||||
|
||||
def deletion_done(self, id, succeeded=True):
|
||||
if not self.marked_for_deletion.has_key(id):
|
||||
def deletion_done(self, job, succeeded=True):
|
||||
if not self.marked_for_deletion.has_key(job):
|
||||
return
|
||||
rows = self.marked_for_deletion.pop(id)
|
||||
rows = self.marked_for_deletion.pop(job)
|
||||
for row in rows:
|
||||
if not succeeded:
|
||||
indices = self.row_indices(self.index(row, 0))
|
||||
|
@ -571,9 +571,9 @@ class Main(MainWindow, Ui_MainWindow):
|
||||
else:
|
||||
view = self.memory_view if self.stack.currentIndex() == 1 else self.card_view
|
||||
paths = view.model().paths(rows)
|
||||
id = self.remove_paths(paths)
|
||||
self.delete_memory[id] = (paths, view.model())
|
||||
view.model().mark_for_deletion(id, rows)
|
||||
job = self.remove_paths(paths)
|
||||
self.delete_memory[job] = (paths, view.model())
|
||||
view.model().mark_for_deletion(job, rows)
|
||||
self.status_bar.showMessage(_('Deleting books from device.'), 1000)
|
||||
|
||||
def remove_paths(self, paths):
|
||||
@ -584,7 +584,7 @@ class Main(MainWindow, Ui_MainWindow):
|
||||
Called once deletion is done on the device
|
||||
'''
|
||||
for view in (self.memory_view, self.card_view):
|
||||
view.model().deletion_done(id, bool(job.exception))
|
||||
view.model().deletion_done(job, bool(job.exception))
|
||||
if job.exception is not None:
|
||||
self.device_job_exception(job)
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user