from __future__ import annotations

import os
import sys

# QtPy must know which Qt implementation to use before QtPy imports.
os.environ.setdefault("QT_API", "pyside6")

from qtpy.QtCore import Qt
from qtpy.QtWidgets import QApplication

from app.main_window import MainWindow
from app.utils import configure_logging


def main() -> int:
    configure_logging()

    QApplication.setHighDpiScaleFactorRoundingPolicy(
        Qt.HighDpiScaleFactorRoundingPolicy.PassThrough
    )

    app = QApplication(sys.argv)
    app.setApplicationName("PDF to DOCX OCR Editor")
    app.setOrganizationName("Local PDF OCR")
    app.setApplicationVersion("1.0.0")

    window = MainWindow()
    window.show()

    return app.exec()


if __name__ == "__main__":
    raise SystemExit(main())