Exemplo n.º 1
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())
Exemplo n.º 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.Clipboard())
         menu.separador()
         menu.opcion("file", _("Save") + " png", Iconos.GrabarFichero())
         resp = menu.lanza()
         if resp:
             pm = self.grab()
             if resp == "clip":
                 QTUtil.ponPortapapeles(pm, tipo="p")
             else:
                 configuration = Code.configuration
                 path = QTUtil2.salvaFichero(self, _("File to save"),
                                             configuration.x_save_folder,
                                             "%s PNG (*.png)" % _("File"),
                                             False)
                 if path:
                     pm.save(path, "png")
                     configuration.x_save_folder = os.path.dirname(path)
                     configuration.graba()
Exemplo n.º 3
0
    def __init__(self, owner, game, configuracion):
        titulo = _("Save to PGN")
        icono = Iconos.PGN()
        extparam = "savepgn"
        QTVarios.WDialogo.__init__(self, owner, titulo, icono, extparam)

        self.game = game
        self.game.order_tags()
        self.body = self.game.pgnBase()
        self.li_labels = self.game.li_tags
        self.configuracion = configuracion
        self.file = ""
        self.vars_read()

        # Opciones
        li_options = [
            (_("Save"), Iconos.GrabarFichero(), self.save),
            None,
            (_("Cancel"), Iconos.Cancelar(), self.terminar),
            None,
            (_("Clipboard"), Iconos.Clipboard(), self.portapapeles),
            None,
            (_("Reinit"), Iconos.Reiniciar(), self.reinit),
            None,
        ]
        tb = QTVarios.LCTB(self, li_options)

        tabs = Controles.Tab(self)

        # Tab-fichero -----------------------------------------------------------------------------------------------
        lb_file = Controles.LB(self, _("File to save") + ": ")
        bt_history = Controles.PB(self, "", self.history).ponIcono(
            Iconos.Favoritos(), 24).ponToolTip(_("Previous"))
        bt_boxrooms = (Controles.PB(self, "", self.boxrooms).ponIcono(
            Iconos.BoxRooms(), 24).ponToolTip(_("Boxrooms PGN")))
        self.bt_file = Controles.PB(self, "", self.file_select,
                                    plano=False).anchoMinimo(300)

        # Codec
        lb_codec = Controles.LB(self, _("Encoding") + ": ")
        liCodecs = [
            k for k in set(v for k, v in encodings.aliases.aliases.items())
        ]
        liCodecs.sort()
        liCodecs = [(k, k) for k in liCodecs]
        liCodecs.insert(0, (_("Same as file"), "file"))
        liCodecs.insert(0,
                        ("%s: %s" % (_("By default"), _("UTF-8")), "default"))
        self.cb_codecs = Controles.CB(self, liCodecs, self.codec)

        # Rest
        self.chb_overwrite = Controles.CHB(self, _("Overwrite"), False)
        self.chb_remove_c_v = Controles.CHB(
            self, _("Remove comments and variations"), self.remove_c_v)

        lyF = Colocacion.H().control(lb_file).control(
            self.bt_file).control(bt_history).control(bt_boxrooms).relleno(1)
        lyC = Colocacion.H().control(lb_codec).control(
            self.cb_codecs).relleno(1)
        ly = (Colocacion.V().espacio(15).otro(lyF).otro(lyC).control(
            self.chb_overwrite).control(self.chb_remove_c_v).relleno(1))
        w = QtWidgets.QWidget()
        w.setLayout(ly)
        tabs.nuevaTab(w, _("File"))
        self.chb_overwrite.hide()

        # Tab-labels -----------------------------------------------------------------------------------------------
        liAccionesWork = (
            ("", Iconos.Mas22(), self.labels_more),
            None,
            ("", Iconos.Menos22(), self.labels_less),
            None,
            ("", Iconos.Arriba(), self.labels_up),
            None,
            ("", Iconos.Abajo(), self.labels_down),
            None,
        )
        tb_labels = Controles.TBrutina(self,
                                       liAccionesWork,
                                       tamIcon=16,
                                       siTexto=False)

        # Lista
        o_columns = Columnas.ListaColumnas()
        o_columns.nueva("ETIQUETA",
                        _("Label"),
                        150,
                        edicion=Delegados.LineaTextoUTF8())
        o_columns.nueva("VALOR",
                        _("Value"),
                        400,
                        edicion=Delegados.LineaTextoUTF8())

        self.grid_labels = Grid.Grid(self, o_columns, siEditable=True)
        n = self.grid_labels.anchoColumnas()
        self.grid_labels.setFixedWidth(n + 20)

        # Layout
        ly = Colocacion.V().control(tb_labels).control(
            self.grid_labels).margen(3)
        w = QtWidgets.QWidget()
        w.setLayout(ly)
        tabs.nuevaTab(w, _("Labels"))

        # Tab-Body -----------------------------------------------------------------------------------------------
        self.em_body = Controles.EM(self, self.body, siHTML=False)
        tabs.nuevaTab(self.em_body, _("Body"))

        layout = Colocacion.V().control(tb).control(tabs)

        self.setLayout(layout)

        if self.history_list:
            fich = self.history_list[0]
            if os.path.isfile(fich):
                self.file = fich
                self.show_file()

        self.register_grid(self.grid_labels)
        self.restore_video()
Exemplo n.º 4
0
    def __init__(self, oBase, ventana, segundosPensando, is_white, cPuntos,
                 max_recursion):
        super(WAnalisisVariations, self).__init__(ventana)

        self.oBase = oBase

        # Creamos los controles
        self.setWindowTitle(_("Variations"))

        self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.Dialog
                            | QtCore.Qt.WindowMinimizeButtonHint)
        self.setWindowIcon(Iconos.Tutor())

        f = Controles.TipoLetra(puntos=12, peso=75)
        flb = Controles.TipoLetra(puntos=10)

        lbPuntuacionAnterior = Controles.LB(
            self, cPuntos).align_center().ponFuente(flb)
        self.lbPuntuacionNueva = Controles.LB(self).align_center().ponFuente(
            flb)

        config_board = Code.configuration.config_board("ANALISISVARIANTES", 32)
        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.ponerPiezasAbajo(is_white)

        self.boardT = Board.Board(self, config_board)
        self.boardT.crea()
        self.boardT.ponerPiezasAbajo(is_white)

        btTerminar = Controles.PB(self, _("Close"), self.close).ponPlano(False)
        btReset = Controles.PB(self, _("Another change"),
                               oBase.reset).ponIcono(
                                   Iconos.MoverLibre()).ponPlano(False)
        liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN",
                          Iconos.Clipboard()), )
        lytbTutor, self.tb = QTVarios.lyBotonesMovimiento(
            self, "", siLibre=max_recursion > 0, liMasAcciones=liMasAcciones)
        self.max_recursion = max_recursion - 1

        self.segundos, lbSegundos = QTUtil2.spinBoxLB(self,
                                                      segundosPensando,
                                                      1,
                                                      999,
                                                      maxTam=40,
                                                      etiqueta=_("Second(s)"))

        # Creamos los layouts

        lyVariacion = Colocacion.V().control(lbPuntuacionAnterior).control(
            self.board)
        gbVariacion = Controles.GB(self, _("Proposed change"),
                                   lyVariacion).ponFuente(f).align_center()

        lyTutor = Colocacion.V().control(self.lbPuntuacionNueva).control(
            self.boardT)
        gbTutor = Controles.GB(self, _("Tutor's prediction"),
                               lyTutor).ponFuente(f).align_center()

        lyBT = Colocacion.H().control(btTerminar).control(
            btReset).relleno().control(lbSegundos).control(self.segundos)

        layout = Colocacion.G().control(gbVariacion, 0,
                                        0).control(gbTutor, 0, 1)
        layout.otro(lyBT, 1, 0).otro(lytbTutor, 1, 1)

        self.setLayout(layout)

        self.move(ventana.x() + 20, ventana.y() + 20)
Exemplo n.º 5
0
    def __init__(self, tb_analysis, ventana, is_white, siLibre, must_save,
                 muestraInicial):
        titulo = _("Analysis")
        icono = Iconos.Tutor()
        extparam = "analysis"

        QTVarios.WDialogo.__init__(self, ventana, titulo, icono, extparam)

        self.tb_analysis = tb_analysis
        self.muestraActual = None

        configuration = Code.configuration
        config_board = configuration.config_board("ANALISIS", 48)
        self.siLibre = siLibre
        self.must_save = must_save
        self.is_white = is_white

        tbWork = QTVarios.LCTB(self, icon_size=24)
        tbWork.new(_("Close"), Iconos.MainMenu(), self.terminar)
        tbWork.new(_("New"), Iconos.NuevoMas(), self.crear)

        self.board = Board.Board(self, config_board)
        self.board.crea()
        self.board.ponerPiezasAbajo(is_white)
        self.board.dispatchSize(self.size_board_changed)

        self.lbMotor = Controles.LB(self).align_center()
        self.lbTiempo = Controles.LB(self).align_center()
        self.lbPuntuacion = (Controles.LB(self).align_center().ponTipoLetra(
            puntos=configuration.x_pgn_fontpoints, peso=75))
        self.lbPGN = Controles.LB(self).set_wrap().ponTipoLetra(
            puntos=configuration.x_pgn_fontpoints).anchoFijo(self.board.ancho)

        self.setStyleSheet(
            "QStatusBar::item { border-style: outset; border-width: 1px; border-color: LightSlateGray ;}"
        )

        liMasAcciones = (("FEN:%s" % _("Copy to clipboard"), "MoverFEN",
                          Iconos.Clipboard()), )
        lytb, self.tb = QTVarios.lyBotonesMovimiento(
            self,
            "",
            siLibre=siLibre,
            must_save=must_save,
            siGrabarTodos=must_save,
            siJugar=tb_analysis.max_recursion > 10,
            liMasAcciones=liMasAcciones,
        )

        lyTabl = Colocacion.H().relleno().control(self.board).relleno()

        lyMotor = Colocacion.H().control(self.lbPuntuacion).relleno().control(
            self.lbMotor).control(self.lbTiempo)

        lyV = Colocacion.V()
        lyV.control(tbWork)
        lyV.otro(lyTabl)
        lyV.otro(lytb)
        lyV.otro(lyMotor)
        lyV.control(self.lbPGN)
        lyV.relleno()

        wm = WMuestra(self, muestraInicial)
        muestraInicial.wmu = wm

        # Layout
        self.ly = Colocacion.H().margen(10)
        self.ly.otro(lyV)
        self.ly.control(wm)

        lyM = Colocacion.H().margen(0).otro(self.ly).relleno()

        layout = Colocacion.V()
        layout.otro(lyM)
        layout.margen(3)
        layout.setSpacing(1)
        self.setLayout(layout)

        self.restore_video(siTam=False)
        wm.cambiadoRM(muestraInicial.pos_selected)
        self.activaMuestra(muestraInicial)