diff options
Diffstat (limited to 'PrestametuVoz.activity/config_nuevo.py')
-rw-r--r-- | PrestametuVoz.activity/config_nuevo.py | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/PrestametuVoz.activity/config_nuevo.py b/PrestametuVoz.activity/config_nuevo.py new file mode 100644 index 0000000..2db7413 --- /dev/null +++ b/PrestametuVoz.activity/config_nuevo.py @@ -0,0 +1,180 @@ +#!/usr/bin/python +# -*- coding: iso-8859-15 -*- +''' Config de Prestame tu voz ''' + +#Copyright (C) 2009 Federico Moreira - <federico@piensalibre.info> +# Alejandro Esperón - <ratman26@gmail.com> +#Copyright (C) 2010 Plan Ceibal <comunidad@plan.ceibal.edu.uy> +# Esteban Arias - <earias@plan.ceibal.edu.uy> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> + + +import gtk +import os + +import settings +from manejar_datos import cargar_datos, cargar_planillas + + +class VentanaConfig(gtk.Table): + + def __init__(self): + + self.lista_tarjetas = [] + + self.pos_actual = 0 + + self.posicion = gtk.Label('1/' + str(settings.TABLA_ANCHO * settings.TABLA_ALTO)) + etiqueta_titulo = gtk.Label('Titulo : ') + self.titulo = gtk.Entry(30) + self.imagen = gtk.Image() + self.boton_imagen = gtk.FileChooserButton('Agregar imagen') + etiqueta_sonido = gtk.Label('Sonido : ') + self.boton_sonido = gtk.FileChooserButton('Agregar sonido') + boton_ingresar = gtk.Button('Ingresar Sig') + + gtk.Table.__init__(self, 5, 1) + + self.attach(self.posicion,0,1,0,1) + + etiqueta_titulo.show() + self.titulo.show() + self.titulo.set_width_chars(10) + + caja_titulo = gtk.HBox() + caja_titulo.pack_start(etiqueta_titulo) + caja_titulo.pack_start(self.titulo) + + self.attach(caja_titulo,0,1,1,2) + self.imagen.show() + self.imagen.set_size_request(500, 500) + self.imagen.set_from_file(os.path.join(os.getcwd(),'icons','sin_foto.png')) + + self.boton_imagen.show() + + caja_imagen = gtk.VBox() + caja_imagen.pack_start(self.imagen) + caja_imagen.pack_start(self.boton_imagen) + self.attach(caja_imagen,0,1,2,3) + + etiqueta_sonido.show() + self.boton_sonido.show() + caja_sonido = gtk.HBox() + caja_sonido.pack_start(etiqueta_sonido) + caja_sonido.pack_start(self.boton_sonido) + self.attach(caja_sonido,0,1,3,4) + + boton_ingresar.show() + boton_ingresar.connect("clicked", self.ingresar_siguiente, "siguiente") + self.attach(boton_ingresar,0,1,4,5) + + self.cargar_demo() + + def cargar_tarjeta(self,lista_tarjetas): + print len(lista_tarjetas) + self.lista_tarjetas = lista_tarjetas + self.titulo.set_text(self.lista_tarjetas[self.pos_actual].titulo) + self.imagen.clear() + self.imagen.set_from_file(os.path.join(os.getcwd(), \ + self.lista_tarjetas[self.pos_actual].imagen)) + self.actualizar_ventana() + + + def ingresar_siguiente(self, widget, info): + self.pos_actual += 1 + if self.pos_actual > (len(self.lista_tarjetas) - 1): + self.pos_actual = 0 + self.titulo.set_text(self.lista_tarjetas[self.pos_actual].titulo) + self.posicion.set_label(str(self.pos_actual + 1) + '/'+ str(settings.TABLA_ANCHO * settings.TABLA_ALTO)) + self.actualizar_ventana() + + def actualizar_ventana(self): + self.imagen.clear() + self.imagen.set_from_file(self.lista_tarjetas[self.pos_actual].imagen) + self.boton_imagen.set_filename(self.lista_tarjetas[self.pos_actual].imagen) + self.boton_sonido.set_filename(self.lista_tarjetas[self.pos_actual].audio) + + def guardar(self, archivo): + ''' Guarda un archivo ''' + if archivo == '': + print "fideo" + selector = gtk.FileChooserDialog(title=None, + action=gtk.FILE_CHOOSER_ACTION_SAVE, + buttons=(gtk.STOCK_CANCEL, + gtk.RESPONSE_CANCEL, + gtk.STOCK_OPEN, + gtk.RESPONSE_OK)) + selector.set_current_folder(os.getcwd()) + respuesta = selector.run() + if respuesta == gtk.RESPONSE_OK: + self.crear_tarjetas(selector.get_filename()) + selector.destroy() + else: + self.crear_tarjetas(archivo) + + + def crear_tarjetas(self, nombre_archivo): + ''' Creo las tarjetas ''' + #guardar_datos(nombre_archivo, self.lista_de_tarjetas) + print nombre_archivo + + def abrir(self, widget, info): + ''' Permite abrir un archivo ''' + largo_home = len(os.environ["HOME"]) + 1 + selector = gtk.FileChooserDialog(title=None, + action=gtk.FILE_CHOOSER_ACTION_OPEN, + buttons=(gtk.STOCK_CANCEL, + gtk.RESPONSE_CANCEL, + gtk.STOCK_OPEN, + gtk.RESPONSE_OK)) + selector.set_current_folder(os.getcwd()) + selector.set_default_response(gtk.RESPONSE_OK) + respuesta = selector.run() + if respuesta == gtk.RESPONSE_OK: + self.datos = cargar_datos(selector.get_filename()) + self.archivo = selector.get_filename() + selector.destroy() + self.ventana.cargar_tarjeta(self.datos) + + def guardar(self, widget, info): + '''Permite guardar ''' + self.ventana.guardar(self.archivo) + + def cargar_demo(self): + self.lista_tarjetas = cargar_datos('fede2') + self.actualizar_ventana() + + +#config = gtk.Window(gtk.WINDOW_TOPLEVEL) +#config.set_title('Prestame tu voz') +#ventana = VentanaConfig() +##control = ControlConfig(ventana) +# +#caja_principal = gtk.VBox() +##caja_principal.pack_start(control) +#caja_principal.pack_start(ventana) +#caja_principal.show() +# +#config.add(caja_principal) +#ventana.show_all() +##control.show_all() +# +#config.set_default_size(300,300) +#config.show() +#config.connect("delete_event", gtk.main_quit) +#gtk.main() + + + |