From e01a872af9802142a023b54c63b1fe2723acb910 Mon Sep 17 00:00:00 2001 From: Cristian García Date: Tue, 08 Oct 2013 16:56:09 +0000 Subject: Arreglando un pequenio bug que se generaba al cerrar archivos con cambios, este no perimitia guardar estos cambios. --- diff --git a/CristianEdit.py b/CristianEdit.py index d9e844a..0f12817 100755..100644 --- a/CristianEdit.py +++ b/CristianEdit.py @@ -72,33 +72,22 @@ class Ventana(Gtk.Window): cierra, de lo contrario consulta al usuario si guardar, cerrar sin guardar o cancelar.""" - buffers = [] - direcciones = [] - labels = [] notebook = self.cristianedit.notebook + self.cristianedit.guardar_configuracion() + for x in range(0, notebook.get_n_pages()): view = self.cristianedit.get_view(x) - buffers.append(view.get_buffer()) - direcciones.append(view.direccion) - labels.append(self.cristianedit.get_label(x)) - - self.cristianedit.guardar_configuracion() + buffer = view.get_buffer() + direccion = view.direccion + label = self.cristianedit.get_label(x) - for buffer in buffers: - if_cerrar = buffers.index(buffer) == buffers.index(buffers[-1]) + if_cerrar = x == notebook.get_n_pages() - 1 if buffer.get_modified(): - - numero = buffers.index(buffer) - direccion = direcciones[numero] - dialog = DialogoCerrar( direccion, - numero, - notebook, - direcciones, - labels, + x, notebook, self) dialog.add_label( @@ -106,14 +95,13 @@ class Ventana(Gtk.Window): bold=True) dialog.add_label('¿Desea guardar antes de cerrar?') - - dialog.connect('guardar', self.cristianedit.guardar) + notebook.set_current_page(x) respuesta = dialog.run() dialog.destroy() if respuesta == Gtk.ResponseType.YES: - dialog.guardar(direcciones[numero]) + self.cristianedit.guardar(direccion=direccion) if if_cerrar: sys.exit(0) diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index 1e3d338..8a998ba 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -103,7 +103,6 @@ class CristianEdit(Gtk.Plug): ventana.add_accel_group(self.menu.grupo) self.pagina_nueva() - self.dialogo.set_view(self.get_view()) for direccion in direcciones: if os.path.exists(direccion) and G.get_mime_type(direccion): @@ -175,8 +174,6 @@ class CristianEdit(Gtk.Plug): dialog = DialogoCerrar(lugar, numero, self.notebook, - direcciones, - etiquetas, self) dialog.add_label( @@ -330,7 +327,9 @@ class CristianEdit(Gtk.Plug): label = self.get_label() buffer = self.get_buffer() - if self.get_direccion() == 'Sin dirección' and not direccion: + if (self.get_direccion() == 'Sin dirección' and not direccion) or \ + direccion == 'Sin dirección': + self.guardar_como() else: diff --git a/CristianEdit/objetos.py b/CristianEdit/objetos.py index 6ff182e..f00ba37 100644 --- a/CristianEdit/objetos.py +++ b/CristianEdit/objetos.py @@ -950,8 +950,6 @@ class DialogoCerrar(Gtk.Dialog): direccion, pagina, notebook, - lugares, - etiquetas, padre): Gtk.Dialog.__init__( @@ -967,9 +965,6 @@ class DialogoCerrar(Gtk.Dialog): self.direccion = direccion self.pagina = pagina self.notebook = notebook - self.lugares = lugares - self.etiquetas = etiquetas - self.padre = padre def cerrar(self, *args): """Cierra el widget clase destrullendolo""" @@ -979,15 +974,13 @@ class DialogoCerrar(Gtk.Dialog): def borrar(self, widget): """Borra la pestaña""" - self.etiquetas.remove(self.etiquetas[self.pagina]) - self.lugares.remove(self.lugares[self.pagina]) self.notebook.borrar_pagina() self.cerrar(None) - def guardar(self, widget): + def guardar(self, widget=None, direccion=None): """Emite la señal 'guardar'""" - self.emit('guardar', self.direccion) + self.emit('guardar', direccion) self.borrar(None) -- cgit v0.9.1