class JAMediaVideo(gtk.Window): 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 __jamediaconvert_info(self, widget, info): self.toolbar.toolbar_converter.set_info(info) def __update_accions(self, toolbaraccion, accion, uri): """ Cuando se confirma una accion desde toolbar_accion, se acualiza la interfaz ya que puede que ese archivo ya no esté allí. """ self.base_panel.update_accions(accion, uri) def __jamediaconvert_in_run(self, widget, valor): self.toolbar.activate_conversor(valor) def __accion_list(self, widget, lista, accion, _iter): self.__cancel_toolbars() acciones = ["Copiar", "Quitar", "Borrar", "Mover"] if accion in acciones: self.toolbar_accion.set_accion(lista, accion, _iter) elif accion == "Editar": text = lista.get_model().get_value(_iter, 1) uri = lista.get_model().get_value(_iter, 2) self.toolbar.switch("Convert") converter = self.base_panel.jamediaconvert converter.playerlist.lista.agregar_items([(text, uri)]) elif accion == "limpiar": pass else: print "Accion en la lista sin definir:", accion def __set_accion(self, widget, modo, accion): """ Acciones de la toolbar que se aplican sobre Base Panel. """ self.__cancel_toolbars() if accion == "Salir": self.toolbar.switch("menu") else: self.base_panel.set_accion(modo, accion) def __config_show(self, toolbar, tipo): self.__cancel_toolbars() self.base_panel.config_show(tipo) def __mode_change(self, widget, tipo): self.__cancel_toolbars() self.base_panel.mode_change(tipo) def __run(self): self.__cancel_toolbars() self.base_panel.pack_efectos() if self.pistas: if self.pistas[0] == "jamedia": self.toolbar.switch("Reproducir") lista = self.base_panel.playerlist.lista gobject.idle_add(lista.agregar_items, [self.pistas[1]]) elif self.pistas[0] == "jamediaimagenes": self.toolbar.switch("Ver") lista = self.base_panel.playerlist.lista gobject.idle_add(lista.agregar_items, [self.pistas[1]]) else: self.toolbar.switch("menu") self.pistas = [] return False def __confirmar_salir(self, widget=None, senial=None): self.__cancel_toolbars() self.toolbar_salir.run("JAMediaVideo") def __cancel_toolbars(self, widget=False): self.toolbar_accion.cancelar() self.toolbar_salir.cancelar() def __salir(self, widget=None, senial=None): self.base_panel.salir() gtk.main_quit() sys.exit(0) def set_pistas(self, pistas): self.pistas = pistas