diff options
Diffstat (limited to 'CristianEdit.py')
-rw-r--r-- | CristianEdit.py | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/CristianEdit.py b/CristianEdit.py index 227a358..7b1786a 100644 --- a/CristianEdit.py +++ b/CristianEdit.py @@ -27,7 +27,7 @@ from gi.repository import Gdk import CristianEdit from CristianEdit.CristianEdit import CristianEdit -from CristianEdit import objetos +from CristianEdit.objetos import DialogoCerrar screen = Gdk.Screen.get_default() @@ -58,6 +58,7 @@ class Ventana(Gtk.Window): self.set_position(Gtk.WindowPosition.CENTER) self.socket = Gtk.Socket() + self.add(self.socket) self.cristianedit = CristianEdit() self.socket.add_id(self.cristianedit.get_id()) @@ -66,17 +67,24 @@ class Ventana(Gtk.Window): self.realize() self.cristianedit.setup_init(direcciones) - self.connect('destroy', self.salir) + self.connect('delete-event', self.salir) self.connect('key-press-event', self.cristianedit.tecla) + self.cristianedit.connect('cerrar', self.salir) - def salir(self, widget): + def salir(self, *args): """Consultar al plug CristianEdit sí se puede salir, en ese caso le pasa Gtk.main_quit(), de lo contrario consulta al usuario sí guardar o no antes de cerrar""" """ - buffers, direcciones, views = self.cristianedit.get_if_exit() + notebook = self.cristianedit.get_objeto('self.notebook') + buffers = self.cristianedit.get_objeto('self.buffers') + views = self.cristianedit.get_objeto('self.views') + direcciones = self.cristianedit.get_objeto('self.lugares') + labels = self.cristianedit.get_objeto('self.etiquetas') + + self.cristianedit.guardar_configuracion() for buffer in buffers: if buffer.get_modified(): @@ -84,14 +92,36 @@ class Ventana(Gtk.Window): numero = buffers.index(buffer) view = views[numero] direccion = direcciones[numero] - dialogo = objetos.dialogo_cerrar(direccion, buffer, - self.cristianedit, 'cerrar') + + dialog = DialogoCerrar( + direccion, + numero, + notebook, + direcciones, + labels, + self) - numero = 0 - """ + dialog.add_label('El archivo:\n%s\ntiene cambios sin guardar.') + dialog.add_label('¿Desea guardar antes de cerrar?') - self.cristianedit.guardar_configuracion() + respuesta = dialog.run() + dialog.show_all() + dialog.destroy() + + if accion == Gtk.ResponseType.YES: + dialog.guardar(lugares[numero]) + return True + + elif accion == Gtk.ResponseType.CANCEL: + return False + + else: + if buffers.index(buffer) == -1: + print buffer + + """ Gtk.main_quit() + return False if __name__ == '__main__': if len(sys.argv) >= 2: |