diff --git a/piker/ui/_search.py b/piker/ui/_search.py index 16b25a46..aa6f6623 100644 --- a/piker/ui/_search.py +++ b/piker/ui/_search.py @@ -15,7 +15,8 @@ # along with this program. If not, see . """ -qompleterz: embeddable search and complete using trio, Qt and rapidfuzz. +qompleterz: embeddable search and complete using trio, Qt and +rapidfuzz. """ @@ -46,6 +47,7 @@ import time from pprint import pformat from rapidfuzz import process as fuzzy +import tractor import trio from trio_typing import TaskStatus @@ -53,7 +55,7 @@ from piker.ui.qt import ( size_policy, align_flag, Qt, - QtCore, + # QtCore, QtWidgets, QModelIndex, QItemSelectionModel, @@ -920,7 +922,10 @@ async def fill_results( # issue multi-provider fan-out search request and place # "searching.." statuses on outstanding results providers - async with trio.open_nursery() as n: + async with ( + tractor.trionics.collapse_eg(), + trio.open_nursery() as tn + ): for provider, (search, pause) in ( _searcher_cache.copy().items() @@ -944,7 +949,7 @@ async def fill_results( status_field='-> searchin..', ) - await n.start( + await tn.start( pack_matches, view, has_results, @@ -1004,12 +1009,14 @@ async def handle_keyboard_input( view.set_font_size(searchbar.dpi_font.px_size) send, recv = trio.open_memory_channel(616) - async with trio.open_nursery() as n: - + async with ( + tractor.trionics.collapse_eg(), # needed? + trio.open_nursery() as tn + ): # start a background multi-searcher task which receives # patterns relayed from this keyboard input handler and # async updates the completer view's results. - n.start_soon( + tn.start_soon( partial( fill_results, searchw,