Merge pull request #714 from phwoo/add-type-hints-for-qt-models
added type hints for qt models
This commit is contained in:
commit
2926beb47b
@ -46,6 +46,7 @@ Matt Krump <github.com/mkrump>
|
|||||||
Alexander Presnyakov <flagist0@gmail.com>
|
Alexander Presnyakov <flagist0@gmail.com>
|
||||||
abdo <github.com/ANH25>
|
abdo <github.com/ANH25>
|
||||||
aplaice <plaice.adam+github@gmail.com>
|
aplaice <plaice.adam+github@gmail.com>
|
||||||
|
phwoo <github.com/phwoo>
|
||||||
|
|
||||||
********************
|
********************
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
from typing import List, Optional
|
from typing import Any, List, Optional, Sequence
|
||||||
|
|
||||||
import aqt.clayout
|
import aqt.clayout
|
||||||
from anki import stdmodels
|
from anki import stdmodels
|
||||||
@ -45,7 +45,7 @@ class Models(QDialog):
|
|||||||
# Models
|
# Models
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
def setupModels(self):
|
def setupModels(self) -> None:
|
||||||
self.model = None
|
self.model = None
|
||||||
f = self.form
|
f = self.form
|
||||||
box = f.buttonBox
|
box = f.buttonBox
|
||||||
@ -65,14 +65,14 @@ class Models(QDialog):
|
|||||||
qconnect(b.clicked, self.onAdvanced)
|
qconnect(b.clicked, self.onAdvanced)
|
||||||
qconnect(f.modelsList.itemDoubleClicked, self.onRename)
|
qconnect(f.modelsList.itemDoubleClicked, self.onRename)
|
||||||
|
|
||||||
def on_done(fut):
|
def on_done(fut) -> None:
|
||||||
self.updateModelsList(fut.result())
|
self.updateModelsList(fut.result())
|
||||||
|
|
||||||
self.mw.taskman.with_progress(self.col.models.all_use_counts, on_done, self)
|
self.mw.taskman.with_progress(self.col.models.all_use_counts, on_done, self)
|
||||||
f.modelsList.setCurrentRow(0)
|
f.modelsList.setCurrentRow(0)
|
||||||
maybeHideClose(box)
|
maybeHideClose(box)
|
||||||
|
|
||||||
def onRename(self):
|
def onRename(self) -> None:
|
||||||
nt = self.current_notetype()
|
nt = self.current_notetype()
|
||||||
txt = getText(_("New name:"), default=nt["name"])
|
txt = getText(_("New name:"), default=nt["name"])
|
||||||
if txt[1] and txt[0]:
|
if txt[1] and txt[0]:
|
||||||
@ -80,11 +80,11 @@ class Models(QDialog):
|
|||||||
self.saveAndRefresh(nt)
|
self.saveAndRefresh(nt)
|
||||||
|
|
||||||
def saveAndRefresh(self, nt: NoteType) -> None:
|
def saveAndRefresh(self, nt: NoteType) -> None:
|
||||||
def save():
|
def save() -> Sequence[pb.NoteTypeNameIDUseCount]:
|
||||||
self.mm.save(nt)
|
self.mm.save(nt)
|
||||||
return self.col.models.all_use_counts()
|
return self.col.models.all_use_counts()
|
||||||
|
|
||||||
def on_done(fut):
|
def on_done(fut) -> None:
|
||||||
self.updateModelsList(fut.result())
|
self.updateModelsList(fut.result())
|
||||||
|
|
||||||
self.mw.taskman.with_progress(save, on_done, self)
|
self.mw.taskman.with_progress(save, on_done, self)
|
||||||
@ -106,7 +106,7 @@ class Models(QDialog):
|
|||||||
row = self.form.modelsList.currentRow()
|
row = self.form.modelsList.currentRow()
|
||||||
return self.mm.get(self.models[row].id)
|
return self.mm.get(self.models[row].id)
|
||||||
|
|
||||||
def onAdd(self):
|
def onAdd(self) -> None:
|
||||||
m = AddModel(self.mw, self).get()
|
m = AddModel(self.mw, self).get()
|
||||||
if m:
|
if m:
|
||||||
txt = getText(_("Name:"), default=m["name"])[0]
|
txt = getText(_("Name:"), default=m["name"])[0]
|
||||||
@ -114,7 +114,7 @@ class Models(QDialog):
|
|||||||
m["name"] = txt
|
m["name"] = txt
|
||||||
self.saveAndRefresh(m)
|
self.saveAndRefresh(m)
|
||||||
|
|
||||||
def onDelete(self):
|
def onDelete(self) -> None:
|
||||||
if len(self.models) < 2:
|
if len(self.models) < 2:
|
||||||
showInfo(_("Please add another note type first."), parent=self)
|
showInfo(_("Please add another note type first."), parent=self)
|
||||||
return
|
return
|
||||||
@ -130,16 +130,16 @@ class Models(QDialog):
|
|||||||
|
|
||||||
nt = self.current_notetype()
|
nt = self.current_notetype()
|
||||||
|
|
||||||
def save():
|
def save() -> Sequence[pb.NoteTypeNameIDUseCount]:
|
||||||
self.mm.rem(nt)
|
self.mm.rem(nt)
|
||||||
return self.col.models.all_use_counts()
|
return self.col.models.all_use_counts()
|
||||||
|
|
||||||
def on_done(fut):
|
def on_done(fut) -> None:
|
||||||
self.updateModelsList(fut.result())
|
self.updateModelsList(fut.result())
|
||||||
|
|
||||||
self.mw.taskman.with_progress(save, on_done, self)
|
self.mw.taskman.with_progress(save, on_done, self)
|
||||||
|
|
||||||
def onAdvanced(self):
|
def onAdvanced(self) -> None:
|
||||||
nt = self.current_notetype()
|
nt = self.current_notetype()
|
||||||
d = QDialog(self)
|
d = QDialog(self)
|
||||||
frm = aqt.forms.modelopts.Ui_Dialog()
|
frm = aqt.forms.modelopts.Ui_Dialog()
|
||||||
@ -158,16 +158,16 @@ class Models(QDialog):
|
|||||||
nt["latexPost"] = str(frm.latexFooter.toPlainText())
|
nt["latexPost"] = str(frm.latexFooter.toPlainText())
|
||||||
self.saveAndRefresh(nt)
|
self.saveAndRefresh(nt)
|
||||||
|
|
||||||
def _tmpNote(self):
|
def _tmpNote(self) -> Note:
|
||||||
nt = self.current_notetype()
|
nt = self.current_notetype()
|
||||||
return Note(self.col, nt)
|
return Note(self.col, nt)
|
||||||
|
|
||||||
def onFields(self):
|
def onFields(self) -> None:
|
||||||
from aqt.fields import FieldDialog
|
from aqt.fields import FieldDialog
|
||||||
|
|
||||||
FieldDialog(self.mw, self.current_notetype(), parent=self)
|
FieldDialog(self.mw, self.current_notetype(), parent=self)
|
||||||
|
|
||||||
def onCards(self):
|
def onCards(self) -> None:
|
||||||
from aqt.clayout import CardLayout
|
from aqt.clayout import CardLayout
|
||||||
|
|
||||||
n = self._tmpNote()
|
n = self._tmpNote()
|
||||||
@ -178,7 +178,7 @@ class Models(QDialog):
|
|||||||
|
|
||||||
# need to flush model on change or reject
|
# need to flush model on change or reject
|
||||||
|
|
||||||
def reject(self):
|
def reject(self) -> None:
|
||||||
self.mw.reset()
|
self.mw.reset()
|
||||||
saveGeom(self, "models")
|
saveGeom(self, "models")
|
||||||
QDialog.reject(self)
|
QDialog.reject(self)
|
||||||
@ -211,14 +211,14 @@ class AddModel(QDialog):
|
|||||||
# help
|
# help
|
||||||
qconnect(self.dialog.buttonBox.helpRequested, self.onHelp)
|
qconnect(self.dialog.buttonBox.helpRequested, self.onHelp)
|
||||||
|
|
||||||
def get(self):
|
def get(self) -> Any:
|
||||||
self.exec_()
|
self.exec_()
|
||||||
return self.model
|
return self.model
|
||||||
|
|
||||||
def reject(self):
|
def reject(self) -> None:
|
||||||
QDialog.reject(self)
|
QDialog.reject(self)
|
||||||
|
|
||||||
def accept(self):
|
def accept(self) -> None:
|
||||||
(isStd, model) = self.models[self.dialog.models.currentRow()]
|
(isStd, model) = self.models[self.dialog.models.currentRow()]
|
||||||
if isStd:
|
if isStd:
|
||||||
# create
|
# create
|
||||||
@ -229,5 +229,5 @@ class AddModel(QDialog):
|
|||||||
self.mw.col.models.setCurrent(self.model)
|
self.mw.col.models.setCurrent(self.model)
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
|
|
||||||
def onHelp(self):
|
def onHelp(self) -> None:
|
||||||
openHelp("notetypes")
|
openHelp("notetypes")
|
||||||
|
Loading…
Reference in New Issue
Block a user