Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Garcia <cristian99garcia@gmail.com>2013-07-28 11:34:36 (GMT)
committer Cristian Garcia <cristian99garcia@gmail.com>2013-07-28 11:34:36 (GMT)
commit603e4f7a95c3b76eb7fa4f76298e3eb66e963134 (patch)
tree6d0393692e8f3bf09c1b353b27ad589bb3eb0f57
parent29da993ee674b213c309c5a58f7a9e531cc7e94c (diff)
Mejorando el funcionamiento de la consulta cuando el usuario quiere cerrar un archivo con cambios
-rwxr-xr-xCristianEdit.py6
-rw-r--r--CristianEdit/CristianEdit.py15
-rw-r--r--CristianEdit/objetos.py26
3 files changed, 23 insertions, 24 deletions
diff --git a/CristianEdit.py b/CristianEdit.py
index 1fe9f9d..60d262c 100755
--- a/CristianEdit.py
+++ b/CristianEdit.py
@@ -98,9 +98,13 @@ class Ventana(Gtk.Window):
self)
dialog.add_label(
- 'El archivo:\n%s\ntiene cambios sin guardar.' % direccion)
+ 'El archivo:\n%s\ntiene cambios sin guardar.' % direccion,
+ bold=True)
+
dialog.add_label('¿Desea guardar antes de cerrar?')
+ dialog.connect('guardar', self.cristianedit.guardar)
+
respuesta = dialog.run()
dialog.destroy()
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py
index 94967a4..7b94a3d 100644
--- a/CristianEdit/CristianEdit.py
+++ b/CristianEdit/CristianEdit.py
@@ -187,15 +187,17 @@ class CristianEdit(Gtk.Plug):
self)
dialog.add_label(
- 'El archivo:\n%s\ntiene cambios sin guardar.' % lugar)
+ 'El archivo:\n%s\ntiene cambios sin guardar.' % lugar,
+ bold=True)
+
dialog.add_label('¿Desea guardar antes de cerrar?')
- respuesta = dialog.run()
+ dialog.connect('guardar', self.guardar)
- if respuesta == Gtk.ResponseType.CANCEL:
- dialog.cerrar()
+ respuesta = dialog.run()
+ dialog.destroy()
- elif respuesta == Gtk.ResponseType.NO:
+ if respuesta == Gtk.ResponseType.NO:
self.lugares.remove(self.lugares[numero])
self.buffers.remove(self.buffers[numero])
self.views.remove(self.views[numero])
@@ -204,12 +206,9 @@ class CristianEdit(Gtk.Plug):
self.notebook.remove_page(numero)
- dialog.cerrar()
-
elif respuesta == Gtk.ResponseType.YES:
self.guardar()
self.notebook.remove_page(numero)
- dialog.cerrar()
self.lugares = dialog.lugares
self.etiquetas = dialog.etiquetas
diff --git a/CristianEdit/objetos.py b/CristianEdit/objetos.py
index 86c5a0c..5352285 100644
--- a/CristianEdit/objetos.py
+++ b/CristianEdit/objetos.py
@@ -918,6 +918,11 @@ class DialogoCerrar(Gtk.Dialog):
__gtype_name__ = 'DialogoCerrar'
+ __gsignals__ = {
+ 'guardar': (GObject.SIGNAL_RUN_FIRST,
+ None, (str,))
+ }
+
def __init__(
self,
direccion,
@@ -958,29 +963,20 @@ class DialogoCerrar(Gtk.Dialog):
self.cerrar(None)
def guardar(self, widget):
- """Guarda el archivo antes de cerrar la pestaña"""
-
- try:
- if not self.direccion == 'Sin dirección':
- self.padre.guardar(None, direccion=self.direccion)
+ """Emite la señal 'guardar'"""
- else:
- self.padre.guardar_como(None)
-
- except:
- if not self.direccion == 'Sin dirección':
- self.padre.cristianedit.guardar(None, direccion=self.direccion)
-
- else:
- self.padre.cristianedit.guardar_como(None)
+ self.emit('guardar', self.direccion)
self.borrar(None)
- def add_label(self, string):
+ def add_label(self, string, bold=None):
"""Crea un label con el texto y se le agrega"""
label = Gtk.Label(string)
+ if bold:
+ label.modify_font(Pango.FontDescription('bold'))
+
self.vbox.add(label)
label.show()