diff options
Diffstat (limited to 'CristianEdit/CristianEdit.py')
-rw-r--r-- | CristianEdit/CristianEdit.py | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index 688ed03..06a5afc 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -35,6 +35,7 @@ from objetos import BarraInferior from objetos import DialogoCerrar from objetos import DialogoEstado from objetos import DialogoReemplazar +from objetos import DialogoReemplazarTexto from objetos import SelectordeFuente from objetos import Configuraciones from objetos import Teclado @@ -72,14 +73,6 @@ class CristianEdit(Gtk.Plug): self.show_all() - def tecla(self, widget, event): - """Saber si el usuario presionó una tecla.""" - - tecla = Gdk.keyval_name(event.keyval) - - if tecla == 'Escape': - self.emit('cerrar') - def setup_init(self, direcciones): """Se crea la interfaz grafica, se setea y empaqueta todo.""" @@ -91,6 +84,7 @@ class CristianEdit(Gtk.Plug): hbox_toolbar = Gtk.HBox() self.toolbar = Barra() self.notebook = Notebook(self) + self.dialogo = DialogoReemplazarTexto(self.get_toplevel()) self.vbox.pack_start(self.menu, False, False, 0) self.vbox.pack_start(hbox_toolbar, False, False, 0) @@ -115,6 +109,7 @@ class CristianEdit(Gtk.Plug): self.toolbar.connect('buscar', self.buscar_texto) self.notebook.connect('boton-cerrar-clicked', self.cerrar_desde_boton) self.notebook.connect('boton-nuevo-clicked', self.pagina_nueva) + self.dialogo.connect('solicitar-buffer', self.setear_variable_buffer) self.add(self.vbox) self.show_all() @@ -217,9 +212,12 @@ class CristianEdit(Gtk.Plug): elif accion == 'Desplazar al final': self.notebook.desplazar_al_final() + elif accion == 'Reemplazar': + self.mostrar_dialogo_reemplazar() + elif accion == 'Acerca de': Creditos(self.get_toplevel()) - + def abrir(self, widget=None, direccion=None): """Abrir uno o varios archivo/s.""" @@ -559,6 +557,29 @@ class CristianEdit(Gtk.Plug): for view in self.views: view.modify_font(Pango.FontDescription(fuente)) + def mostrar_dialogo_reemplazar(self, widget=None): + """Muestra un diálogo para reemplzar texto""" + + if not self.dialogo.mostrado: + self.dialogo.mostrado = True + + texto_actual = '' + + buffer = self.get_buffer() + + if buffer.get_selection_bounds(): + inicio, fin = buffer.get_selection_bounds() + texto_actual = buffer.get_text(inicio, fin, 0) + + if len(texto_actual.splitlines()) > 1: + texto_actual = '' + + self.dialogo.set_text(texto_actual) + self.dialogo.show_all() + + else: + self.dialogo.set_focus(True) + def mostrar_dialogo_configuraciones(self, widget=None): """Abre un díalogo con configuraciones.""" @@ -626,6 +647,10 @@ class CristianEdit(Gtk.Plug): return self.buffers[pagina].get_text(start, end, 0) + def setear_variable_buffer(self, widget): + + widget.buffer = self.get_buffer() + def set_configuracion(self, diccionario): """Establece la configuración según datos de una lista""" |