Example #1
0
    def __get_widgets_colors(self):
        """
        Cuatro botones para seleccionar el color.
        """

        from JAMediaObjects.JAMediaWidgets import JAMediaButton

        color_widgets = gtk.HBox()

        white = JAMediaButton()
        white.connect('clicked', self.__set_color, 3)
        white.set_colores(colornormal=get_color("BLANCO"))
        white.set_tooltip('Blanco')

        red = JAMediaButton()
        red.connect('clicked', self.__set_color, 0)
        red.set_colores(colornormal=get_color("ROJO"))
        red.set_tooltip('Rojo')

        green = JAMediaButton()
        green.connect('clicked', self.__set_color, 1)
        green.set_colores(colornormal=get_color("VERDE"))
        green.set_tooltip('Verde')

        blue = JAMediaButton()
        blue.connect('clicked', self.__set_color, 2)
        blue.set_colores(colornormal=get_color("AZUL"))
        blue.set_tooltip('Azul')

        self.botones_colores = [
            white,
            red,
            green,
            blue]

        for button in self.botones_colores:
            button.set_tamanio(get_pixels(1.0), get_pixels(1.0))
            color_widgets.pack_start(button, True, True, 1)
            button.connect('clicked', self.__clicked_color)

        return color_widgets
    def __get_widgets_colors(self):
        """
        Cuatro botones para seleccionar el color.
        """

        from JAMediaObjects.JAMediaWidgets import JAMediaButton

        color_widgets = Gtk.HBox()

        white = JAMediaButton()
        white.connect('clicked', self.__set_color, 3)
        white.set_colores(colornormal=get_color("BLANCO"))
        white.set_tooltip('Blanco')

        red = JAMediaButton()
        red.connect('clicked', self.__set_color, 0)
        red.set_colores(colornormal=get_color("ROJO"))
        red.set_tooltip('Rojo')

        green = JAMediaButton()
        green.connect('clicked', self.__set_color, 1)
        green.set_colores(colornormal=get_color("VERDE"))
        green.set_tooltip('Verde')

        blue = JAMediaButton()
        blue.connect('clicked', self.__set_color, 2)
        blue.set_colores(colornormal=get_color("AZUL"))
        blue.set_tooltip('Azul')

        self.botones_colores = [
            white,
            red,
            green,
            blue]

        for button in self.botones_colores:
            button.set_tamanio(get_pixels(1.0), get_pixels(1.0))
            color_widgets.pack_start(button, True, True, 1)
            button.connect('clicked', self.__clicked_color)

        return color_widgets
Example #3
0
    def __init__(self):

        gtk.Paned.__init__(self,
            orientation=gtk.ORIENTATION_HORIZONTAL)

        from JAMediaObjects.JAMediaGlobales import get_color
        self.modify_bg(0, get_color("BLANCO"))

        self.toolbar_encontrados = None
        self.encontrados = None
        self.toolbar_guardar_encontrados = None
        self.toolbar_videos_izquierda = None
        self.toolbar_accion_izquierda = None

        self.toolbar_descargar = None
        self.descargar = None
        self.toolbar_guardar_descargar = None
        self.toolbar_videos_derecha = None
        self.toolbar_accion_derecha = None

        self.toolbars_flotantes = None

        self.__setup_init()
Example #4
0
    def setup_init(self):
        """
        Se crea la interfaz grafica,
        se setea y se empaqueta todo.
        """

        self.get_toplevel().set_sensitive(False)

        from JAMediaObjects.JAMediaWidgets import Visor
        from JAMediaObjects.JAMediaWidgets import BarraProgreso
        from JAMediaObjects.JAMediaWidgets import ControlVolumen
        from JAMediaObjects.JAMediaWidgets import Lista
        from JAMediaObjects.JAMediaWidgets import ToolbarReproduccion
        from JAMediaObjects.JAMediaWidgets import WidgetsGstreamerEfectos
        from JAMediaObjects.JAMediaWidgets import ToolbarAccion
        from JAMediaObjects.JAMediaWidgets import ToolbarSalir

        from Widgets import Toolbar
        from Widgets import ToolbarConfig
        from Widgets import ToolbarGrabar
        from Widgets import ToolbarInfo
        from Widgets import ToolbarAddStream

        self.pantalla = Visor()
        self.barradeprogreso = BarraProgreso()
        self.volumen = ControlVolumen()
        self.lista_de_reproduccion = Lista()
        self.controlesrepro = ToolbarReproduccion()
        self.toolbar = Toolbar()
        self.toolbar_config = ToolbarConfig()
        self.widget_efectos = WidgetsGstreamerEfectos()
        self.toolbar_accion = ToolbarAccion()
        self.toolbar_grabar = ToolbarGrabar()
        self.toolbar_info = ToolbarInfo()
        self.toolbaraddstream = ToolbarAddStream()
        self.toolbar_salir = ToolbarSalir()

        basebox = gtk.VBox()
        hpanel = gtk.HPaned()

        basebox.pack_start(self.toolbar, False, False, 0)
        basebox.pack_start(self.toolbar_salir, False, False, 0)
        basebox.pack_start(self.toolbar_accion, False, False, 0)
        basebox.pack_start(self.toolbaraddstream, False, False, 0)

        basebox.pack_start(hpanel, True, True, 0)

        ### Area Izquierda del Panel

        ### Efectos que se están aplicando.
        # FIXME: Mantiene el fondo negro en miniefectos que se aplican
        eventbox = gtk.EventBox()
        eventbox.modify_bg(0, get_color("NEGRO"))
        self.hbox_efectos_en_pipe = gtk.HBox()
        self.hbox_efectos_en_pipe.set_size_request(-1, get_pixels(0.5))
        eventbox.add(self.hbox_efectos_en_pipe)
        scroll = gtk.ScrolledWindow()
        scroll.set_policy(
            gtk.POLICY_AUTOMATIC,
            gtk.POLICY_NEVER)
        scroll.add_with_viewport(eventbox)

        ### Barra de Progreso + Volúmen
        ev_box = gtk.EventBox() # FIXME: Para poder pintar el fondo de volumen
        ev_box.modify_bg(0, get_color("BLANCO"))
        hbox_barra_progreso = gtk.HBox()
        hbox_barra_progreso.pack_start(self.barradeprogreso, True, True, 0)
        hbox_barra_progreso.pack_start(self.volumen, False, False, 0)
        ev_box.add(hbox_barra_progreso)

        ### Todo
        vbox = gtk.VBox()
        vbox.pack_start(self.toolbar_grabar, False, False, 0)
        vbox.pack_start(self.pantalla, True, True, 0)
        vbox.pack_start(scroll, False, False, 0)
        vbox.pack_start(self.toolbar_info, False, False, 0)
        vbox.pack_start(ev_box, False, True, 0)

        hpanel.pack1(vbox, resize=True, shrink=True)

        ### Area Derecha del Panel
        self.derecha_vbox = gtk.VBox()

        ### Configuración de balanace y efectos
        self.vbox_config = gtk.VBox()
        self.scroll_config = gtk.ScrolledWindow()
        self.scroll_config.set_policy(
            gtk.POLICY_AUTOMATIC,
            gtk.POLICY_AUTOMATIC)
        self.scroll_config.add_with_viewport(self.vbox_config)
        self.vbox_config.pack_start(self.toolbar_config, False, False, 0)
        self.vbox_config.pack_start(self.widget_efectos, False, False, 0)

        ### Lista de Reproducción
        # FIXME: Para poder pintar el fondo
        self.evnt_box_lista_reproduccion = gtk.EventBox()
        self.vbox_lista_reproduccion = gtk.VBox()
        self.scroll_list = gtk.ScrolledWindow()
        self.scroll_list.set_policy(
            gtk.POLICY_AUTOMATIC,
            gtk.POLICY_AUTOMATIC)
        self.scroll_list.add(self.lista_de_reproduccion)
        #Lista + Controles de Reproducción
        self.__pack_vbox_lista_reproduccion()
        self.evnt_box_lista_reproduccion.add(self.vbox_lista_reproduccion)

        ### Configuración + Lista de Reproducción.
        self.derecha_vbox.pack_start(self.scroll_config, True, True, 0)
        self.derecha_vbox.pack_start(self.evnt_box_lista_reproduccion,
            True, True, 0)

        hpanel.pack2(self.derecha_vbox, resize=False, shrink=True)

        self.controles_dinamicos = [
            hbox_barra_progreso,
            self.derecha_vbox,
            self.toolbar,
            self.toolbar_info,
            self.hbox_efectos_en_pipe.get_parent().get_parent(
                ).get_parent()]

        basebox.show_all()

        map(self.__ocultar,
            [self.toolbar_salir,
            self.scroll_config,
            self.toolbar_accion,
            self.toolbar_grabar,
            self.toolbaraddstream,
            self.toolbar_info.descarga])

        self.add(basebox)

        xid = self.pantalla.get_property('window').xid

        # HACK: La aplicación nunca debe explotar :P
        if get_programa("mplayer"):
            self.mplayerreproductor = MplayerReproductor(xid)

        elif not get_programa("mplayer") and "xo1.5" in platform.platform():
            self.mplayerreproductor = MplayerReproductor(xid)

        else:
            self.mplayerreproductor = MplayerReproductor(self.pantalla)

        # HACK: La aplicación nunca debe explotar :P
        if verificar_Gstreamer():
            self.jamediareproductor = JAMediaReproductor(xid)

        else:
            self.jamediareproductor = JAMediaReproductor(self.pantalla)

        self.switch_reproductor(None, "JAMediaReproductor") # default Gst.

        self.mplayerreproductor.connect("endfile", self.__endfile)
        self.mplayerreproductor.connect("estado",
            self.__cambioestadoreproductor)
        self.mplayerreproductor.connect("newposicion", self.__update_progress)
        self.mplayerreproductor.connect("volumen", self.__get_volumen)
        self.mplayerreproductor.connect("video", self.__set_video)

        self.jamediareproductor.connect("endfile", self.__endfile)
        self.jamediareproductor.connect("estado",
            self.__cambioestadoreproductor)
        self.jamediareproductor.connect("newposicion", self.__update_progress)
        self.jamediareproductor.connect("volumen", self.__get_volumen)
        self.jamediareproductor.connect("video", self.__set_video)

        self.lista_de_reproduccion.connect("nueva-seleccion",
            self.__cargar_reproducir)
        self.lista_de_reproduccion.connect("button-press-event",
            self.__click_derecho_en_lista)

        self.controlesrepro.connect("activar", self.__activar)
        self.barradeprogreso.connect("user-set-value", self.__user_set_value)
        self.pantalla.connect("ocultar_controles", self.__ocultar_controles)
        self.pantalla.connect("button_press_event", self.__clicks_en_pantalla)
        #self.pantalla.connect('expose-event', self.paint_pantalla)

        self.toolbar.connect('salir', self.confirmar_salir)
        #self.toolbar.connect('capturar', self.fotografiar)
        self.toolbar.connect('config', self.__mostrar_config)

        self.toolbar_salir.connect('salir', self.__emit_salir)
        self.toolbar_config.connect('reproductor', self.switch_reproductor)
        self.toolbar_config.connect('valor', self.__set_balance)
        self.toolbar_info.connect('rotar', self.__set_rotacion)
        self.toolbar_info.connect('actualizar_streamings',
            self.__actualizar_streamings)
        self.toolbar_accion.connect("Grabar", self.__grabar_streaming)
        self.toolbar_accion.connect("accion-stream", self.__accion_stream)
        self.toolbar_grabar.connect("stop", self.__detener_grabacion)
        self.volumen.connect("volumen", self.__set_volumen)
        self.toolbaraddstream.connect("add-stream", self.__ejecutar_add_stream)

        self.widget_efectos.connect("click_efecto", self.__click_efecto)
        self.widget_efectos.connect('configurar_efecto',
            self.__configurar_efecto)

        ### Controlador del mouse.
        # FIXME: new_from_pixbuf y get_default no existe
        #icono = os.path.join(JAMediaObjectsPath,
        #    "Iconos", "jamedia_cursor.png")
        #pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(icono,
        #    -1, get_pixels(0.8))
        #self.jamedia_cursor = gtk.gdk.Cursor.new_from_pixbuf(
        #    gtk.gdk.Display.get_default(), pixbuf, 0, 0)

        #self.cursor_root = self.get_parent_window().get_cursor()

        #self.get_parent_window().set_cursor(self.jamedia_cursor)

        #from JAMediaObjects.JAMediaWidgets import MouseSpeedDetector

        #self.mouse_listener = MouseSpeedDetector(self)
        #self.mouse_listener.connect("estado", self.__set_mouse)
        #self.mouse_listener.new_handler(True)

        self.get_parent().connect("hide", self.__hide_show_parent)
        self.get_parent().connect("show", self.__hide_show_parent)

        self.hbox_efectos_en_pipe.get_parent().get_parent(
            ).get_parent().hide()

        self.get_toplevel().set_sensitive(True)
    def setup_init(self):
        """
        Se crea la interfaz grafica,
        se setea y se empaqueta todo.
        """

        from Widgets import ToolbarVideo

        # Widgets Base: - vbox - toolbars - panel
        basebox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        self.toolbar_salir = ToolbarSalir()
        self.toolbar = ToolbarVideo()
        hpanel = Gtk.HPaned()

        basebox.pack_start(self.toolbar_salir, False, True, 0)
        basebox.pack_start(self.toolbar, False, True, 0)
        basebox.pack_start(hpanel, True, True, 0)

        self.add(basebox)

        # Panel lado Izquierdo: vbox - pantalla - hbox_efectos_aplicados
        vbox_izq_panel = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.pantalla = Visor()
        eventbox = Gtk.EventBox()
        eventbox.modify_bg(0, get_color("NEGRO"))

        self.hbox_efectos_en_pipe = Gtk.Box(
            orientation=Gtk.Orientation.HORIZONTAL)

        self.hbox_efectos_en_pipe.set_size_request(-1, get_pixels(0.5))

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(
            Gtk.PolicyType.AUTOMATIC,
            Gtk.PolicyType.NEVER)

        scroll.add_with_viewport(eventbox)

        eventbox.add(self.hbox_efectos_en_pipe)

        vbox_izq_panel.pack_start(self.pantalla, True, True, 0)
        vbox_izq_panel.pack_start(scroll, False, False, 0)

        hpanel.pack1(vbox_izq_panel, resize=True, shrink=True)

        # Panel lado Derecho: eventbox - vbox - scroll
        # - balance_widget - widget_efectos
        self.box_config = Gtk.EventBox()
        self.box_config.set_size_request(get_pixels(5.0), -1)

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.balance_widget = ToolbarBalanceConfig()

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(
            Gtk.PolicyType.NEVER,
            Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(vbox)

        self.box_config.add(scroll)

        self.widget_efectos = WidgetsGstreamerEfectos()

        vbox.pack_start(self.balance_widget, False, True, 0)
        vbox.pack_start(self.widget_efectos, False, True, 0)

        hpanel.pack2(self.box_config, resize=False, shrink=False)

        self.show_all()
        self.realize()

        from gi.repository import GdkX11

        xid = self.pantalla.get_property('window').get_xid()
        self.jamediawebcam = JAMediaWebCam(xid)

        self.controles_dinamicos = [
            self.toolbar_salir,
            self.box_config,
            ]

        map(self.ocultar, self.controles_dinamicos)

        self.jamediawebcam.connect('estado', self.set_estado)

        self.pantalla.connect("button_press_event",
            self.clicks_en_pantalla)

        self.toolbar.connect("rotar", self.set_rotacion)
        self.toolbar.connect("accion", self.set_accion)
        self.toolbar.connect('salir', self.confirmar_salir)

        self.balance_widget.connect('valor', self.set_balance)

        self.widget_efectos.connect("click_efecto",
            self.click_efecto)
        self.widget_efectos.connect('configurar_efecto',
            self.configurar_efecto)

        self.toolbar_salir.connect('salir', self.emit_salir)
    def setup_init(self):
        """
        Se crea la interfaz grafica,
        se setea y se empaqueta todo.
        """

        from Widgets import ToolbarVideo

        # Widgets Base: - vbox - toolbars - panel
        basebox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        self.toolbar_salir = ToolbarSalir()
        self.toolbar = ToolbarVideo()
        hpanel = Gtk.HPaned()

        basebox.pack_start(self.toolbar_salir, False, True, 0)
        basebox.pack_start(self.toolbar, False, True, 0)
        basebox.pack_start(hpanel, True, True, 0)

        self.add(basebox)

        # Panel lado Izquierdo: vbox - pantalla - hbox_efectos_aplicados
        vbox_izq_panel = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.pantalla = Visor()
        eventbox = Gtk.EventBox()
        eventbox.modify_bg(0, get_color("NEGRO"))

        self.hbox_efectos_en_pipe = Gtk.Box(
            orientation=Gtk.Orientation.HORIZONTAL)

        self.hbox_efectos_en_pipe.set_size_request(-1, get_pixels(0.5))

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)

        scroll.add_with_viewport(eventbox)

        eventbox.add(self.hbox_efectos_en_pipe)

        vbox_izq_panel.pack_start(self.pantalla, True, True, 0)
        vbox_izq_panel.pack_start(scroll, False, False, 0)

        hpanel.pack1(vbox_izq_panel, resize=True, shrink=True)

        # Panel lado Derecho: eventbox - vbox - scroll
        # - balance_widget - widget_efectos
        self.box_config = Gtk.EventBox()
        self.box_config.set_size_request(get_pixels(5.0), -1)

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.balance_widget = ToolbarBalanceConfig()

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(vbox)

        self.box_config.add(scroll)

        self.widget_efectos = WidgetsGstreamerEfectos()

        vbox.pack_start(self.balance_widget, False, True, 0)
        vbox.pack_start(self.widget_efectos, False, True, 0)

        hpanel.pack2(self.box_config, resize=False, shrink=False)

        self.show_all()
        self.realize()

        from gi.repository import GdkX11

        xid = self.pantalla.get_property('window').get_xid()
        self.jamediawebcam = JAMediaWebCam(xid)

        self.controles_dinamicos = [
            self.toolbar_salir,
            self.box_config,
        ]

        map(self.ocultar, self.controles_dinamicos)

        self.jamediawebcam.connect('estado', self.set_estado)

        self.pantalla.connect("button_press_event", self.clicks_en_pantalla)

        self.toolbar.connect("rotar", self.set_rotacion)
        self.toolbar.connect("accion", self.set_accion)
        self.toolbar.connect('salir', self.confirmar_salir)

        self.balance_widget.connect('valor', self.set_balance)

        self.widget_efectos.connect("click_efecto", self.click_efecto)
        self.widget_efectos.connect('configurar_efecto',
                                    self.configurar_efecto)

        self.toolbar_salir.connect('salir', self.emit_salir)