diff options
author | Cristian Garcia <cristian99garcia@gmail.com> | 2013-06-10 21:47:14 (GMT) |
---|---|---|
committer | Cristian Garcia <cristian99garcia@gmail.com> | 2013-06-10 21:47:14 (GMT) |
commit | 5337555ab6920a9982f7bdd8b01731ece305c17d (patch) | |
tree | 426ef5987f8ff1a39268121b63242b5fe61eb1e9 | |
parent | 30694f1e936d4fee320f1d15e12e9051f708a430 (diff) |
Arreglando el dialogo reemplazar
-rw-r--r-- | CristianEdit/CristianEdit.py | 27 | ||||
-rw-r--r-- | CristianEdit/objetos.py | 57 | ||||
-rw-r--r-- | CristianEdit/objetos.pyc | bin | 41766 -> 41971 bytes |
3 files changed, 49 insertions, 35 deletions
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index 70b80c8..cc22c38 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -36,6 +36,7 @@ from objetos import Navegador from objetos import BarraInferior from objetos import DialogoCerrar from objetos import DialogoEstado +from objetos import DialogoReemplazar from objetos import SelectordeFuente from objetos import Configuraciones from objetos import Teclado @@ -65,7 +66,6 @@ class CristianEdit(Gtk.Plug): self.barras_de_abajo = [] self.configuraciones = {} - self.recientes = [] self.vbox = None self.menu = None @@ -101,8 +101,7 @@ class CristianEdit(Gtk.Plug): self.notebook.set_show_tabs(False) self.pagina_nueva() - self.menu.actualizar_recientes(self.recientes) - print self.recientes + self.menu.actualizar_recientes(self.configuraciones['recientes']) numero = 0 @@ -256,7 +255,7 @@ class CristianEdit(Gtk.Plug): escritura = self.get_escritura(lugar) self.agregar_a_recientes(lugar) - self.menu.actualizar_recientes(self.recientes) + self.menu.actualizar_recientes(self.configuraciones['recientes']) buffer.set_text(texto) buffer.set_modified(False) @@ -296,7 +295,7 @@ class CristianEdit(Gtk.Plug): escritura = self.get_escritura(direccion) self.agregar_a_recientes(direccion) - self.menu.actualizar_recientes(self.recientes) + self.menu.actualizar_recientes(self.configuraciones['recientes']) buffer.set_text(texto) buffer.set_modified(False) @@ -363,7 +362,11 @@ class CristianEdit(Gtk.Plug): self.agregar_a_recientes(direccion) else: - objetos.dialogo_reemplazar(direccion, buffer, self) + DialogoReemplazar( + direccion, + buffer, + self.get_toplevel(), + self.get_texto()) self.navegador.destroy() @@ -480,8 +483,12 @@ class CristianEdit(Gtk.Plug): """Agrega una dirección a archivos recientes""" if os.path.exists(path): - self.recientes.append(path) - self.menu.actualizar_recientes(self.recientes) + self.configuraciones['recientes'].insert(0, path) + self.menu.actualizar_recientes(self.configuraciones['recientes']) + + if len(self.configuraciones['recientes']) > 10: + for x in self.configuraciones['recientes'][10:]: + self.configuraciones['recientes'].remove(x) def deshacer(self, widget=None): """Deshacer cambios""" @@ -648,7 +655,7 @@ class CristianEdit(Gtk.Plug): cfg.set('datos', 'insertar_espacios', self.configuraciones['insertar_espacios']) cfg.set('datos', 'sangria', self.configuraciones['sangria']) cfg.set('datos', 'tema', self.configuraciones['tema']) - cfg.set('datos', 'recientes', str(self.recientes)) + cfg.set('datos', 'recientes', str(self.configuraciones['recientes'])) f = open(G.configuracion, 'w') cfg.write(f) @@ -694,7 +701,7 @@ class CristianEdit(Gtk.Plug): 'sangria': False, 'tema': 'classic', 'fuente': 'Monospace', - 'recientes': '', + 'recientes': [], 'abrir_archivo': False} self.guardar_configuracion() diff --git a/CristianEdit/objetos.py b/CristianEdit/objetos.py index 37cab82..87ece9e 100644 --- a/CristianEdit/objetos.py +++ b/CristianEdit/objetos.py @@ -32,31 +32,6 @@ from gi.repository import GLib import Globales as G -def dialogo_reemplazar(direccion, buffer, cristianedit): - """Preguntar si reemplazar o no, cuando la dirección ya existe""" - - dialog = Gtk.MessageDialog(type=Gtk.MessageType(2)) - - dialog.add_buttons(Gtk.STOCK_NO, 0, Gtk.STOCK_YES, 1) - dialog.set_markup('<b>%s</b>' % 'La dirección especificada ya existe...') - dialog.format_secondary_text( - 'Sí sobrescribe el archivo, se reemplazará su contenido.') - - respuesta = dialog.run() - dialog.destroy() - - if respuesta == 1: - escritura = open(direccion, 'w') - - escritura.write(cristianedit.get_texto()) - buffer.set_modified(False) - - escritura.close() - - else: - dialog.destroy() - - class Menu(Gtk.MenuBar): """Barra de Menú""" @@ -671,6 +646,38 @@ class ComboLenguajes(Gtk.ComboBoxText): return self.lenguaje_manager +class DialogoReemplazar(Gtk.MessageDialog): + + def __init__(self, direccion, buffer, padre, texto): + + Gtk.MessageDialog.__init__( + self, + parent=padre, + type=Gtk.MessageType.QUESTION) + + self.set_transient_for(padre) + self.set_modal(True) + self.set_markup('<b>%s</b>' % 'La dirección especificada ya existe...') + + self.format_secondary_text( + 'Sí sobrescribe el archivo, se reemplazará su contenido.') + + self.add_buttons( + Gtk.STOCK_NO, Gtk.ResponseType.CANCEL, + Gtk.STOCK_YES, Gtk.ResponseType.ACCEPT) + + respuesta = self.run() + self.destroy() + + if respuesta == Gtk.ResponseType.ACCEPT: + escritura = open(direccion, 'w') + + escritura.write(texto) + buffer.set_modified(False) + + escritura.close() + + class DialogoCerrar(Gtk.Dialog): """El díalogo que le pregunta al usuario sí en realidad quiere borrar la página del GtkNotebook()""" diff --git a/CristianEdit/objetos.pyc b/CristianEdit/objetos.pyc Binary files differindex 4263b90..6f464c9 100644 --- a/CristianEdit/objetos.pyc +++ b/CristianEdit/objetos.pyc |