Example #1
0
    def procesarAccion(self, clave):

        if clave == k_mainmenu:
            self.finPartida()

        elif clave == k_pgnPaste:
            self.paste()

        elif clave == k_pgnFichero:
            self.fichero(siBuscar=True)

        elif clave == k_anterior:
            self.ficheroMostrar(self.dicDB, True, siAnterior=True)

        elif clave == k_siguiente:
            self.ficheroMostrar(self.dicDB, True, siSiguiente=True)

        elif clave == k_pgnNuestroFichero:
            self.fichero(siNuestro=True)

        elif clave == k_trasteros:
            self.trasterosMenu()

        elif clave == k_pgnInformacion:
            self.informacion()

        elif clave == k_configurar:
            self.configurar(siCambioTutor=True)

        elif clave == k_utilidades:
            liMasOpciones = (("libros", _("Consult a book"),
                              Iconos.Libros()), (None, None, None),
                             ("bookguide", _("Personal Opening Guide"),
                              Iconos.BookGuide()), (None, None, None),
                             ("juega_solo",
                              _X(_('Open in "%1"'), _("Create your own game")),
                              Iconos.JuegaSolo()), (None, None, None),
                             ("play", _('Play current position'),
                              Iconos.MoverJugar()))
            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                self.librosConsulta(False)
            elif resp == "bookguide":
                self.bookGuide()
            elif resp == "juega_solo":
                self.procesador.jugarSolo(pgn=self.actualPGN())
            elif resp == "play":
                self.jugarPosicionActual()

        elif clave == k_pgnFicheroRepite:
            self.ficheroRepite()

        elif clave == k_jugadadia:
            self.jugadaDia()

        elif clave == k_pgnComandoExterno:
            self.comandoExterno()

        else:
            Gestor.Gestor.rutinaAccionDef(self, clave)
Example #2
0
 def haz_menu(frommenu, part):
     liOp = self.dbop.getOtras(self.configuracion, part)
     if liOp:
         otra = frommenu.submenu(_("Other opening lines"),
                                 Iconos.OpeningLines())
         for fichero, titulo in liOp:
             otra.opcion(("ol", (fichero, part)), titulo,
                         Iconos.PuntoVerde())
         frommenu.separador()
     frommenu.opcion(("pgn", part), _("PGN with variants"),
                     Iconos.Tablero())
     frommenu.separador()
     frommenu.opcion(("polyglot", part), _("Polyglot book"),
                     Iconos.Libros())
     frommenu.separador()
     frommenu.opcion(("summary", part), _("Database summary"),
                     Iconos.DatabaseC())
     frommenu.separador()
     frommenu.opcion(("voyager2", part), _("Voyager 2"),
                     Iconos.Voyager1())
     frommenu.separador()
     frommenu.opcion(("opening", part), _("Opening"), Iconos.Apertura())
     frommenu.separador()
     frommenu.opcion(("pgo", part), _("Personal Opening Guide"),
                     Iconos.BookGuide())
Example #3
0
    def tg_import(self):
        menu = QTVarios.LCMenu(self)

        li = self.bookGuide.getOtras()
        if li:
            otra = menu.submenu(_("Other guide"), Iconos.BookGuide())
            for k in li:
                otra.opcion(k, k, Iconos.PuntoVerde())
            menu.separador()
        menu.opcion("pgn", _("PGN with variants"), Iconos.Tablero())
        menu.separador()
        menu.opcion("polyglot", _("Polyglot book"), Iconos.Libros())
        menu.separador()
        menu1 = menu.submenu(_("Standard openings"), Iconos.Aperturas())
        menu1.opcion("std_all", _("All"), Iconos.PuntoVerde())
        menu1.separador()
        menu1.opcion("std_basic", _("Only basic"), Iconos.PuntoAmarillo())
        resp = menu.lanza()
        if resp is None:
            return

        if resp == "pgn":
            siGrabado = self.tg_append_pgn()
        elif resp == "std_all":
            siGrabado = self.tg_append_std(False)
        elif resp == "std_basic":
            siGrabado = self.tg_append_std(True)
        elif resp == "polyglot":
            siGrabado = self.tg_append_polyglot()
        else:
            siGrabado = self.tg_append_otra(resp)

        if siGrabado:
            self.cambiarGuia(self.bookGuide.name)
Example #4
0
    def procesarAccion(self, clave):

        if clave == k_mainmenu:
            self.finPartida()

        elif clave == k_atras:
            self.atras()

        elif clave == k_reiniciar:
            self.reiniciar(self.reinicio)

        elif clave == k_configurar:
            self.configurarGS()

        elif clave == k_utilidades:
            liMasOpciones = (
                ("libros", _("Consult a book"), Iconos.Libros()),
                (None, None, None),
                ("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()),
                (None, None, None),
                ("play", _('Play current position'), Iconos.MoverJugar())
            )

            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                liMovs = self.librosConsulta(True)
                if liMovs:
                    for x in range(len(liMovs) - 1, -1, -1):
                        desde, hasta, coronacion = liMovs[x]
                        self.mueveHumano(desde, hasta, coronacion)
            elif resp == "bookguide":
                self.bookGuide()
            elif resp == "play":
                self.jugarPosicionActual()

        elif clave == k_pgnInformacion:
            self.informacion()

        elif clave == k_grabar:
            if self.siPGN:
                self.grabarPGN()
                self.pantalla.accept()
            else:
                self.grabar()

        elif clave in (k_cancelar, k_finpartida):
            self.pantalla.reject()  # self.siPGN

        elif clave == k_grabarComo:
            self.grabarComo()

        elif clave == k_recuperar:
            self.recuperar()

        elif clave == k_ayudaMover:
            self.ayudaMover(999)

        else:
            Gestor.Gestor.rutinaAccionDef(self, clave)
Example #5
0
def menuTools_savemenu(procesador, dicDatos=None):
    savemenu = SaveMenu(dicDatos, procesador.menuTools_run)

    savemenu.opcion("juega_solo", _("Create your own game"),
                    Iconos.JuegaSolo())
    savemenu.separador()

    menu1 = savemenu.submenu(_("PGN viewer"), Iconos.PGN())
    menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar())
    menu1.separador()
    menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero())
    menu1.separador()
    menu1.opcion("pgn_miniatura", _("Miniature of the day"),
                 Iconos.Miniatura())
    menu1.separador()
    if procesador.configuracion.liTrasteros:
        menu1.opcion("pgn_trasteros", _("Boxrooms PGN"), Iconos.Trasteros())
        menu1.separador()
    if procesador.configuracion.salvarFichero and Util.existeFichero(
            procesador.configuracion.salvarFichero):
        menu1.opcion("pgn_nuestroFichero", _("My games"),
                     Iconos.NuestroFichero())
    savemenu.separador()

    menu1 = savemenu.submenu(_("Database"), Iconos.Database())
    menu1.opcion("database", _("Complete games"), Iconos.DatabaseC())
    menu1.separador()
    menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF())
    savemenu.separador()

    savemenu.opcion("manual_save", _("Save positions to FNS/PGN"),
                    Iconos.ManualSave())
    savemenu.separador()

    menu1 = savemenu.submenu(_("Openings"), Iconos.Aperturas())
    menu1.opcion("openings", _("Opening lines"), Iconos.OpeningLines())
    menu1.separador()
    menu1.opcion("bookguide", _("Personal Opening Guide"), Iconos.BookGuide())
    menu1.separador()
    menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura())
    savemenu.separador()

    menu1 = savemenu.submenu(_("Engines"), Iconos.Motores())
    menu1.opcion("torneos", _("Tournaments between engines"), Iconos.Torneos())
    menu1.separador()
    menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS())
    menu1.separador()
    menu1.opcion("motores", _("External engines"), Iconos.Motores())
    menu1.separador()
    menu1.opcion("kibitzers", _("Kibitzers"), Iconos.Kibitzer())
    savemenu.separador()
    return savemenu
    def procesarAccion(self, clave):
        if clave == k_cancelar:
            self.finalizar()

        elif clave == k_rendirse:
            self.rendirse()

        elif clave == k_atras:
            self.atras()

        elif clave == k_peliculaPausa:
            self.pausa()

        elif clave == k_peliculaSeguir:
            self.seguir()

        elif clave == k_reiniciar:
            self.reiniciar(True)

        elif clave == k_configurar:
            self.configurar(siSonidos=True)

        elif clave == k_utilidades:
            liMasOpciones = []
            if self.siJuegaHumano or self.siTerminada():
                liMasOpciones.append(
                    ("libros", _("Consult a book"), Iconos.Libros()))
                liMasOpciones.append((None, None, None))
                liMasOpciones.append(("bookguide", _("Personal Opening Guide"),
                                      Iconos.BookGuide()))

            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                siEnVivo = self.siJuegaHumano and not self.siTerminada()
                liMovs = self.librosConsulta(siEnVivo)
                if liMovs and siEnVivo:
                    desde, hasta, coronacion = liMovs[-1]
                    self.mueveHumano(desde, hasta, coronacion)
            elif resp == "bookguide":
                self.bookGuide()

        elif clave == k_aplazar:
            self.aplazar()

        else:
            self.rutinaAccionDef(clave)
Example #7
0
    def procesarAccion(self, clave):

        if clave == k_aceptar:
            self.siAceptado = True
            # self.resultado =
            self.procesador.pararMotores()
            self.pantalla.accept()

        elif clave == k_cancelar:
            self.procesador.pararMotores()
            self.pantalla.reject()

        elif clave == k_atras:
            self.atras()

        elif clave == k_reiniciar:
            self.reiniciar()

        elif clave == k_configurar:
            self.configurar()

        elif clave == k_utilidades:
            liMasOpciones = []
            if self.okMasOpciones:
                liMasOpciones = (
                    ("libros", _("Consult a book"), Iconos.Libros()),
                    (None, None, None),
                    ("bookguide", _("Personal Opening Guide"),
                     Iconos.BookGuide()),
                )
            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                liMovs = self.librosConsulta(True)
                if liMovs:
                    for x in range(len(liMovs) - 1, -1, -1):
                        desde, hasta, coronacion = liMovs[x]
                        self.mueveHumano(desde, hasta, coronacion)
            elif resp == "bookguide":
                self.bookGuide()

        else:
            Gestor.Gestor.rutinaAccionDef(self, clave)
Example #8
0
    def importarPGO(self, partida):
        li = [(uno.name[:-4], uno.path)
              for uno in Util.listdir(self.configuracion.carpeta)
              if uno.name.endswith(".pgo")]
        if not li:
            QTUtil2.mensError(self, _("There is no one"))
            return

        liGen = [(None, None)]

        config = FormLayout.Combobox(_("Personal Opening Guide"), li)
        liGen.append((config, li[0][0]))

        liGen.append((
            None,
            _("Select a maximum number of moves (plies)<br> to consider from each game"
              )))

        liGen.append((FormLayout.Spinbox(_("Depth"), 3, 999, 50), 30))
        liGen.append((None, None))

        resultado = FormLayout.fedit(liGen,
                                     title=_("Personal Opening Guide"),
                                     parent=self,
                                     anchoMinimo=460,
                                     icon=Iconos.BookGuide())

        if resultado:
            accion, liResp = resultado
            pgo, depth = liResp

            self.dbop.importarPGO(partida, pgo, depth)
            self.glines.refresh()
            self.glines.gotop()

            QTUtil2.mensaje(self, _("Imported"))
Example #9
0
    def tools(self):
        menu = QTVarios.LCMenu(self.pantalla)

        menu.opcion("juega_solo", _("Create your own game"),
                    Iconos.JuegaSolo())
        menu.separador()

        menu1 = menu.submenu(_("PGN viewer"), Iconos.PGN())
        menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar())
        menu1.separador()
        menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero())
        menu1.separador()
        menu1.opcion("pgn_jugadadia", _("Game of the day"), Iconos.LM())
        menu1.separador()
        if self.configuracion.liTrasteros:
            menu1.opcion("pgn_trasteros", _("Boxrooms PGN"),
                         Iconos.Trasteros())
            menu1.separador()
        if self.configuracion.salvarFichero and Util.existeFichero(
                self.configuracion.salvarFichero):
            menu1.opcion("pgn_nuestroFichero", _("My games"),
                         Iconos.NuestroFichero())
        menu.separador()

        menu1 = menu.submenu(_("Database"), Iconos.Database())
        menu1.opcion("database", _("Complete games"), Iconos.DatabaseC())
        # menu1.separador()
        # menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF()) # TODO
        menu.separador()

        menu.opcion("manual_save", _("Save positions to FNS/PGN"),
                    Iconos.ManualSave())
        menu.separador()

        menu1 = menu.submenu(_("Openings"), Iconos.Aperturas())
        menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura())
        menu1.separador()
        menu1.opcion("bookguide", _("Personal Opening Guide"),
                     Iconos.BookGuide())
        menu.separador()
        menu.separador()

        menu1 = menu.submenu(_("Engines"), Iconos.Motores())
        menu1.opcion("torneos", _("Tournaments between engines"),
                     Iconos.Torneos())
        menu1.separador()
        menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS())
        menu1.separador()
        menu1.opcion("motores", _("External engines"), Iconos.Motores())
        menu.separador()

        resp = menu.lanza()
        if resp:
            if resp.startswith("pgn_"):
                self.visorPGN(resp)

            elif resp == "juega_solo":
                self.jugarSolo()

            elif resp == "torneos":
                self.torneos()
            elif resp == "motores":
                self.motoresExternos()
            elif resp == "sts":
                self.sts()

            elif resp == "manual_save":
                self.manual_save()

            elif resp == "database":
                self.database()

            elif resp == "databaseFEN":
                self.databaseFEN()

            elif resp == "aperturaspers":
                self.aperturaspers()
            elif resp == "bookguide":
                w = WBGuide.WBGuide(self.pantalla, self)
                w.exec_()
Example #10
0
    def __init__(self, procesador, winBookGuide, dbGames, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.winBookGuide = winBookGuide

        self.dbGames = dbGames  # <--setdbGames
        self.bookGuide = winBookGuide.bookGuide
        self.infoMove = None  # <-- setInfoMove
        self.wmoves = None  # <-- setwmoves
        self.fenM2 = None
        self.liMoves = []
        self.analisisMRM = None
        self.siMoves = siMoves
        self.procesador = procesador
        self.configuracion = procesador.configuracion

        self.leeConfig()

        self.aperturasStd = AperturasStd.ListaAperturasStd(
            self.configuracion, False, False)

        self.siFigurinesPGN = self.configuracion.figurinesPGN

        self.pvBase = ""

        self.orden = ["games", False]

        self.lbName = Controles.LB(
            self, "").ponWrap().alinCentrado().ponColorFondoN(
                "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16)
        if not siMoves:
            self.lbName.hide()

        # Grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("numero", _("N."), 35, siCentrado=True)
        self.delegadoMove = Delegados.EtiquetaPGN(
            True if self.siFigurinesPGN else None)
        oColumnas.nueva("move", _("Move"), 60, edicion=self.delegadoMove)
        dicTipos = {
            "t": Iconos.pmTransposition(),
        }
        oColumnas.nueva("trans",
                        "",
                        24,
                        edicion=Delegados.PmIconosBMT(dicIconos=dicTipos))
        oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True)
        oColumnas.nueva("games", _("Games"), 70, siDerecha=True)
        oColumnas.nueva("pgames",
                        "% " + _("Games"),
                        70,
                        siDerecha=True,
                        siCentrado=True)
        oColumnas.nueva("win", _("Win"), 70, siDerecha=True)
        oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True)
        oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True)
        oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True)
        oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True)
        oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True)
        oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True)
        oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True)

        self.grid = Grid.Grid(self,
                              oColumnas,
                              xid="summary",
                              siSelecFilas=True)
        self.grid.tipoLetra(puntos=self.configuracion.puntosPGN)
        self.grid.ponAltoFila(self.configuracion.altoFilaPGN)

        # ToolBar
        liAcciones = [
            (_("Close"), Iconos.MainMenu(), winBookGuide.terminar),
            None,
            (_("Start position"), Iconos.Inicio(), self.inicio),
            None,
            (_("Previous"), Iconos.AnteriorF(), self.anterior),
            (_("Next"), Iconos.SiguienteF(), self.siguiente),
            None,
            (_("Analyze"), Iconos.Analizar(), self.analizar),
            None,
            (_("Rebuild"), Iconos.Reindexar(), self.reindexar),
            None,
            (_("Config"), Iconos.Configurar(), self.config),
            None,
        ]
        if siMoves:
            liAcciones.append(
                (_("Create a new guide based in these games") if siMoves else
                 _("Create"), Iconos.BookGuide(), self.createGuide))
            liAcciones.append(None)

        self.tb = Controles.TBrutina(self,
                                     liAcciones,
                                     tamIcon=20,
                                     siTexto=not self.siMoves)
        if self.siMoves:
            self.tb.vertical()

        layout = Colocacion.V().control(self.lbName)
        if not self.siMoves:
            layout.control(self.tb)
        layout.control(self.grid)
        if self.siMoves:
            layout = Colocacion.H().control(self.tb).otro(layout)

        layout.margen(1)

        self.setLayout(layout)

        self.qtColor = (QTUtil.qtColorRGB(221, 255, 221),
                        QTUtil.qtColorRGB(247, 247, 247),
                        QTUtil.qtColorRGB(255, 217, 217))
        self.qtColorTotales = QTUtil.qtColorRGB(170, 170, 170)
Example #11
0
    def procesarAccion(self, clave):
        if clave == k_cancelar:
            self.finalizar()

        elif clave == k_rendirse:
            self.rendirse()

        elif clave == k_tablas:
            self.tablasPlayer()

        elif clave == k_atras:
            self.atras()

        elif clave == k_peliculaPausa:
            self.pausa()

        elif clave == k_peliculaSeguir:
            self.seguir()

        elif clave == k_ayudaMover:
            self.analizaFinal()
            self.ayudaMover(999)

        elif clave == k_reiniciar:
            self.reiniciar(True)

        elif clave == k_configurar:
            liMasOpciones = []
            if self.estado == kJugando:
                liMasOpciones.append((None, None, None))
                liMasOpciones.append(("rival", _("Change opponent"), Iconos.Motor()))
            resp = self.configurar(liMasOpciones, siSonidos=True, siCambioTutor=self.ayudasPGN > 0)
            if resp == "rival":
                self.cambioRival()

        elif clave == k_utilidades:
            liMasOpciones = []
            if self.siJuegaHumano or self.siTerminada():
                liMasOpciones.append(("libros", _("Consult a book"), Iconos.Libros()))
                liMasOpciones.append((None, None, None))
                liMasOpciones.append(("bookguide", _("Personal Opening Guide"), Iconos.BookGuide()))
                liMasOpciones.append((None, None, None))
                liMasOpciones.append(("play", _('Play current position'), Iconos.MoverJugar()))

            resp = self.utilidades(liMasOpciones)
            if resp == "libros":
                siEnVivo = self.siJuegaHumano and not self.siTerminada()
                liMovs = self.librosConsulta(siEnVivo)
                if liMovs and siEnVivo:
                    desde, hasta, coronacion = liMovs[-1]
                    self.mueveHumano(desde, hasta, coronacion)
            elif resp == "bookguide":
                self.bookGuide()
            elif resp == "play":
                self.jugarPosicionActual()

        elif clave == k_aplazar:
            self.aplazar()

        else:
            self.rutinaAccionDef(clave)
Example #12
0
    def __init__(self, wParent, procesador, fenM2inicial=None, pvInicial=None):

        icono = Iconos.BookGuide()
        extparam = "edicionMyOwnBook"
        titulo = _("Personal Opening Guide")
        QTVarios.WDialogo.__init__(self, wParent, titulo, icono, extparam)

        self.procesador = procesador
        self.configuracion = procesador.configuracion

        self.fenM2inicial = fenM2inicial
        self.pvInicial = pvInicial
        self.bookGuide = BookGuide.BookGuide(self)
        self.dbGames = DBgames.DBgames(self.configuracion.ficheroDBgames)

        dicVideo = self.recuperarDicVideo()

        self.wmoves = WBG_Moves.WMoves(procesador, self)

        self.wsummary = WBG_Summary.WSummary(procesador, self, self.dbGames)

        self.wgames = WBG_Games.WGames(procesador, self, self.dbGames,
                                       self.wsummary)

        self.registrarGrid(self.wsummary.grid)
        self.registrarGrid(self.wgames.grid)

        self.ultFocus = None

        self.splitterMoves = QtGui.QSplitter(self)
        self.splitterMoves.setOrientation(QtCore.Qt.Vertical)
        self.splitterMoves.addWidget(self.wmoves)
        self.splitterMoves.addWidget(self.wsummary)

        self.tab = Controles.Tab()
        self.tab.nuevaTab(self.splitterMoves, _("Moves"))
        self.tab.nuevaTab(self.wgames, _("Games"))
        self.tab.dispatchChange(self.tabChanged)

        self.infoMove = WBG_InfoMove.WInfomove(self)

        self.splitter = splitter = QtGui.QSplitter(self)
        splitter.addWidget(self.infoMove)
        splitter.addWidget(self.tab)

        layout = Colocacion.H().control(splitter).margen(5)

        self.setLayout(layout)

        self.wmoves.tree.setFocus()

        self.recuperarVideo(anchoDefecto=1175)
        if not dicVideo:
            dicVideo = {
                'SPLITTER': [380, 816],
                'TREE_1': 25,
                'TREE_2': 25,
                'TREE_3': 50,
                'TREE_4': 661,
                'SPLITTERMOVES': [344, 244]
            }
        sz = dicVideo.get("SPLITTER", None)
        if sz:
            self.splitter.setSizes(sz)
        for x in range(1, 6):
            w = dicVideo.get("TREE_%d" % x, None)
            if w:
                self.wmoves.tree.setColumnWidth(x, w)

        self.inicializa()
Example #13
0
    def __init__(self, procesador, winBookGuide, dbGames, siMoves=True):
        QtGui.QWidget.__init__(self)

        self.winBookGuide = winBookGuide

        self.dbGames = dbGames  # <--setdbGames
        self.bookGuide = winBookGuide.bookGuide
        self.infoMove = None  # <-- setInfoMove
        self.wmoves = None  # <-- setwmoves
        self.fenM2 = None
        self.liMoves = []
        self.analisisMRM = None
        self.siMoves = siMoves
        self.procesador = procesador

        self.pvBase = ""

        self.orden = ["games", False]

        self.lbName = Controles.LB(
            self, "").ponWrap().alinCentrado().ponColorFondoN(
                "white", "#4E5A65").ponTipoLetra(puntos=10 if siMoves else 16)
        if not siMoves:
            self.lbName.hide()

        # Grid
        oColumnas = Columnas.ListaColumnas()
        oColumnas.nueva("move", _("Move"), 60)
        oColumnas.nueva("analisis", _("Analysis"), 60, siDerecha=True)
        oColumnas.nueva("games", _("Games"), 70, siDerecha=True)
        oColumnas.nueva("pgames",
                        "% " + _("Games"),
                        70,
                        siDerecha=True,
                        siCentrado=True)
        oColumnas.nueva("win", _("Win"), 70, siDerecha=True)
        oColumnas.nueva("draw", _("Draw"), 70, siDerecha=True)
        oColumnas.nueva("lost", _("Lost"), 70, siDerecha=True)
        oColumnas.nueva("pwin", "% " + _("Win"), 60, siDerecha=True)
        oColumnas.nueva("pdraw", "% " + _("Draw"), 60, siDerecha=True)
        oColumnas.nueva("plost", "% " + _("Lost"), 60, siDerecha=True)
        oColumnas.nueva("pdrawwin", "%% %s" % _("W+D"), 60, siDerecha=True)
        oColumnas.nueva("pdrawlost", "%% %s" % _("L+D"), 60, siDerecha=True)

        self.grid = Grid.Grid(self, oColumnas, id="summary", siSelecFilas=True)

        # ToolBar
        liAcciones = [
            (_("Previous"), Iconos.AnteriorF(), "anterior"),
            (_("Next"), Iconos.SiguienteF(), "siguiente"),
            None,
            (_("Analyze"), Iconos.Analizar(), "analizar"),
            None,
            (_("Rebuild"), Iconos.Reindexar(), "reindexar"),
            None,
            (_("Summary filtering by player") if siMoves else _("By player"),
             Iconos.Player(), "reindexarPlayer"),
            None,
        ]
        if siMoves:
            liAcciones.append(
                (_("Create a new guide based in these games")
                 if siMoves else _("Create"), Iconos.BookGuide(), "create"))
            liAcciones.append(None)

        self.tb = Controles.TB(self,
                               liAcciones,
                               tamIcon=20,
                               siTexto=not self.siMoves)
        if self.siMoves:
            self.tb.vertical()

        layout = Colocacion.V().control(self.lbName)
        if not self.siMoves:
            layout.control(self.tb)
        layout.control(self.grid)
        if self.siMoves:
            layout = Colocacion.H().control(self.tb).otro(layout)

        layout.margen(1)

        self.setLayout(layout)

        self.qtColor = (QTUtil.qtColorRGB(221, 255, 221),
                        QTUtil.qtColorRGB(247, 247, 247),
                        QTUtil.qtColorRGB(255, 217, 217))
Example #14
0
    def tools(self):
        menu = QTVarios.LCMenu(self.pantalla)

        menu.opcion("juega_solo", _("Create your own game"),
                    Iconos.JuegaSolo())
        menu.separador()

        menu1 = menu.submenu(_("PGN viewer"), Iconos.PGN())
        menu1.opcion("pgn_paste", _("Paste PGN"), Iconos.Pegar())
        menu1.separador()
        menu1.opcion("pgn_fichero", _("Read PGN"), Iconos.Fichero())
        menu1.separador()
        menu1.opcion("pgn_jugadadia", _("Game of the day"), Iconos.LM())
        menu1.separador()
        if self.configuracion.liTrasteros:
            menu1.opcion("pgn_trasteros", _("Boxrooms PGN"),
                         Iconos.Trasteros())
            menu1.separador()
        if self.configuracion.salvarFichero and Util.existeFichero(
                self.configuracion.salvarFichero):
            menu1.opcion("pgn_nuestroFichero", _("My games"),
                         Iconos.NuestroFichero())
        menu.separador()

        menu1 = menu.submenu(_("Database"), Iconos.Database())
        menu1.opcion("database", _("Complete games"), Iconos.DatabaseC())
        menu1.separador()
        menu1.opcion("databaseFEN", _("Positions"), Iconos.DatabaseF())
        menu.separador()

        menu1 = menu.submenu(_("Engines"), Iconos.Motores())
        menu1.opcion("torneos", _("Tournaments between engines"),
                     Iconos.Torneos())
        menu1.separador()
        menu1.opcion("motores", _("External engines"), Iconos.Motores())
        menu1.separador()
        menu1.opcion("sts", _("STS: Strategic Test Suite"), Iconos.STS())
        menu.separador()

        menu1 = menu.submenu(_("Openings"), Iconos.Aperturas())
        menu1.opcion("aperturaspers", _("Custom openings"), Iconos.Apertura())
        menu1.separador()
        menu1.opcion("bookguide", _("Personal Opening Guide"),
                     Iconos.BookGuide())
        menu.separador()
        menu.separador()

        # menu1 = menu.submenu(_("Correspondence Chess"), Iconos.XFCC())
        # liRemoves = []
        # for f in Util.listfiles(self.configuracion.carpeta, "*.xfcc"):
        # nomf = os.path.basename(f)[:-5]
        # x = nomf.rfind("_")
        # if x > 0:
        # user = nomf[x + 1:].lower()
        # server = nomf[:x]
        # menu1.opcion("xfcc|%s|%s|%s" % (user, server, f), "%s: %s" % (server, user), Iconos.PuntoAzul())
        # menu1.separador()
        # liRemoves.append((user, server, f))

        # menu1.opcion("xfcc_nuevo", _("New link"), Iconos.Mas())
        # if liRemoves:
        # menu1.separador()
        # menu2 = menu1.submenu(_("Remove"), Iconos.Delete())
        # for user, server, f in liRemoves:
        # menu2.opcion("del_xfcc|%s|%s|%s" % (user, server, f), "%s: %s" % (server, user), Iconos.PuntoNaranja())
        # menu2.separador()

        resp = menu.lanza()
        if resp:
            if resp.startswith("pgn_"):
                self.visorPGN(resp)

            elif resp == "juega_solo":
                self.jugarSolo()

            elif resp == "torneos":
                self.torneos()
            elif resp == "motores":
                self.motoresExternos()
            elif resp == "sts":
                self.sts()

            elif resp == "database":
                self.database()
            elif resp == "databaseFEN":
                self.databaseFEN()

            elif resp == "aperturaspers":
                self.aperturaspers()
            elif resp == "bookguide":
                w = WBGuide.WBGuide(self.pantalla, self)
                w.exec_()