start work on welcome wizard

This commit is contained in:
2025-06-10 16:23:29 +02:00
parent dbad7165bc
commit fdab4e5caa
6 changed files with 690 additions and 4 deletions

View File

@@ -0,0 +1,51 @@
from .widget_sources.welcome_wizard_ui import Ui_Wizard
from PyQt6 import QtWidgets, QtCore, QtGui
from src import settings
class WelcomeWizard(QtWidgets.QWizard, Ui_Wizard):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.btn_database.clicked.connect(self.open_database_settings)
self.btn_temp.clicked.connect(self.open_temp_settings)
def open_database_settings(self):
#open filepicker dialog to select database file folder
file_dialog = QtWidgets.QFileDialog(self, "Select Database File")
file_dialog.setFileMode(QtWidgets.QFileDialog.FileMode.ExistingFile)
file_dialog.setNameFilter("Database Files (*.db *.sqlite *.sqlite3)")
file_dialog.setViewMode(QtWidgets.QFileDialog.ViewMode.List)
file_dialog.setDirectory(settings.database.path) # Set initial directory if needed
file_dialog.setOption(QtWidgets.QFileDialog.Option.DontUseNativeDialog, True)
file_dialog.setWindowFlags(file_dialog.windowFlags() | QtCore.Qt.WindowType.WindowStaysOnTopHint)
if file_dialog.exec():
selected_files = file_dialog.selectedFiles()
if selected_files:
# Do something with the selected database file
print("Selected database file:", selected_files[0])
def open_temp_settings(self):
#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)
if dir_dialog.exec():
selected_dirs = dir_dialog.selectedFiles()
if selected_dirs:
# Do something with the selected temporary directory
print("Selected temporary directory:", selected_dirs[0])
def launch_wizard():
"""Launch the welcome wizard."""
app = QtWidgets.QApplication.instance()
if not app:
app = QtWidgets.QApplication([])
wizard = WelcomeWizard()
# wizard.setWindowTitle("Welcome to the Semester Apparatus Manager")
# wizard.setWindowIcon(settings.Icon("welcome").icon)
wizard.setWizardStyle(QtWidgets.QWizard.WizardStyle.ModernStyle)
wizard.setStartId(0)
wizard.show()
return wizard.exec()