monkey patch for QSettings test
This commit is contained in:
45
deftest.py
45
deftest.py
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
import faulthandler
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
from typing import cast
|
||||
|
||||
@@ -14,6 +16,13 @@ from lib.utils import query_error
|
||||
from lib.words import Definition
|
||||
|
||||
|
||||
def monkeyClose(self, event):
|
||||
settings = QSettings("Troglodite", "esl_reader")
|
||||
settings.setValue("geometry", self.saveGeometry())
|
||||
super(DefinitionArea, self).closeEvent(event)
|
||||
return
|
||||
|
||||
|
||||
def main() -> int:
|
||||
db = QSqlDatabase()
|
||||
db = db.addDatabase("QSQLITE")
|
||||
@@ -24,17 +33,19 @@ def main() -> int:
|
||||
#
|
||||
# Set Default settings
|
||||
#
|
||||
settings = QSettings('Troglodite', 'esl_reader')
|
||||
settings.beginGroup('font')
|
||||
if not settings.contains('display/url'):
|
||||
settings.setValue('display/url', ':/fonts/opendyslexic/OpenDyslexic-Regular.otf')
|
||||
if not settings.contains('display/name'):
|
||||
settings.setValue('display/name', 'OpenDyslexic')
|
||||
if not settings.contains('phonic/name'):
|
||||
settings.setValue('phonic/name', 'Gentium')
|
||||
settings = QSettings("Troglodite", "esl_reader")
|
||||
settings.beginGroup("font")
|
||||
if not settings.contains("display/url"):
|
||||
settings.setValue(
|
||||
"display/url", ":/fonts/opendyslexic/OpenDyslexic-Regular.otf"
|
||||
)
|
||||
if not settings.contains("display/name"):
|
||||
settings.setValue("display/name", "OpenDyslexic")
|
||||
if not settings.contains("phonic/name"):
|
||||
settings.setValue("phonic/name", "Gentium")
|
||||
settings.endGroup()
|
||||
if not settings.contains('keys/mw-api'):
|
||||
settings.setValue('keys/mw-api','51d9df34-ee13-489e-8656-478c215e846c')
|
||||
if not settings.contains("keys/mw-api"):
|
||||
settings.setValue("keys/mw-api", "51d9df34-ee13-489e-8656-478c215e846c")
|
||||
#
|
||||
# Setup resources
|
||||
#
|
||||
@@ -42,10 +53,10 @@ def main() -> int:
|
||||
os.path.join(os.path.dirname(__file__), "ui/resources.rcc"), "/"
|
||||
):
|
||||
raise Exception("Unable to register resources.rcc")
|
||||
settings.beginGroup('font')
|
||||
settings.beginGroup("font")
|
||||
for name in settings.childGroups():
|
||||
if settings.contains(f'{name}/url'):
|
||||
QFontDatabase.addApplicationFont(settings.value(f'{name}/url'))
|
||||
if settings.contains(f"{name}/url"):
|
||||
QFontDatabase.addApplicationFont(settings.value(f"{name}/url"))
|
||||
settings.endGroup()
|
||||
query = QSqlQuery()
|
||||
if not query.exec(
|
||||
@@ -55,10 +66,13 @@ def main() -> int:
|
||||
):
|
||||
query_error(query)
|
||||
|
||||
word = Word("boat")
|
||||
word = Word("cowbell")
|
||||
snd = SoundOff()
|
||||
DefinitionArea.closeEvent = monkeyClose
|
||||
widget = DefinitionArea(word) # xnoqa: F841
|
||||
d = cast(Definition,widget.widget())
|
||||
settings = QSettings("Troglodite", "esl_reader")
|
||||
widget.restoreGeometry(settings.value("geometry"))
|
||||
d = cast(Definition, widget.widget())
|
||||
assert d is not None
|
||||
d.pronounce.connect(snd.playSound)
|
||||
widget.show()
|
||||
@@ -66,4 +80,5 @@ def main() -> int:
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
faulthandler.register(signal.Signals.SIGUSR1)
|
||||
sys.exit(main())
|
||||
|
||||
Reference in New Issue
Block a user