Fix #2101116 [Match book on device: Tabbing doesn't select book](https://bugs.launchpad.net/calibre/+bug/2101116)

This commit is contained in:
Kovid Goyal 2025-03-13 14:51:54 +05:30
parent 59f640f122
commit bc81cd90ce
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -87,6 +87,7 @@ class MatchBooks(QDialog, Ui_MatchBooks):
self.books_table.setHorizontalHeaderItem(2, t) self.books_table.setHorizontalHeaderItem(2, t)
self.books_table_header_height = self.books_table.height() self.books_table_header_height = self.books_table.height()
self.books_table.cellDoubleClicked.connect(self.book_doubleclicked) self.books_table.cellDoubleClicked.connect(self.book_doubleclicked)
self.books_table.selectionModel().selectionChanged.connect(self.selection_changed)
self.books_table.cellClicked.connect(self.book_clicked) self.books_table.cellClicked.connect(self.book_clicked)
self.books_table.sortByColumn(0, Qt.SortOrder.AscendingOrder) self.books_table.sortByColumn(0, Qt.SortOrder.AscendingOrder)
@ -173,6 +174,12 @@ class MatchBooks(QDialog, Ui_MatchBooks):
self.books_table.setColumnWidth(c, w) self.books_table.setColumnWidth(c, w)
self.save_state() self.save_state()
def selection_changed(self):
x = self.books_table.selectedIndexes()
if x:
id_ = x[0].data(Qt.ItemDataRole.UserRole)
self.current_library_book_id = id_
def book_clicked(self, row, column): def book_clicked(self, row, column):
self.book_selected = True self.book_selected = True
id_ = int(self.books_table.item(row, 0).data(Qt.ItemDataRole.UserRole)) id_ = int(self.books_table.item(row, 0).data(Qt.ItemDataRole.UserRole))