mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Open store when selecting search result.
This commit is contained in:
parent
00fd94e033
commit
a827ea3ada
@ -39,6 +39,7 @@ class SearchDialog(QDialog, Ui_Dialog):
|
||||
|
||||
self.search.clicked.connect(self.do_search)
|
||||
self.checker.timeout.connect(self.get_results)
|
||||
self.results_view.activated.connect(self.open_store)
|
||||
|
||||
def do_search(self, checked=False):
|
||||
# Stop all running threads.
|
||||
@ -85,6 +86,10 @@ class SearchDialog(QDialog, Ui_Dialog):
|
||||
|
||||
self.results_view.model().add_result(result)
|
||||
|
||||
def open_store(self, index):
|
||||
result = self.results_view.model().get_result(index)
|
||||
self.store_plugins[result.store].open(self, result.item_data)
|
||||
|
||||
|
||||
class SearchThread(Thread):
|
||||
|
||||
@ -133,6 +138,13 @@ class Matches(QAbstractItemModel):
|
||||
self.reset()
|
||||
#self.dataChanged.emit(self.createIndex(self.rowCount() - 1, 0), self.createIndex(self.rowCount() - 1, self.columnCount()))
|
||||
|
||||
def get_result(self, index):
|
||||
row = index.row()
|
||||
if row < len(self.matches):
|
||||
return self.matches[row]
|
||||
else:
|
||||
return None
|
||||
|
||||
def index(self, row, column, parent=QModelIndex()):
|
||||
return self.createIndex(row, column)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user