add hook to modify browser row content
This commit is contained in:
parent
9c456dd7b0
commit
3199dcb54d
@ -166,7 +166,7 @@ class DataModel(QAbstractTableModel):
|
|||||||
self.browser = browser
|
self.browser = browser
|
||||||
self.col = browser.col
|
self.col = browser.col
|
||||||
self.sortKey = None
|
self.sortKey = None
|
||||||
self.activeCols = self.col.get_config(
|
self.activeCols: List[str] = self.col.get_config(
|
||||||
"activeCols", ["noteFld", "template", "cardDue", "deck"]
|
"activeCols", ["noteFld", "template", "cardDue", "deck"]
|
||||||
)
|
)
|
||||||
self.cards: Sequence[int] = []
|
self.cards: Sequence[int] = []
|
||||||
@ -199,12 +199,15 @@ class DataModel(QAbstractTableModel):
|
|||||||
|
|
||||||
def _fetch_row_from_backend(self, cid: int) -> CellRow:
|
def _fetch_row_from_backend(self, cid: int) -> CellRow:
|
||||||
try:
|
try:
|
||||||
return CellRow(*self.col.browser_row_for_card(cid))
|
row = CellRow(*self.col.browser_row_for_card(cid))
|
||||||
except NotFoundError:
|
except NotFoundError:
|
||||||
return CellRow.deleted(len(self.activeCols))
|
return CellRow.deleted(len(self.activeCols))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return CellRow.generic(len(self.activeCols), str(e))
|
return CellRow.generic(len(self.activeCols), str(e))
|
||||||
|
|
||||||
|
gui_hooks.browser_did_fetch_row(cid, row, self.activeCols)
|
||||||
|
return row
|
||||||
|
|
||||||
def getCard(self, index: QModelIndex) -> Optional[Card]:
|
def getCard(self, index: QModelIndex) -> Optional[Card]:
|
||||||
"""Try to return the indicated, possibly deleted card."""
|
"""Try to return the indicated, possibly deleted card."""
|
||||||
try:
|
try:
|
||||||
|
@ -365,6 +365,19 @@ hooks = [
|
|||||||
args=["context: aqt.browser.SearchContext"],
|
args=["context: aqt.browser.SearchContext"],
|
||||||
doc="""Allows you to modify the list of returned card ids from a search.""",
|
doc="""Allows you to modify the list of returned card ids from a search.""",
|
||||||
),
|
),
|
||||||
|
Hook(
|
||||||
|
name="browser_did_fetch_row",
|
||||||
|
args=["card_id: int", "row: aqt.browser.CellRow", "columns: Sequence[str]"],
|
||||||
|
doc="""Allows you to add or modify content to a row in the browser.
|
||||||
|
|
||||||
|
You can mutate the row object to change what is displayed. Any columns the
|
||||||
|
backend did not recognize will be returned as an empty string, and can be
|
||||||
|
replaced with custom content.
|
||||||
|
|
||||||
|
Columns is a list of string values identifying what each column in the row
|
||||||
|
represents.
|
||||||
|
""",
|
||||||
|
),
|
||||||
# Main window states
|
# Main window states
|
||||||
###################
|
###################
|
||||||
# these refer to things like deckbrowser, overview and reviewer state,
|
# these refer to things like deckbrowser, overview and reviewer state,
|
||||||
|
Loading…
Reference in New Issue
Block a user