#!/usr/bin/python3
"""MHMT Merkezi: karşılama, uygulamalar, bakım, yardım (karar #50).

  mhmt-merkez [--sayfa karsilama|uygulamalar|bakim] [--ara <sözcük>] [--kur <kimlik>]
  mhmt-merkez --karsilama    oturum açılışında: kullanıcı "açılışta göster"i kapattıysa çıkar
"""
import argparse
import os
import sys

sys.path.insert(0, "/usr/lib/mhmt/python")

from PySide6.QtCore import QSettings, QUrl  # noqa: E402
from PySide6.QtGui import QIcon  # noqa: E402
from PySide6.QtQml import QQmlApplicationEngine  # noqa: E402
from PySide6.QtWidgets import QApplication  # noqa: E402

from mhmt_merkez.arka import Arka  # noqa: E402

QML = "/usr/lib/mhmt/python/mhmt_merkez/qml/Main.qml"


def main():
    p = argparse.ArgumentParser(add_help=True)
    p.add_argument("--sayfa", default="karsilama")
    p.add_argument("--ara", default="")
    p.add_argument("--kur", default="")
    p.add_argument("--karsilama", action="store_true")
    a = p.parse_args()
    if a.karsilama:
        # Canlı USB oturumunda kurucu masaüstündedir; karşılama kurulu sistemde açılır.
        if os.path.exists("/run/live/medium"):
            return 0
        if not QSettings("mhmt", "merkez").value("karsilama/goster", True, type=bool):
            return 0
        a.sayfa = "karsilama"
    if a.kur:
        a.sayfa = "uygulamalar"
    uyg = QApplication(sys.argv)
    uyg.setApplicationName("mhmt-merkez")
    uyg.setOrganizationName("mhmt")
    uyg.setDesktopFileName("org.mhmt.merkez")
    uyg.setWindowIcon(QIcon.fromTheme("mhmt-logo"))
    arka = Arka(a.sayfa, a.ara, a.kur)
    motor = QQmlApplicationEngine()
    motor.rootContext().setContextProperty("arka", arka)
    motor.load(QUrl.fromLocalFile(QML))
    if not motor.rootObjects():
        return 1
    kod = uyg.exec()
    # QML bağlamı arka uçtan önce yok edilsin (kapanışta "arka null" uyarıları).
    del motor
    return kod


if __name__ == "__main__":
    sys.exit(main())
