mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-10-26 08:12:25 -04:00
Start live worker in viewer process
Needed for live loading of AI backend modules
This commit is contained in:
parent
31059991ef
commit
06b9c221e7
@ -428,6 +428,8 @@ class Lookup(QTabWidget):
|
|||||||
def _activate_llm_panel(self):
|
def _activate_llm_panel(self):
|
||||||
if self.llm_panel is None:
|
if self.llm_panel is None:
|
||||||
# Deferred import to avoid circular dependencies and improve startup time; import may be redundant
|
# Deferred import to avoid circular dependencies and improve startup time; import may be redundant
|
||||||
|
from calibre.live import start_worker
|
||||||
|
start_worker() # needed for live loading of AI backends
|
||||||
from calibre.gui2.viewer.llm import LLMPanel
|
from calibre.gui2.viewer.llm import LLMPanel
|
||||||
self.llm_panel = LLMPanel(self, viewer=self.viewer, lookup_widget=self)
|
self.llm_panel = LLMPanel(self, viewer=self.viewer, lookup_widget=self)
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,7 @@ from calibre.gui2.viewer.search import SearchPanel
|
|||||||
from calibre.gui2.viewer.toc import TOC, TOCSearch, TOCView
|
from calibre.gui2.viewer.toc import TOC, TOCSearch, TOCView
|
||||||
from calibre.gui2.viewer.toolbars import ActionsToolBar
|
from calibre.gui2.viewer.toolbars import ActionsToolBar
|
||||||
from calibre.gui2.viewer.web_view import WebView, get_path_for_name, set_book_path
|
from calibre.gui2.viewer.web_view import WebView, get_path_for_name, set_book_path
|
||||||
|
from calibre.live import async_stop_worker
|
||||||
from calibre.startup import connect_lambda
|
from calibre.startup import connect_lambda
|
||||||
from calibre.utils.date import utcnow
|
from calibre.utils.date import utcnow
|
||||||
from calibre.utils.img import image_from_path
|
from calibre.utils.img import image_from_path
|
||||||
@ -810,6 +811,7 @@ class EbookViewer(MainWindow):
|
|||||||
self.web_view.prepare_for_close()
|
self.web_view.prepare_for_close()
|
||||||
return
|
return
|
||||||
self.shutting_down = True
|
self.shutting_down = True
|
||||||
|
wait_for_worker = async_stop_worker()
|
||||||
self.search_widget.shutdown()
|
self.search_widget.shutdown()
|
||||||
self.web_view.shutdown()
|
self.web_view.shutdown()
|
||||||
try:
|
try:
|
||||||
@ -822,6 +824,7 @@ class EbookViewer(MainWindow):
|
|||||||
except Exception:
|
except Exception:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
wait_for_worker()
|
||||||
self.shutdown_done = True
|
self.shutdown_done = True
|
||||||
return MainWindow.closeEvent(self, ev)
|
return MainWindow.closeEvent(self, ev)
|
||||||
# }}}
|
# }}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user