Lemontropia-Suite/gui_main.py

49 lines
1.3 KiB
Python

# Description: GUI entry point for Lemontropia Suite
# Launches the full PyQt6 application with main window and HUD
import sys
import os
from pathlib import Path
# Load .env before anything else
from dotenv import load_dotenv
env_path = Path(__file__).parent / ".env"
load_dotenv(dotenv_path=env_path)
# Add project to path
sys.path.insert(0, str(Path(__file__).parent))
from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import Qt
from ui.main_window import MainWindow
from ui.setup_wizard import SetupWizard
def main():
"""GUI Application entry point."""
# Enable High DPI support
os.environ['QT_ENABLE_HIGHDPI_SCALING'] = '1'
os.environ['QT_AUTO_SCREEN_SCALE_FACTOR'] = '1'
app = QApplication(sys.argv)
app.setApplicationName("Lemontropia Suite")
app.setApplicationVersion("0.2.0")
# Check if first run - show setup wizard
if SetupWizard.is_first_run():
wizard = SetupWizard(first_run=True)
if wizard.exec() != SetupWizard.DialogCode.Accepted:
# User cancelled wizard, exit
print("Setup cancelled by user")
sys.exit(0)
# Create and show main window
window = MainWindow()
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()