feat: create config class to replace use of config file in application
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
from omegaconf import OmegaConf
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
from src import Icon
|
||||
from src import Icon, settings
|
||||
|
||||
from .dialog_sources.Ui_settings import Ui_Dialog as _settings
|
||||
|
||||
config = OmegaConf.load("config.yaml")
|
||||
base = """'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style
|
||||
@@ -61,18 +59,18 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
self.buttonBox.accepted.connect(self.save)
|
||||
|
||||
def load_config(self):
|
||||
self.db_name.setText(config.database.name)
|
||||
self.db_path.setText(config.database.path)
|
||||
self.save_path.setText(config.save_path)
|
||||
self.smtp_address.setText(config.mail.smtp_server)
|
||||
self.smtp_port.setText(str(config.mail.port))
|
||||
self.sender_email.setText(config.mail.sender)
|
||||
self.mail_username.setText(config.mail.user_name)
|
||||
self.password.setText(config.mail.password)
|
||||
self.db_name.setText(settings.database.name)
|
||||
self.db_path.setText(settings.database.path)
|
||||
self.save_path.setText(settings.save_path)
|
||||
self.smtp_address.setText(settings.mail.smtp_server)
|
||||
self.smtp_port.setText(str(settings.mail.port))
|
||||
self.sender_email.setText(settings.mail.sender)
|
||||
self.mail_username.setText(settings.mail.user_name)
|
||||
self.password.setText(settings.mail.password)
|
||||
self.use_username_smtp_login.setChecked(
|
||||
config.mail.use_user_name if config.mail.use_user_name else False
|
||||
settings.mail.use_user_name if settings.mail.use_user_name else False
|
||||
)
|
||||
self.editSignature.setHtml(config.mail.signature)
|
||||
self.editSignature.setHtml(settings.mail.signature)
|
||||
|
||||
def setCurrentFont(self):
|
||||
font = self.fontComboBox.currentFont()
|
||||
@@ -148,22 +146,28 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
signature = signature
|
||||
else:
|
||||
signature = ""
|
||||
config.database.name = self.db_name.text()
|
||||
config.database.path = self.db_path.text()
|
||||
config.save_path = self.save_path.text()
|
||||
config.mail.smtp_server = self.smtp_address.text()
|
||||
config.mail.port = port
|
||||
config.mail.sender = self.sender_email.text()
|
||||
config.mail.user_name = self.mail_username.text()
|
||||
config.mail.password = self.password.text()
|
||||
config.mail.use_user_name = self.use_username_smtp_login.isChecked()
|
||||
config.mail.signature = signature
|
||||
|
||||
return config
|
||||
settings.set_database_attr("name", self.db_name.text())
|
||||
settings.set_database_attr("path", self.db_path.text())
|
||||
settings.save_path = self.save_path.text()
|
||||
settings.set_mail_attr("smtp_server", self.smtp_address.text())
|
||||
settings.set_mail_attr("port", port)
|
||||
settings.set_mail_attr("sender", self.sender_email.text())
|
||||
settings.set_mail_attr("user_name", self.mail_username.text())
|
||||
settings.set_mail_attr("password", self.password.text())
|
||||
settings.set_mail_attr(
|
||||
"use_user_name", self.use_username_smtp_login.isChecked()
|
||||
)
|
||||
settings.set_mail_attr("signature", signature)
|
||||
print("Settings:")
|
||||
print(settings)
|
||||
return settings
|
||||
|
||||
def save(self):
|
||||
config = self.return_data()
|
||||
OmegaConf.save(config, "config.yaml")
|
||||
print(config.mail)
|
||||
print("Saving config")
|
||||
print(config)
|
||||
config.save()
|
||||
self.accept()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user