Fix type signature: models is passed because it's a method

This commit is contained in:
Henrik Giesel 2020-08-23 18:18:11 +02:00
parent 90f0df2a52
commit a1b5acd46a
3 changed files with 18 additions and 25 deletions

View file

@ -1874,35 +1874,26 @@ class _ModelsDidInitButtonsFilter:
_hooks: List[
Callable[
[
"List[Tuple[str, Callable[[aqt.models.Models], None]]]",
"aqt.models.Models",
],
List[Tuple[str, Callable[[aqt.models.Models], None]]],
[List[Tuple[str, Callable[[], None]]], "aqt.models.Models"],
List[Tuple[str, Callable[[], None]]],
]
] = []
def append(
self,
cb: Callable[
[
"List[Tuple[str, Callable[[aqt.models.Models], None]]]",
"aqt.models.Models",
],
List[Tuple[str, Callable[[aqt.models.Models], None]]],
[List[Tuple[str, Callable[[], None]]], "aqt.models.Models"],
List[Tuple[str, Callable[[], None]]],
],
) -> None:
"""(buttons: List[Tuple[str, Callable[[aqt.models.Models], None]]], models: aqt.models.Models)"""
"""(buttons: List[Tuple[str, Callable[[], None]]], models: aqt.models.Models)"""
self._hooks.append(cb)
def remove(
self,
cb: Callable[
[
"List[Tuple[str, Callable[[aqt.models.Models], None]]]",
"aqt.models.Models",
],
List[Tuple[str, Callable[[aqt.models.Models], None]]],
[List[Tuple[str, Callable[[], None]]], "aqt.models.Models"],
List[Tuple[str, Callable[[], None]]],
],
) -> None:
if cb in self._hooks:
@ -1912,10 +1903,8 @@ class _ModelsDidInitButtonsFilter:
return len(self._hooks)
def __call__(
self,
buttons: List[Tuple[str, Callable[[aqt.models.Models], None]]],
models: aqt.models.Models,
) -> List[Tuple[str, Callable[[aqt.models.Models], None]]]:
self, buttons: List[Tuple[str, Callable[[], None]]], models: aqt.models.Models
) -> List[Tuple[str, Callable[[], None]]]:
for filter in self._hooks:
try:
buttons = filter(buttons, models)

View file

@ -54,15 +54,16 @@ class Models(QDialog):
("Add", self.onAdd),
("Rename", self.onRename),
("Delete", self.onDelete),
("Options...", self.onAdvanced),
]
if self.fromMain:
default_buttons.extend([
from_main_buttons = [
("Fields...", self.onFields),
("Cards...", self.onCards),
])
]
default_buttons.append(("Options...", self.onAdvanced))
default_buttons[-1:-1] = from_main_buttons
for label, func in gui_hooks.models_did_init_buttons(default_buttons, self):
button = box.addButton(_(label), QDialogButtonBox.ActionRole)

View file

@ -688,8 +688,11 @@ hooks = [
Hook(name="models_advanced_will_show", args=["advanced: QDialog"],),
Hook(
name="models_did_init_buttons",
args=["buttons: List[Tuple[str, Callable[[aqt.models.Models], None]]]", "models: aqt.models.Models"],
return_type="List[Tuple[str, Callable[[aqt.models.Models], None]]]",
args=[
"buttons: List[Tuple[str, Callable[[], None]]]",
"models: aqt.models.Models",
],
return_type="List[Tuple[str, Callable[[], None]]]",
doc="""Allows adding buttons to the Model dialog""",
),
# Stats