#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Functions to access settings """ #pylint: disable-msg=C0103 from PyQt5.QtGui import QFont from PyQt5.QtCore import QSettings, QVariant, QDir, QStandardPaths def set(name, value): """ Set setting """ settings = QSettings("Davide Setti", "Lector") settings.setValue(name, QVariant(value)) def get(name): """ Retrieve setting and convert result """ home_dir = QStandardPaths.standardLocations(QStandardPaths.HomeLocation)[0] stdPwlDict = home_dir + QDir.separator() + "my-dict.txt" settings = QSettings("Davide Setti", "Lector") if name == 'scanner:height': return int(settings.value(name, 297)) elif name == 'scanner:width': return int(settings.value(name, 210)) elif name == 'scanner:resolution': return int(settings.value(name, 300)) elif name == 'scanner:mode': return str(settings.value(name, "Color")) elif name == 'scanner:device': return str(settings.value(name, "")) elif name == 'editor:font': return settings.value(name, QFont(QFont("Courier New", 10))) elif name == 'editor:symbols': return settings.value(name) elif name in ('editor:clear', 'editor:spell', 'editor:whiteSpace', 'spellchecker:pwlLang',): return str(settings.value(name, "true")).lower() == "true" elif name in ('log:errors'): return str(settings.value(name, "false")).lower() == "true" elif name == 'spellchecker:pwlDict': return str(settings.value(name, stdPwlDict)) else: return str(settings.value(name, "")) # for testing module funcionality def main(): """ Main loop to run test """ home_dir = QStandardPaths.standardLocations(QStandardPaths.HomeLocation)[0] print('home_dir:', home_dir) stdPwlDict = home_dir + QDir.separator() + "my-dict.txt" print('stdPwlDict:', stdPwlDict) # MAIN if __name__ == '__main__': import sys sys.exit(main())