Fix regression causing entries to remain grayed out in the device books list after deletion

This commit is contained in:
Kovid Goyal 2008-09-03 10:06:54 -07:00
parent a70ac94b6a
commit 201f7bd569
2 changed files with 9 additions and 9 deletions

View File

@ -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))

View File

@ -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