def __init__(self): gtk.Window.__init__(self) self.set_title("JAMediaVideo") self.set_icon_from_file(os.path.join(BASE_PATH, "Iconos", "JAMediaVideo.svg")) self.set_resizable(True) self.set_default_size(437, 328) self.set_border_width(4) self.modify_bg(0, get_colors("toolbars")) self.set_position(gtk.WIN_POS_CENTER) self.pistas = [] vbox = gtk.VBox() self.add(vbox) self.show_all() self.toolbar = Toolbar() self.toolbar_salir = ToolbarSalir() self.toolbar_accion = ToolbarAccion() self.base_panel = BasePanel() vbox.pack_start(self.toolbar, False, True, 4) vbox.pack_start(self.toolbar_salir, False, True, 4) vbox.pack_start(self.toolbar_accion, False, True, 4) vbox.pack_start(self.base_panel, True, True, 0) self.toolbar.connect("accion", self.__set_accion) self.toolbar.connect('salir', self.__confirmar_salir) self.toolbar.connect("config-show", self.__config_show) self.toolbar.connect("mode-change", self.__mode_change) self.toolbar_salir.connect('salir', self.__salir) self.base_panel.connect("accion-list", self.__accion_list) self.base_panel.connect("in-run", self.__jamediaconvert_in_run) self.base_panel.connect("pendientes", self.__jamediaconvert_info) self.base_panel.connect("cancel-toolbars", self.__cancel_toolbars) self.toolbar_accion.connect("aviso", self.__update_accions) self.connect("delete-event", self.__salir) self.show_all() self.realize() gobject.idle_add(self.__run) print "JAMediaVideo process:", os.getpid()
def __init__(self): gtk.Window.__init__(self) self.set_title("JAMediaExplorer") self.set_icon_from_file(os.path.join(ICONOS, "JAMediaExplorer.svg")) self.modify_bg(0, gtk.gdk.Color(65000, 65000, 65000)) self.set_resizable(True) self.set_size_request(640, 480) self.set_position(gtk.WIN_POS_CENTER) self.set_border_width(3) vbox = gtk.VBox() self.toolbar = Toolbar() self.toolbar_accion = ToolbarAccion() self.toolbar_salir = ToolbarSalir() self.navegador = Navegador() self.toolbar_try = ToolbarTry() vbox.pack_start(self.toolbar, False, False, 0) vbox.pack_start(self.toolbar_accion, False, False, 0) vbox.pack_start(self.toolbar_salir, False, False, 0) vbox.pack_start(self.navegador, True, True, 0) vbox.pack_end(self.toolbar_try, False, False, 0) self.add(vbox) self.show_all() self.realize() self.toolbar_accion.hide() self.toolbar_salir.hide() self.toolbar.connect('salir', self.__confirmar_salir) self.toolbar.connect('accion_ver', self.__set_accion) self.toolbar_accion.connect('borrar', self.__ejecutar_borrar) self.toolbar_salir.connect('salir', self.__salir) self.connect("delete-event", self.__salir) self.navegador.connect('info', self.__get_info) self.navegador.connect('borrar', self.__set_borrar)
def __init__(self): gtk.EventBox.__init__(self) self.set_sensitive(False) #self.set_title("JAMedia") #self.set_icon_from_file(os.path.join(BASE_PATH, # "Iconos", "JAMedia.svg")) self.modify_bg(gtk.STATE_NORMAL, get_colors("window")) #self.set_resizable(True) self.set_border_width(2) #self.set_position(gtk.WIN_POS_CENTER) self.archivos = [] self.grabador = False self.mouse_in_visor = False self.cursor_root = False self.toolbar = Toolbar() self.toolbar_salir = ToolbarSalir() self.toolbar_accion = ToolbarAccion() self.add_stream = ToolbarAddStream() self.base_panel = BasePanel() vbox = gtk.VBox() vbox.pack_start(self.toolbar, False, False, 0) vbox.pack_start(self.toolbar_salir, False, False, 0) vbox.pack_start(self.toolbar_accion, False, False, 0) vbox.pack_start(self.add_stream, False, False, 0) vbox.pack_start(self.base_panel, True, True, 0) self.add(vbox) self.show_all() #self.realize() # Controlador del mouse. # http://www.pygtk.org/pygtk2reference/class-gdkdisplay.html # #function-gdk--display-get-default icono = os.path.join(BASE_PATH, "Iconos", "jamedia_cursor.svg") pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(icono, -1, 24) self.jamedia_cursor = gtk.gdk.Cursor( gtk.gdk.display_get_default(), pixbuf, 0, 0) #self.cursor_root = self.get_property("window").get_cursor() #self.get_property("window").set_cursor(self.jamedia_cursor) self.mouse_listener = MouseSpeedDetector(self) self.mouse_listener.new_handler(True) self.toolbar.connect("accion", self.__accion_toolbar) self.base_panel.connect("show-controls", self.__ocultar_controles) self.base_panel.connect("accion-list", self.__accion_list) self.base_panel.connect("menu_activo", self.__cancel_toolbars) self.base_panel.connect("add_stream", self.__run_add_stream) self.base_panel.connect("stop-record", self.__detener_grabacion) self.toolbar_accion.connect("accion-stream", self.__accion_stream) self.toolbar_accion.connect("grabar", self.__grabar) self.toolbar_salir.connect("salir", self.__salir) self.add_stream.connect("add-stream", self.__add_stream) self.mouse_listener.connect("estado", self.__set_mouse) self.connect("hide", self.__hide_show) self.connect("show", self.__hide_show) #self.connect("delete-event", self.__salir) self.connect("realize", self.__realize) #self.resize(640, 480) gobject.idle_add(self.__setup_init) print "JAMedia process:", os.getpid()
def setup_init(self): """ Se crea la interfaz grafica, se setea y se empaqueta todo. """ self.get_toplevel().set_sensitive(False) #from Globales import get_color from Widgets import Visor from Widgets import BarraProgreso from Widgets import ControlVolumen from PlayerList import Lista from PlayerControls import PlayerControl from GstreamerWidgets.Widgets import WidgetsGstreamerEfectos from Toolbars import ToolbarSalir from Toolbars import Toolbar from Toolbars import ToolbarAccion from Toolbars import ToolbarConfig from Toolbars import ToolbarGrabar from Toolbars import ToolbarInfo from Toolbars import ToolbarAddStream self.pantalla = Visor() self.barradeprogreso = BarraProgreso() self.volumen = ControlVolumen() self.lista_de_reproduccion = Lista() self.controlesrepro = PlayerControl() 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.Box(orientation=Gtk.Orientation.VERTICAL) hpanel = Gtk.Paned(orientation=Gtk.Orientation.HORIZONTAL) hpanel.modify_bg(0, get_colors("window")) eventbox = Gtk.EventBox() # FIXME: Para poder pintar el fondo eventbox.modify_bg(0, get_colors("barradeprogreso")) eventbox.add(self.toolbar) basebox.pack_start(eventbox, False, False, 3) 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. eventbox = Gtk.EventBox() # FIXME: Para poder pintar el fondo eventbox.modify_bg(0, get_colors("drawingplayer")) self.hbox_efectos_en_pipe = Gtk.Box( orientation=Gtk.Orientation.HORIZONTAL) self.hbox_efectos_en_pipe.set_size_request(-1, 24) eventbox.add(self.hbox_efectos_en_pipe) scroll = Gtk.ScrolledWindow() scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER) scroll.add_with_viewport(eventbox) # Barra de Progreso + Volúmen ev_box = Gtk.EventBox() # FIXME: Para poder pintar el fondo ev_box.modify_bg(0, get_colors("barradeprogreso")) hbox_barra_progreso = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) 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.Box(orientation=Gtk.Orientation.VERTICAL) vbox.pack_start(self.toolbar_grabar, False, False, 0) vbox.pack_start(self.pantalla, True, True, 0) vbox.pack_start(scroll, False, False, 0) eventbox = Gtk.EventBox() # FIXME: Para poder pintar el fondo eventbox.modify_bg(0, get_colors("barradeprogreso")) eventbox.add(self.toolbar_info) vbox.pack_start(eventbox, False, False, 3) vbox.pack_start(ev_box, False, True, 0) hpanel.pack1(vbox, resize=True, shrink=True) # Area Derecha del Panel self.derecha_vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) # Configuración de balanace y efectos self.vbox_config = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.scroll_config = Gtk.ScrolledWindow() self.scroll_config.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) self.scroll_config.add_with_viewport(self.vbox_config) self.scroll_config.get_child().modify_bg(0, get_colors("window")) 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.evnt_box_lista_reproduccion.modify_bg( 0, get_colors("barradeprogreso")) self.vbox_lista_reproduccion = Gtk.Box( orientation=Gtk.Orientation.VERTICAL) self.scroll_list = Gtk.ScrolledWindow() self.scroll_list.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.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) from gi.repository import GdkX11 xid = self.pantalla.get_property('window').get_xid() # HACK: La aplicación nunca debe explotar :P if get_programa("mplayer"): 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.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. icono = os.path.join(BASE_PATH, "Iconos", "jamedia_cursor.svg") pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(icono, -1, 24) self.jamedia_cursor = Gdk.Cursor.new_from_pixbuf( 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 Widgets 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)