def __init__(self, manager, xengine, nombreOP, position, mrm, rmOP, rmUsu, analysis, is_competitive=None): self.is_competitive = manager.is_competitive if is_competitive is None else is_competitive self.nombreOP = nombreOP self.position = position self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analysis = analysis self.siAnalisisCambiado = False self.xengine = xengine self.manager = manager self.list_rm, self.posOP = self.do_lirm() titulo = _("Analysis") icono = Iconos.Analizar() extparam = "jzgm" QTVarios.WDialogo.__init__(self, manager.main_window, titulo, icono, extparam) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) self.lbComentario = Controles.LB(self, "").ponTipoLetra(puntos=10).align_center() config_board = manager.configuration.config_board("JUICIO", 32) self.board = Board.Board(self, config_board) self.board.crea() self.board.ponerPiezasAbajo(position.is_white) self.lbMotor = Controles.LB(self).align_center() self.lbTiempo = Controles.LB(self).align_center() liMas = ((_("Close"), "close", Iconos.AceptarPeque()),) lyBM, tbBM = QTVarios.lyBotonesMovimiento( self, "", siLibre=False, icon_size=24, siMas=manager.continueTt, liMasAcciones=liMas ) o_columns = Columnas.ListaColumnas() o_columns.nueva("POSREAL", "#", 40, centered=True) o_columns.nueva("JUGADAS", "%d %s" % (len(self.list_rm), _("Moves")), 120, centered=True) o_columns.nueva("PLAYER", _("Player"), 120) self.grid = Grid.Grid(self, o_columns, siSelecFilas=True) lyT = Colocacion.V().control(self.board).otro(lyBM).control(self.lbComentario) # Layout layout = Colocacion.H().otro(lyT).control(self.grid) self.setLayout(layout) self.grid.setFocus() self.grid.goto(self.posOP, 0) self.is_moving_time = False self.ponPuntos()
def __init__(self, gestor, xmotor, nombreOP, posicion, mrm, rmOP, rmUsu, analisis, siCompetitivo=None): self.siCompetitivo = gestor.siCompetitivo if siCompetitivo is None else siCompetitivo self.nombreOP = nombreOP self.posicion = posicion self.rmOP = rmOP self.rmUsu = rmUsu self.mrm = mrm self.analisis = analisis self.siAnalisisCambiado = False self.xmotor = xmotor self.gestor = gestor self.listaRM, self.posOP = self.hazListaRM() self.posicion = posicion titulo = _("Analysis") icono = Iconos.Analizar() extparam = "jzgm" QTVarios.WDialogo.__init__(self, gestor.pantalla, titulo, icono, extparam) self.colorNegativo = QTUtil.qtColorRGB(255, 0, 0) self.colorImpares = QTUtil.qtColorRGB(231, 244, 254) self.lbComentario = Controles.LB(self, "").ponTipoLetra(puntos=10).alinCentrado() confTablero = gestor.configuracion.confTablero("JUICIO", 32) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() self.tablero.ponerPiezasAbajo(posicion.siBlancas) self.lbMotor = Controles.LB(self).alinCentrado() self.lbTiempo = Controles.LB(self).alinCentrado() liMas = ((_("Close"), "close", Iconos.AceptarPeque()),) lyBM, tbBM = QTVarios.lyBotonesMovimiento(self, "", siLibre=False, tamIcon=24, siMas=gestor.continueTt, liMasAcciones=liMas) oColumnas = Columnas.ListaColumnas() oColumnas.nueva("POSREAL", "#", 40, siCentrado=True) oColumnas.nueva("JUGADAS", "%d %s" % (len(self.listaRM), _("Moves")), 120, siCentrado=True) oColumnas.nueva("PLAYER", _("Player"), 120) self.grid = Grid.Grid(self, oColumnas, siSelecFilas=True) lyT = Colocacion.V().control(self.tablero).otro(lyBM).control(self.lbComentario) # Layout layout = Colocacion.H().otro(lyT).control(self.grid) self.setLayout(layout) self.grid.setFocus() self.grid.goto(self.posOP, 0) self.siMoviendoTiempo = False self.ponPuntos()
def run_gui(procesador): app = QtWidgets.QApplication([]) # Usuarios list_users = Usuarios.Usuarios().list_users if len(list_users) > 1: main_config = Configuration.Configuration("") main_config.releeTRA() user = pide_usuario(list_users) if user == list_users[0]: user = None else: user = None procesador.start_with_user(user) configuration = procesador.configuration if user: if not configuration.x_player: configuration.x_player = user.name configuration.graba() elif configuration.x_player != user.name: for usu in list_users: if usu.number == user.number: usu.name = configuration.x_player Usuarios.Usuarios().save_list(list_users) # Comprobamos el lenguaje if not configuration.x_translator: if user: conf_main = Configuration.Configuration("") configuration.x_translator = conf_main.x_translator configuration.start() configuration.limpia(user.name) configuration.set_folders() configuration.graba() else: li = configuration.list_translations() li_info = locale.getdefaultlocale() lng_default = "en" name_default = "English" if len(li_info) == 2: lng = li_info[0][:2] for k, name, porc, author in li: if k == lng: name_default = name lng_default = lng menu = QTVarios.LCMenuRondo(None) menu.opcion(None, "Select your language", icono=Iconos.Book()) menu.separador() menu.opcion(lng_default, "By default: %s" % name_default, icono=Iconos.AceptarPeque()) menu.separador() font_metrics = QtGui.QFontMetrics(menu.font()) space_width = font_metrics.width(" ") mx = 0 d_with = {} for k, name, porc, author in li: if porc < 95: name += " (%d%%)" % porc name_with = font_metrics.width(name) d_with[k] = name, name_with if name_with > mx: mx = name_with mx += space_width * 2 for k, name, porc, author in li: name, name_with = d_with[k] resto = mx - name_with name += " " * (resto // space_width) + "by %s" % author if k == lng_default: menu.opcion(k, name, icono=Iconos.AceptarPeque()) else: menu.opcion(k, name) menu.separador() resp = menu.lanza() if resp: lng = resp else: lng = lng_default configuration.set_translator(lng) configuration.graba() configuration.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(configuration.x_style)) if configuration.palette: qpalette = QtGui.QPalette() palette = configuration.palette # palette = palette_dark = {'Window': '#353535', 'WindowText': '#b4b4b4', 'Base': '#2a2a2a', 'Text': '#b4b4b4', 'AlternateBase': '#424242', # 'ToolTipBase': '#353535', 'ToolTipText': '#b4b4b4', 'Button': '#353535', 'ButtonText': '#b4b4b4', 'BrightText': '#b4b4b4', # 'Link': '#38fcc4'} 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 configuration.x_font_family: font = Controles.TipoLetra(configuration.x_font_family) app.setFont(font) Code.gc = QTUtil.GarbageCollector() procesador.iniciar_gui() resp = app.exec_() return resp