#!/usr/bin/env python3
"""Regenerate ui_*.py for every .ui file under jal/ui/ using Qt6's uic."""
import subprocess
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent))
from _qt_build_tools import find_qt_tool

UI_ROOT = Path(__file__).resolve().parent / "ui"


def main():
    uic_path = find_qt_tool("pyside6-uic", "uic")
    needs_g_python = Path(uic_path).name != "pyside6-uic"  # pyside6-uic always emits Python

    ui_files = sorted(UI_ROOT.rglob("*.ui"))
    if not ui_files:
        sys.exit(f"No .ui files found under {UI_ROOT}")

    for ui_file in ui_files:
        out_file = ui_file.with_name(f"ui_{ui_file.stem}.py")
        cmd = [uic_path]
        if needs_g_python:
            cmd += ["-g", "python"]
        cmd += ["-o", str(out_file), str(ui_file)]
        print(" ".join(cmd))
        subprocess.run(cmd, check=True)


if __name__ == "__main__":
    main()
