UI: refactor mail template dialog for plaintext handling, improve logging, and update UI elements

This commit is contained in:
2025-09-22 09:47:18 +02:00
parent 11d5d67538
commit d35b2e816e
6 changed files with 342 additions and 147 deletions

View File

@@ -1,12 +1,15 @@
from typing import Any
from .widget_sources.welcome_wizard_ui import Ui_Wizard
from PySide6 import QtWidgets, QtCore, QtGui
from src import settings, LOG_DIR
from src.backend import Database
import sys
from appdirs import AppDirs
from pathlib import Path
from typing import Any
import loguru
from appdirs import AppDirs
from PySide6 import QtCore, QtWidgets
from src import LOG_DIR, settings
from src.backend import Database
from .widget_sources.welcome_wizard_ui import Ui_Wizard
appdirs = AppDirs("SemesterApparatsManager", "SAM")
@@ -193,15 +196,17 @@ class WelcomeWizard(QtWidgets.QWizard, Ui_Wizard):
settings.set_openai_attr("api_key", openai_api_key)
settings.set_openai_attr("model", openai_model)
# save settings to file
print("Saving settings...")
# print("Saving settings...")
settings.save()
def open_database_settings(self):
#open filepicker dialog to select database file folder
# open filepicker dialog to select database file folder
file_dialog = QtWidgets.QFileDialog(self, "Select Database File")
file_dialog.setFileMode(QtWidgets.QFileDialog.FileMode.Directory)
file_dialog.setViewMode(QtWidgets.QFileDialog.ViewMode.List)
file_dialog.setWindowFlags(file_dialog.windowFlags() | QtCore.Qt.WindowType.WindowStaysOnTopHint)
file_dialog.setWindowFlags(
file_dialog.windowFlags() | QtCore.Qt.WindowType.WindowStaysOnTopHint
)
# set start dir to appdir.user_data_dir
file_dialog.setDirectory(str(appdirs.user_data_dir))
if file_dialog.exec():
@@ -212,7 +217,7 @@ class WelcomeWizard(QtWidgets.QWizard, Ui_Wizard):
self.settings_database.setText(db_path)
def open_temp_settings(self):
#open filepicker dialog to select temporary directory
# open filepicker dialog to select temporary directory
dir_dialog = QtWidgets.QFileDialog(self, "Select Temporary Directory")
dir_dialog.setFileMode(QtWidgets.QFileDialog.FileMode.Directory)
dir_dialog.setViewMode(QtWidgets.QFileDialog.ViewMode.List)
@@ -224,6 +229,7 @@ class WelcomeWizard(QtWidgets.QWizard, Ui_Wizard):
temp_path = selected_dirs[0]
self.settings_temp.setText(temp_path)
def launch_wizard():
"""Launch the welcome wizard."""
app = QtWidgets.QApplication.instance()
@@ -235,4 +241,4 @@ def launch_wizard():
wizard.setWizardStyle(QtWidgets.QWizard.WizardStyle.ModernStyle)
wizard.setStartId(0)
wizard.show()
return wizard.exec()
return wizard.exec()