diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 033c30a3e..311191539 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -222,6 +222,7 @@ ikkz derivativeoflog7 rreemmii-dev babofitos +Jonathan Schoreels ******************** diff --git a/qt/aqt/browser/table/__init__.py b/qt/aqt/browser/table/__init__.py index ac3348bbb..bd666cf1a 100644 --- a/qt/aqt/browser/table/__init__.py +++ b/qt/aqt/browser/table/__init__.py @@ -29,6 +29,7 @@ class SearchContext: browser: aqt.browser.Browser order: bool | str | Column = True reverse: bool = False + addon_metadata: dict | None = None # if set, provided ids will be used instead of the regular search ids: Sequence[ItemId] | None = None diff --git a/qt/aqt/browser/table/model.py b/qt/aqt/browser/table/model.py index 12a5162d1..5b42c0ca3 100644 --- a/qt/aqt/browser/table/model.py +++ b/qt/aqt/browser/table/model.py @@ -269,6 +269,7 @@ class DataModel(QAbstractTableModel): # invalid sort column in config context.order = self.columns["noteCrt"] context.reverse = self._state.sort_backwards + context.addon_metadata = {} gui_hooks.browser_will_search(context) if context.ids is None: context.ids = self._state.find_items( diff --git a/qt/tools/genhooks_gui.py b/qt/tools/genhooks_gui.py index f63a64f91..33838c46b 100644 --- a/qt/tools/genhooks_gui.py +++ b/qt/tools/genhooks_gui.py @@ -549,6 +549,10 @@ hooks = [ You can modify context.search to change the text that is sent to the searching backend. + If you need to pass metadata to the browser_did_search hook, you can + do it with context.addon_metadata. For example, to trigger filtering + based on a new custom filter. + If you set context.ids to a list of ids, the regular search will not be performed, and the provided ids will be used instead. @@ -578,6 +582,9 @@ hooks = [ backend did not recognize will be returned as an empty string, and can be replaced with custom content. + You can retrieve metadata passed from browser_will_search with + context.addon_metadata (for example to trigger post-processing filtering). + Columns is a list of string values identifying what each column in the row represents. """,