#!/usr/bin/env python3 import os import sys import signal from PySide6.QtWidgets import QApplication from PySide6.QtCore import QUrl from PySide6.QtQml import QQmlApplicationEngine from leek.mod_list import QAbstractListModel # noqa: F401, needs to be imported for QML def main(): """Initializes and manages the application execution""" app: QApplication = QApplication(sys.argv) app.setDesktopFileName("xyz.toast003.leek") app.setApplicationName("Leek") engine = QQmlApplicationEngine() """Needed to close the app with Ctrl+C""" signal.signal(signal.SIGINT, signal.SIG_DFL) """Needed to get proper KDE style outside of Plasma""" if not os.environ.get("QT_QUICK_CONTROLS_STYLE"): os.environ["QT_QUICK_CONTROLS_STYLE"] = "org.kde.desktop" base_path = os.path.abspath(os.path.dirname(__file__)) url = QUrl(f"file://{base_path}/qml/Main.qml") engine.load(url) if len(engine.rootObjects()) == 0: quit() app.exec() if __name__ == "__main__": main()