コード例 #1
0
 def __init__(self):
     self.file = "%s/users.p64" % Configuracion.active_folder()
     self.list_users = self.read()
コード例 #2
0
def run_gui(procesador):
    app = QtWidgets.QApplication([])

    # Usuarios
    list_users = Usuarios.Usuarios().list_users
    if list_users:
        user = pide_usuario(list_users)
        if user is None:
            return
        if user == list_users[0]:
            user = None
    else:
        user = None

    active_folder = Configuracion.active_folder()
    askfor_language = not os.path.isdir(active_folder) or not os.listdir(
        active_folder)

    procesador.start_with_user(user)
    configuracion = procesador.configuracion
    if user:
        if not configuracion.x_player:
            configuracion.x_player = user.name
            configuracion.graba()
        elif configuracion.x_player != user.name:
            for usu in list_users:
                if usu.number == user.number:
                    usu.name = configuracion.x_player
                    Usuarios.Usuarios().save_list(list_users)

    # Comprobamos el lenguaje
    if askfor_language and not configuracion.translator:
        if user:
            conf_main = Configuracion.Configuracion("")
            ori = conf_main.file_external_engines()
            conf_main.lee()
            conf_main.limpia(user.name)
            conf_main.set_folders()
            conf_main.graba()
            procesador.configuracion = conf_main

            Util.file_copy(ori, conf_main.file_external_engines())

        else:
            li = configuracion.list_translations()
            menu = QTVarios.LCMenuRondo(None)
            for k, name, porc, author in li:
                if porc != 100:
                    name += " (%d%%)" % porc
                menu.opcion(k, name)
            resp = menu.lanza()
            if resp:
                configuracion.translator = resp
                configuracion.graba()
                configuracion.releeTRA()

    # Estilo
    # https://github.com/gmarull/qtmodern/blob/master/qtmodern/styles.py
    # https://stackoverflow.com/questions/15035767/is-the-qt-5-dark-fusion-theme-available-for-windows
    # darkPalette.setColor(QPalette.Window, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.WindowText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Base, QColor(42, 42, 42))
    # darkPalette.setColor(QPalette.Text, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.AlternateBase, QColor(66, 66, 66))
    # darkPalette.setColor(QPalette.ToolTipBase, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.ToolTipText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Button, QColor(53, 53, 53))
    # darkPalette.setColor(QPalette.ButtonText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.BrightText, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Link, QColor(56, 252, 196))
    #
    # darkPalette.setColor(QPalette.Light, QColor(180, 180, 180))
    # darkPalette.setColor(QPalette.Midlight, QColor(90, 90, 90))
    # darkPalette.setColor(QPalette.Dark, QColor(35, 35, 35))
    # darkPalette.setColor(QPalette.Shadow, QColor(20, 20, 20))
    # darkPalette.setColor(QPalette.Highlight, QColor(42, 130, 218))
    # darkPalette.setColor(QPalette.HighlightedText, QColor(180, 180, 180))
    #
    # # disabled
    # darkPalette.setColor(QPalette.Disabled, QPalette.WindowText,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.Text,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.ButtonText,
    #                      QColor(127, 127, 127))
    # darkPalette.setColor(QPalette.Disabled, QPalette.Highlight,
    #                      QColor(80, 80, 80))
    # darkPalette.setColor(QPalette.Disabled, QPalette.HighlightedText,
    #                      QColor(127, 127, 127))
    # app.setStyle(QtWidgets.QStyleFactory.create(configuracion.x_style))

    if configuracion.palette:
        qpalette = QtGui.QPalette(QtGui.QPalette.Dark)
        palette = configuracion.palette

        for key, tp in (
            (QtGui.QPalette.Window, "Window"),
            (QtGui.QPalette.WindowText, "WindowText"),
            (QtGui.QPalette.Base, "Base"),
            (QtGui.QPalette.Text, "Text"),
            (QtGui.QPalette.AlternateBase, "AlternateBase"),
            (QtGui.QPalette.ToolTipBase, "ToolTipBase"),
            (QtGui.QPalette.ToolTipText, "ToolTipText"),
            (QtGui.QPalette.Button, "Button"),
            (QtGui.QPalette.ButtonText, "ButtonText"),
            (QtGui.QPalette.BrightText, "BrightText"),
            (QtGui.QPalette.Link, "Link"),
        ):
            qpalette.setColor(key, QtGui.QColor(palette[tp]))
    else:
        qpalette = QtWidgets.QApplication.style().standardPalette()

    app.setPalette(qpalette)

    app.setEffectEnabled(QtCore.Qt.UI_AnimateMenu)

    QtGui.QFontDatabase.addApplicationFont(
        Code.path_resource("IntFiles", "ChessAlpha2.ttf"))

    if configuracion.x_font_family:
        font = Controles.TipoLetra(configuracion.x_font_family)
        app.setFont(font)

    Code.gc = QTUtil.GarbageCollector()

    procesador.iniciar_gui()

    resp = app.exec_()

    return resp