def portapapeles(self):
     pgn = self.current_pgn()
     QTUtil.ponPortapapeles(pgn)
     QTUtil2.mensajeTemporal(
         self,
         _("It is saved in the clipboard to paste it wherever you want."),
         2)
示例#2
0
 def mousePressEvent(self, event):
     super(Histogram, self).mousePressEvent(event)
     ep = self.mapToScene(event.pos())
     if self.owner.valorShowLostPoints():
         for p in self.hserie.liPoints:
             if p.rlostp:
                 if p.rect_lost.contains(ep):
                     self.dispatch(p.gridPos)
     if event.button() == QtCore.Qt.RightButton:
         menu = QTVarios.LCMenu(self)
         menu.opcion("clip", _("Copy to clipboard"), Iconos.Clip())
         menu.separador()
         menu.opcion("file", _("Save") + " png", Iconos.GrabarFichero())
         resp = menu.lanza()
         if resp:
             pm = QtGui.QPixmap.grabWidget(self)
             if resp == "clip":
                 QTUtil.ponPortapapeles(pm, tipo="p")
             else:
                 configuracion = VarGen.configuracion
                 path = QTUtil2.salvaFichero(self, _("File to save"),
                                             configuracion.dirSalvados,
                                             "%s PNG (*.png)" % _("File"),
                                             False)
                 if path:
                     pm.save(path, "png")
                     configuracion.dirSalvados = os.path.dirname(path)
                     configuracion.graba()
示例#3
0
    def guardar(self):
        nrecs = self.dbf.reccount()
        if nrecs == 0:
            return
        elif nrecs > 1:
            menu = QTVarios.LCMenu(self)
            menu.opcion("all", _("All games"), Iconos.PuntoNaranja())
            menu.separador()
            menu.opcion("selected", _("Selected games"), Iconos.PuntoAzul())
            resp = menu.lanza()
            if resp is None:
                return
            elif resp == "all":
                liSelected = range(nrecs)
            else:
                liSelected = self.grid.recnosSeleccionados()
        else:
            liSelected = [0]

        extension = "pgn"
        resp = QTUtil2.salvaFichero(
            self, _("File to save"), self.gestor.configuracion.dirSalvados,
            _("File") + " %s (*.%s)" % (extension, extension), False)
        if resp:
            antSelect = self.dbf.select
            nueSelect = antSelect + ",PGN"
            self.dbf.ponSelect(nueSelect)
            self.dbf.leer()
            self.dbf.gotop()
            li = []
            for i in liSelected:
                self.dbf.goto(i)
                dic = self.dbf.dicValores()
                li.append(dic["PGN"])
            dato = "\n\n".join(li)
            try:
                modo = "w"
                if Util.existeFichero(resp):
                    modo = "a"
                    dato = "\n" * 2 + dato
                f = codecs.open(resp, modo, 'utf-8', 'ignore')
                f.write(dato.replace("\n", "\r\n"))
                f.close()
                QTUtil2.mensaje(self, _X(_("Saved to %1"), resp))
                direc = os.path.dirname(resp)
                if direc != self.gestor.configuracion.dirSalvados:
                    self.gestor.configuracion.dirSalvados = direc
                    self.gestor.configuracion.graba()
            except:
                QTUtil.ponPortapapeles(dato)
                QTUtil2.mensError(
                    self, "%s : %s\n\n%s" %
                    (_("Unable to save"), resp,
                     _("It is saved in the clipboard to paste it wherever you want."
                       )))

            self.dbf.ponSelect(antSelect)
示例#4
0
 def portapapelesUltJug(self):
     if self.liData and self.siAnalizar():
         una = self.liData[-1]
         pgn = una["pgn"]
         li = pgn.split(" ")
         n = 2 if "..." in pgn else 1
         resp = " ".join(li[0:n])
         resp += self.comentario(una)
         if len(li) > n:
             resp += " ".join(li[n:])
         QTUtil.ponPortapapeles(resp)
示例#5
0
 def portapapelesUltJug(self):
     if self.liData and self.siAnalizar():
         una = self.liData[-1]
         pgn = una["pgn"]
         li = pgn.split(" ")
         n = 2 if "..." in pgn else 1
         resp = " ".join(li[0:n])
         resp += self.comentario(una)
         if len(li) > n:
             resp += " ".join(li[n:])
         QTUtil.ponPortapapeles(resp)
示例#6
0
    def guardar(self):
        nrecs = self.dbf.reccount()
        if nrecs == 0:
            return
        elif nrecs > 1:
            menu = QTVarios.LCMenu(self)
            menu.opcion("all", _("All games"), Iconos.PuntoNaranja())
            menu.separador()
            menu.opcion("selected", _("Selected games"), Iconos.PuntoAzul())
            resp = menu.lanza()
            if resp is None:
                return
            elif resp == "all":
                liSelected = range(nrecs)
            else:
                liSelected = self.grid.recnosSeleccionados()
        else:
            liSelected = [0]

        extension = "pgn"
        resp = QTUtil2.salvaFichero(self, _("File to save"), self.gestor.configuracion.dirSalvados,
                                    _("File") + " %s (*.%s)" % (extension, extension), False)
        if resp:
            antSelect = self.dbf.select
            nueSelect = antSelect + ",PGN"
            self.dbf.ponSelect(nueSelect)
            self.dbf.leer()
            self.dbf.gotop()
            li = []
            for i in liSelected:
                self.dbf.goto(i)
                dic = self.dbf.dicValores()
                li.append(dic["PGN"])
            dato = "\n\n".join(li)
            try:
                modo = "w"
                if Util.existeFichero(resp):
                    modo = "a"
                    dato = "\n" * 2 + dato
                f = codecs.open(resp, modo, 'utf-8', 'ignore')
                f.write(dato.replace("\n", "\r\n"))
                f.close()
                QTUtil2.mensaje(self, _X(_("Saved to %1"), resp))
                direc = os.path.dirname(resp)
                if direc != self.gestor.configuracion.dirSalvados:
                    self.gestor.configuracion.dirSalvados = direc
                    self.gestor.configuracion.graba()
            except:
                QTUtil.ponPortapapeles(dato)
                QTUtil2.mensError(self, "%s : %s\n\n%s" % (
                    _("Unable to save"), resp, _("It is saved in the clipboard to paste it wherever you want.") ))

            self.dbf.ponSelect(antSelect)
示例#7
0
    def portapapelesUltJug(self):
        if self.liData and self.siAnalizar():
            una = self.liData[-1]
            pgn = una["pgn"]
            if "..." in pgn:
                pgn = pgn.lstrip("0123456789. ")
            li = pgn.split(" ")
            resp = self.pgn1 + " " + li[0]
            resp += self.comentario(una)
            if len(li) > 1:
                resp += " ".join(li[1:])

            QTUtil.ponPortapapeles(resp)
示例#8
0
 def portapapelesUltJug(self):
     if self.liData and self.siAnalizar():
         rm = self.liData[0]
         p = Partida.Partida(fen=self.fen)
         p.leerPV(rm.pv)
         pgn = p.pgnSP()
         li = pgn.split(" ")
         n = 2 if "..." in pgn else 1
         resp = " ".join(li[0:n])
         resp += " {%s D%s} " % (rm.abrTexto(), rm.depth)
         if len(li) > n:
             resp += " ".join(li[n:])
         QTUtil.ponPortapapeles(resp)
示例#9
0
 def portapapelesUltJug(self):
     if self.liData and self.siAnalizar():
         rm = self.liData[0]
         p = Partida.Partida(fen=self.fen)
         p.leerPV(rm.pv)
         pgn = p.pgnSP()
         li = pgn.split(" ")
         n = 2 if "..." in pgn else 1
         resp = " ".join(li[0:n])
         resp += " {%s D%s} " % (rm.abrTexto(), rm.depth)
         if len(li) > n:
             resp += " ".join(li[n:])
         QTUtil.ponPortapapeles(resp)
示例#10
0
    def portapapelesUltJug(self):
        if self.liData and self.siAnalizar():
            una = self.liData[-1]
            pgn = una["pgn"]
            if "..." in pgn:
                pgn = pgn.lstrip("0123456789. ")
            li = pgn.split(" ")
            resp = self.pgn1 + " " + li[0]
            resp += self.comentario(una)
            if len(li) > 1:
                resp += " ".join(li[1:])

            QTUtil.ponPortapapeles(resp)
示例#11
0
 def mousePressEvent(self, event):
     if event.button() == QtCore.Qt.RightButton:
         if not self.game:
             return
         event.ignore()
         menu = QTVarios.LCMenu(self)
         menu.opcion("copy", _("Copy"), Iconos.Clipboard())
         menu.opcion("copy_sel", _("Copy to selected position"), Iconos.Clipboard())
         resp = menu.lanza()
         if resp == "copy":
             QTUtil.ponPortapapeles(self.game.pgn())
         elif resp == "copy_sel":
             g = self.game.copia(self.pos_move)
             QTUtil.ponPortapapeles(g.pgn())
示例#12
0
 def portapapelesJugSelected(self):
     if self.liData:
         n = self.grid.recno()
         if n < 0 or n >= len(self.liData):
             n = 0
         rm = self.liData[n]
         p = Game.Game(fen=self.fen)
         p.read_pv(rm.pv)
         jg0 = p.move(0)
         jg0.comment = rm.abrTextoPDT() + " " + self.nom_engine
         pgn = p.pgnBaseRAW()
         resp = '["FEN", "%s"]\n\n%s' % (self.fen, pgn)
         QTUtil.ponPortapapeles(resp)
         QTUtil2.mensajeTemporal(self, _("The line selected is saved to the clipboard"), 0.7)
示例#13
0
 def process_toolbar(self, accion, max_recursion):
     if self.rm:
         if accion == "MoverAdelante":
             self.moving_tutor(n_saltar=1)
         elif accion == "MoverAtras":
             self.moving_tutor(n_saltar=-1)
         elif accion == "MoverInicio":
             self.moving_tutor(si_inicio=True)
         elif accion == "MoverFinal":
             self.moving_tutor(si_final=True)
         elif accion == "MoverTiempo":
             self.move_timed()
         elif accion == "MoverLibre":
             self.external_analysis(max_recursion)
         elif accion == "MoverFEN":
             move = self.game_tutor.move(self.pos_tutor)
             QTUtil.ponPortapapeles(move.position.fen())
             QTUtil2.message_bold(self.w, _("FEN is in clipboard"))
示例#14
0
 def procesarTB(self, accion):
     accion = accion[5:]
     if accion in ("Adelante", "Atras", "Inicio", "Final"):
         self.um.cambiaMovActual(accion)
         self.ponTablero()
     elif accion == "Libre":
         self.um.analizaExterior(self.owner, self.owner.siBlancas)
     elif accion == "Tiempo":
         self.lanzaTiempo()
     elif accion == "Grabar":
         self.grabar()
     elif accion == "GrabarTodos":
         self.grabarTodos()
     elif accion == "Jugar":
         self.jugarPosicion()
     elif accion == "FEN":
         QTUtil.ponPortapapeles(self.um.fenActual())
         QTUtil2.mensajeTemporal(self, _("FEN is in clipboard"), 1)
示例#15
0
 def procesarTB(self, accion, maxRecursion):
     if self.rm:
         if accion == "MoverAdelante":
             self.mueveTutor(nSaltar=1)
         elif accion == "MoverAtras":
             self.mueveTutor(nSaltar=-1)
         elif accion == "MoverInicio":
             self.mueveTutor(siInicio=True)
         elif accion == "MoverFinal":
             self.mueveTutor(siFinal=True)
         elif accion == "MoverTiempo":
             self.mueveTiempo()
         elif accion == "MoverLibre":
             self.analizaExterior(maxRecursion)
         elif accion == "MoverFEN":
             jg = self.partidaTutor.jugada(self.posTutor)
             QTUtil.ponPortapapeles(jg.posicion.fen())
             QTUtil2.mensaje(self.w, _("FEN is in clipboard"))
示例#16
0
 def procesarTB(self, accion, maxRecursion):
     if self.rm:
         if accion == "MoverAdelante":
             self.mueveTutor(nSaltar=1)
         elif accion == "MoverAtras":
             self.mueveTutor(nSaltar=-1)
         elif accion == "MoverInicio":
             self.mueveTutor(siInicio=True)
         elif accion == "MoverFinal":
             self.mueveTutor(siFinal=True)
         elif accion == "MoverTiempo":
             self.mueveTiempo()
         elif accion == "MoverLibre":
             self.analizaExterior(maxRecursion)
         elif accion == "MoverFEN":
             jg = self.partidaTutor.liJugadas[self.posTutor]
             QTUtil.ponPortapapeles(jg.posicion.fen())
             QTUtil2.mensajeTemporal(self.w, _("FEN is in clipboard"), 1)
示例#17
0
 def process_toolbar(self, accion):
     accion = accion[5:]
     if accion in ("Adelante", "Atras", "Inicio", "Final"):
         self.um.change_mov_active(accion)
         self.ponBoard()
     elif accion == "Libre":
         self.um.external_analysis(self.owner, self.owner.is_white)
     elif accion == "Tiempo":
         self.lanzaTiempo()
     elif accion == "Grabar":
         self.grabar()
     elif accion == "GrabarTodos":
         self.grabarTodos()
     elif accion == "Jugar":
         self.jugarPosicion()
     elif accion == "FEN":
         QTUtil.ponPortapapeles(self.um.fen_active())
         QTUtil2.message_bold(self, _("FEN is in clipboard"))
示例#18
0
 def procesarTB(self, accion):
     accion = accion[5:]
     if accion in ("Adelante", "Atras", "Inicio", "Final"):
         self.um.cambiaMovActual(accion)
         self.ponTablero()
     elif accion == "Libre":
         self.um.analizaExterior(self.owner, self.owner.siBlancas)
     elif accion == "Tiempo":
         self.lanzaTiempo()
     elif accion == "Grabar":
         self.grabar()
     elif accion == "GrabarTodos":
         self.grabarTodos()
     elif accion == "Jugar":
         self.jugarPosicion()
     elif accion == "FEN":
         QTUtil.ponPortapapeles(self.um.fenActual())
         QTUtil2.mensaje(self, _("FEN is in clipboard"))
示例#19
0
 def portapapeles(self):
     pgn = self.current_pgn()
     QTUtil.ponPortapapeles(pgn)
     self.terminar()
示例#20
0
def savePGN(owner, pgn):
    configuracion = VarGen.configuracion
    dicVariables = configuracion.leeVariables("SAVEPGN")

    liGen = [(None, None)]

    liHistorico = dicVariables.get("LIHISTORICO")

    config = FormLayout.Fichero(_("File to save"),
                                "pgn",
                                True,
                                liHistorico=liHistorico,
                                anchoMinimo=300)
    liGen.append((config, ""))

    #Codec
    liCodecs = [k for k in set(v for k, v in aliases.iteritems())]
    liCodecs.sort()
    liCodecs = [(k, k) for k in liCodecs]
    liCodecs.insert(0, (_("Same as file"), "file"))
    liCodecs.insert(0, ("%s: UTF-8" % _("By default"), "default"))
    config = FormLayout.Combobox(_("Write with the codec"), liCodecs)
    codec = dicVariables.get("CODEC", "default")
    liGen.append((config, codec))

    #Overwrite
    liGen.append((_("Overwrite"), dicVariables.get("OVERWRITE", False)))

    #Remove comments
    liGen.append((_("Remove comments and variations"),
                  dicVariables.get("REMCOMMENTSVAR", False)))

    # Editamos
    resultado = FormLayout.fedit(liGen,
                                 title=_("Save PGN"),
                                 parent=owner,
                                 icon=Iconos.PGN())
    if resultado is None:
        return

    accion, liResp = resultado
    fichero, codec, overwrite, remcommentsvar = liResp
    if not fichero:
        return
    if not liHistorico:
        liHistorico = []
    if fichero in liHistorico:
        del liHistorico[liHistorico.index(fichero)]
        chardet
    liHistorico.insert(0, fichero)

    dicVariables["LIHISTORICO"] = liHistorico[:20]
    dicVariables["CODEC"] = codec
    dicVariables["OVERWRITE"] = overwrite
    dicVariables["REMCOMMENTSVAR"] = remcommentsvar

    configuracion.escVariables("SAVEPGN", dicVariables)
    carpeta, name = os.path.split(fichero)
    if carpeta != configuracion.dirSalvados:
        configuracion.dirSalvados = carpeta
        configuracion.graba()

    if remcommentsvar:
        pgn = PGN.rawPGN(pgn)
    pgn = pgn.replace("\n", "\r\n")

    modo = "w" if overwrite else "a"
    if not overwrite:
        if not Util.existeFichero(fichero):
            modo = "w"
    if codec == "default":
        codec = "utf-8"
    elif codec == "file":
        codec = "utf-8"
        if Util.existeFichero(fichero):
            with open(fichero) as f:
                u = chardet.universaldetector.UniversalDetector()
                for n, x in enumerate(f):
                    u.feed(x)
                    if n == 1000:
                        break
                u.close()
                codec = u.result.get("encoding", "utf-8")

    try:
        f = codecs.open(fichero, modo, codec, 'ignore')
        if modo == "a":
            f.write("\r\n\r\n")
        f.write(pgn)
        f.close()
        QTUtil2.mensajeTemporal(owner, _("Saved"), 1.2)
    except:
        QTUtil.ponPortapapeles(pgn)
        QTUtil2.mensError(
            owner, "%s : %s\n\n%s" %
            (_("Unable to save"), fichero,
             _("It is saved in the clipboard to paste it wherever you want.")))
示例#21
0
def savePGN( owner, pgn ):
    configuracion = VarGen.configuracion
    dicVariables = configuracion.leeVariables("SAVEPGN")

    liGen = [(None, None)]

    liHistorico = dicVariables.get("LIHISTORICO")

    config = FormLayout.Fichero(_("File to save"), "pgn", True, liHistorico=liHistorico, anchoMinimo=300)
    liGen.append(( config, "" ))

    #Codec
    liCodecs = [k for k in set(v for k,v in aliases.iteritems())]
    liCodecs.sort()
    liCodecs = [(k,k) for k in liCodecs]
    liCodecs.insert( 0, (_("Same as file"), "file" ) )
    liCodecs.insert( 0, ("%s: UTF-8"%_("By default"), "default" ) )
    config = FormLayout.Combobox(_("Write with the codec"), liCodecs)
    codec = dicVariables.get("CODEC", "default")
    liGen.append(( config, codec ))

    #Overwrite
    liGen.append( ( _("Overwrite"), dicVariables.get("OVERWRITE", False)) )

    #Remove comments
    liGen.append( ( _("Remove comments and variations"), dicVariables.get("REMCOMMENTSVAR", False)) )

    # Editamos
    resultado = FormLayout.fedit(liGen, title=_("Save PGN"), parent=owner, icon=Iconos.PGN())
    if resultado is None:
        return

    accion, liResp = resultado
    fichero, codec, overwrite, remcommentsvar = liResp
    if not fichero:
        return
    if not liHistorico:
        liHistorico = []
    if fichero in liHistorico:
        del liHistorico[liHistorico.index(fichero)]
        chardet
    liHistorico.insert(0,fichero)

    dicVariables["LIHISTORICO"] = liHistorico[:20]
    dicVariables["CODEC"] = codec
    dicVariables["OVERWRITE"] = overwrite
    dicVariables["REMCOMMENTSVAR"] = remcommentsvar

    configuracion.escVariables("SAVEPGN",dicVariables)
    carpeta, name = os.path.split(fichero)
    if carpeta != configuracion.dirSalvados:
        configuracion.dirSalvados = carpeta
        configuracion.graba()

    if remcommentsvar:
        pgn = PGN.rawPGN(pgn)
    pgn = pgn.replace( "\n", "\r\n" )

    modo = "w" if overwrite else "a"
    if not overwrite:
        if not Util.existeFichero(fichero):
            modo = "w"
    if codec == "default":
        codec = "utf-8"
    elif codec == "file":
        codec = "utf-8"
        if Util.existeFichero(fichero):
            with open(fichero) as f:
                u = chardet.universaldetector.UniversalDetector()
                for n, x in enumerate(f):
                    u.feed(x)
                    if n == 1000:
                        break
                u.close()
                codec = u.result.get("encoding", "utf-8")

    try:
        f = codecs.open( fichero, modo, codec, 'ignore' )
        if modo == "a":
            f.write( "\r\n\r\n" )
        f.write(pgn)
        f.close()
        QTUtil2.mensajeTemporal( owner, _( "Saved" ), 1.2 )
    except:
        QTUtil.ponPortapapeles(pgn)
        QTUtil2.mensError(owner, "%s : %s\n\n%s" % (_("Unable to save"), fichero, _("It is saved in the clipboard to paste it wherever you want.") ))