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 = {}
|
self.marked_for_deletion = {}
|
||||||
|
|
||||||
|
|
||||||
def mark_for_deletion(self, id, rows):
|
def mark_for_deletion(self, job, rows):
|
||||||
self.marked_for_deletion[id] = self.indices(rows)
|
self.marked_for_deletion[job] = self.indices(rows)
|
||||||
for row in rows:
|
for row in rows:
|
||||||
indices = self.row_indices(row)
|
indices = self.row_indices(row)
|
||||||
self.emit(SIGNAL('dataChanged(QModelIndex, QModelIndex)'), indices[0], indices[-1])
|
self.emit(SIGNAL('dataChanged(QModelIndex, QModelIndex)'), indices[0], indices[-1])
|
||||||
|
|
||||||
|
|
||||||
def deletion_done(self, id, succeeded=True):
|
def deletion_done(self, job, succeeded=True):
|
||||||
if not self.marked_for_deletion.has_key(id):
|
if not self.marked_for_deletion.has_key(job):
|
||||||
return
|
return
|
||||||
rows = self.marked_for_deletion.pop(id)
|
rows = self.marked_for_deletion.pop(job)
|
||||||
for row in rows:
|
for row in rows:
|
||||||
if not succeeded:
|
if not succeeded:
|
||||||
indices = self.row_indices(self.index(row, 0))
|
indices = self.row_indices(self.index(row, 0))
|
||||||
|
@ -571,9 +571,9 @@ class Main(MainWindow, Ui_MainWindow):
|
|||||||
else:
|
else:
|
||||||
view = self.memory_view if self.stack.currentIndex() == 1 else self.card_view
|
view = self.memory_view if self.stack.currentIndex() == 1 else self.card_view
|
||||||
paths = view.model().paths(rows)
|
paths = view.model().paths(rows)
|
||||||
id = self.remove_paths(paths)
|
job = self.remove_paths(paths)
|
||||||
self.delete_memory[id] = (paths, view.model())
|
self.delete_memory[job] = (paths, view.model())
|
||||||
view.model().mark_for_deletion(id, rows)
|
view.model().mark_for_deletion(job, rows)
|
||||||
self.status_bar.showMessage(_('Deleting books from device.'), 1000)
|
self.status_bar.showMessage(_('Deleting books from device.'), 1000)
|
||||||
|
|
||||||
def remove_paths(self, paths):
|
def remove_paths(self, paths):
|
||||||
@ -584,7 +584,7 @@ class Main(MainWindow, Ui_MainWindow):
|
|||||||
Called once deletion is done on the device
|
Called once deletion is done on the device
|
||||||
'''
|
'''
|
||||||
for view in (self.memory_view, self.card_view):
|
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:
|
if job.exception is not None:
|
||||||
self.device_job_exception(job)
|
self.device_job_exception(job)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user