Fix for remove from update & rejects lists when lower selected first.

This commit is contained in:
Jim Miller 2022-09-09 10:08:28 -05:00
parent 031b9052d1
commit 4c64b406df

View file

@ -1036,6 +1036,7 @@ class StoryListTableWidget(QTableWidget):
def remove_selected_rows(self): def remove_selected_rows(self):
self.setFocus() self.setFocus()
rows = self.selectionModel().selectedRows() rows = self.selectionModel().selectedRows()
rows = sorted(rows, key=lambda x: x.row(), reverse=True)
if len(rows) == 0: if len(rows) == 0:
return return
message = '<p>'+_('Are you sure you want to remove this book from the list?') message = '<p>'+_('Are you sure you want to remove this book from the list?')
@ -1044,7 +1045,7 @@ class StoryListTableWidget(QTableWidget):
if not confirm(message,'fff_delete_item', self): if not confirm(message,'fff_delete_item', self):
return return
first_sel_row = self.currentRow() first_sel_row = self.currentRow()
for selrow in reversed(rows): for selrow in rows:
self.removeRow(selrow.row()) self.removeRow(selrow.row())
if first_sel_row < self.rowCount(): if first_sel_row < self.rowCount():
self.select_and_scroll_to_row(first_sel_row) self.select_and_scroll_to_row(first_sel_row)
@ -1112,6 +1113,7 @@ class RejectListTableWidget(QTableWidget):
def remove_selected_rows(self): def remove_selected_rows(self):
self.setFocus() self.setFocus()
rows = self.selectionModel().selectedRows() rows = self.selectionModel().selectedRows()
rows = sorted(rows, key=lambda x: x.row(), reverse=True)
if len(rows) == 0: if len(rows) == 0:
return return
message = '<p>'+_('Are you sure you want to remove this URL from the list?') message = '<p>'+_('Are you sure you want to remove this URL from the list?')
@ -1120,7 +1122,7 @@ class RejectListTableWidget(QTableWidget):
if not confirm(message,'fff_rejectlist_delete_item_again', self): if not confirm(message,'fff_rejectlist_delete_item_again', self):
return return
first_sel_row = self.currentRow() first_sel_row = self.currentRow()
for selrow in reversed(rows): for selrow in rows:
self.removeRow(selrow.row()) self.removeRow(selrow.row())
if first_sel_row < self.rowCount(): if first_sel_row < self.rowCount():
self.select_and_scroll_to_row(first_sel_row) self.select_and_scroll_to_row(first_sel_row)