#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import signal
import os

from PyQt5 import Qt

rootDir = os.path.dirname(os.path.realpath(__file__))
modulesDir = "{}/modules".format(rootDir)
appTranslationFile = "{}/translations/{}.qm".format(rootDir, Qt.QLocale.system().name())

sys.path.insert(0, modulesDir)

from modules import defines

app = None
ret = 42
translations = []


def loadTranslators():
    qttranslator = Qt.QTranslator()
    qttranslator.load("qt_" + Qt.QLocale.system().name(), Qt.QLibraryInfo.location(Qt.QLibraryInfo.TranslationsPath))
    translations.append(qttranslator)
    if os.path.exists(appTranslationFile):
        apptranslator = Qt.QTranslator()
        apptranslator.load(appTranslationFile)
        translations.append(apptranslator)
    else:
        print("WARNING: gui translation file could not be found: {}".format(appTranslationFile))

    for translator in translations:
        app.installTranslator(translator)


if __name__ == "__main__":
    Qt.QCoreApplication.setApplicationName("lcurse")
    Qt.QCoreApplication.setOrganizationName("None-Inc.")
    app = Qt.QApplication(sys.argv)
    loadTranslators()

    from modules import application

    mainWidget = application.MainWidget()
    try:
        mainWidget.show()
        ret = app.exec_()
    except Exception as e:
        print(str(e))

sys.exit(ret)
