diff options
Diffstat (limited to 'CristianEdit/CristianEdit.py')
-rw-r--r-- | CristianEdit/CristianEdit.py | 129 |
1 files changed, 42 insertions, 87 deletions
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index f4fa72e..8c9725e 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -26,6 +26,8 @@ import datetime import Run import thread +import Globales as G + from gi.repository import Gtk from gi.repository import GObject from gi.repository import Pango @@ -47,16 +49,7 @@ class CristianEdit(Gtk.Plug): self.barras_de_abajo = None self.funciones = None - self.fuente = None - self.enumeracion = False - self.margen = None - self.is_margen = None - self.ajuste = None - self.ajuste_palabras = None - self.tabulador = None - self.insertar_espacios = False - self.sangria = None - self.tema = None + self.configuraciones = None self.vbox = None self.menu = None @@ -85,7 +78,7 @@ class CristianEdit(Gtk.Plug): """Se crea la interfaz grafica, se setea y empaqueta todo.""" - #****** Listas >>> ****** + #****** Listas y Diccionarios >>> ****** self.buffers = [] self.views = [] self.lugares = ['Sin dirección'] @@ -101,24 +94,19 @@ class CristianEdit(Gtk.Plug): self.buscar_changed, self.buscar_enter] - #****** <<< Listas ****** + #****** <<< Listas y Diccionarios ****** #****** Configuraciones >>> ****** self.abrir_configuracion() #****** <<< Configuraciones ****** - abrir = Gtk.ToolButton(Gtk.STOCK_OPEN) - self.vbox = Gtk.VBox() self.menu = objetos.Menu(self) hbox_toolbar = Gtk.HBox() - self.toolbar = objetos.Barra(self.funciones, abrir) + self.toolbar = objetos.Barra() self.notebook = objetos.Notebook(self) - abrir.connect('clicked', self.abrir) - self.notebook.connect('boton-cerrar-clicked', self.cerrar_desde_boton) - self.vbox.pack_start(self.menu, False, False, 0) self.vbox.pack_start(hbox_toolbar, False, False, 0) hbox_toolbar.add(self.toolbar) @@ -139,6 +127,9 @@ class CristianEdit(Gtk.Plug): self.lugares.remove(self.lugares[-1]) + self.toolbar.connect('preferencias', self.mostrar_dialogo_configuraciones) + self.notebook.connect('boton-cerrar-clicked', self.cerrar_desde_boton) + self.add(self.vbox) self.show_all() @@ -363,12 +354,7 @@ class CristianEdit(Gtk.Plug): self.etiquetas.append(label) self.barras_de_abajo.append(barra_inferior) - view.configurar(self.enumeracion, - self.fuente, self.margen, - self.is_margen, self.ajuste, - self.ajuste_palabras, - self.tabulador, self.insertar_espacios, - self.sangria, self.tema) + view.configurar(self.configuraciones) self.desplazar_al_final() self.notebook.set_show_tabs(self.notebook.get_n_pages() > 1) @@ -472,18 +458,12 @@ class CristianEdit(Gtk.Plug): for view in self.views: view.modify_font(Pango.FontDescription(self.fuente)) - def configuraciones(self, widget): + def mostrar_dialogo_configuraciones(self, widget): """Abre un díalogo con configuraciones""" - configurador = objetos.Configuraciones(self, self.enumeracion, - self.margen, self.is_margen, - self.ajuste, - self.ajuste_palabras, - self.tabulador, - self.insertar_espacios, - self.sangria, - self.tema) + configurador = objetos.Configuraciones(self, self.configuraciones) + configurador.set_modal(True) configurador.show_all() def get_view(self): @@ -491,6 +471,7 @@ class CristianEdit(Gtk.Plug): pagina = self.notebook.get_current_page() view = self.views[pagina] + return view def get_buffer(self): @@ -557,26 +538,13 @@ class CristianEdit(Gtk.Plug): return self.buffers[pagina].get_text(start, end, False) - def set_configuracion(self, lista): + def set_configuracion(self, diccionario): """Establece la configuración según datos de una lista""" - self.enumeracion = lista[0] - self.margen = lista[1] - self.is_margen = lista[2] - self.ajuste = lista[3] - self.ajuste_palabras = lista[4] - self.tabulador = lista[5] - self.insertar_espacios = lista[6] - self.sangria = lista[7] - self.tema = lista[8] + self.configuraciones = diccionario + for view in self.views: - view.configurar(self.enumeracion, - self.fuente, self.margen, - self.is_margen, self.ajuste, - self.ajuste_palabras, - self.tabulador, - self.insertar_espacios, - self.sangria, self.tema) + view.configurar(self.configuraciones) self.guardar_configuracion() @@ -588,24 +556,16 @@ class CristianEdit(Gtk.Plug): return self.buffers, self.lugares, self.views - def buscar_changed(self, widget): + def buscar_changed(self, widget, texto): """Busca texto en el buffer actual por cada cambio que se haga en la entrada de texto""" - buffer = self.get_buffer() - view = self.get_view() - texto = widget.get_text() - view.buscar_texto(texto) - def buscar_enter(self, widget, icon_position=None, event=None): + def buscar_enter(self, widget, texto): """Busca texto en el buffer actual y selecciona la siguiente coincidecia""" - buffer = self.get_buffer() - view = self.get_view() - texto = widget.get_text() - view.buscar_texto(texto, enter=True) def guardar_configuracion(self, *args): @@ -615,35 +575,27 @@ class CristianEdit(Gtk.Plug): cfg.add_section('datos') - self.guardar_dato('enumeracion', self.enumeracion, cfg) + G.guardar_dato('enumeracion', self.enumeracion, cfg) cfg.set('datos', 'fuente', self.fuente) cfg.set('datos', 'margen', self.margen) - self.guardar_dato('is_margen', self.is_margen, cfg) - self.guardar_dato('ajuste', self.ajuste, cfg) - self.guardar_dato('ajuste_palabras', self.ajuste_palabras, cfg) + G.guardar_dato('is_margen', self.is_margen, cfg) + G.guardar_dato('ajuste', self.ajuste, cfg) + G.guardar_dato('ajuste_palabras', self.ajuste_palabras, cfg) cfg.set('datos', 'tabulador', self.tabulador) - self.guardar_dato('insertar_espacios', self.insertar_espacios, cfg) - self.guardar_dato('sangria', self.sangria, cfg) + G.guardar_dato('insertar_espacios', self.insertar_espacios, cfg) + G.guardar_dato('sangria', self.sangria, cfg) cfg.set('datos', 'recientes', self.recientes) cfg.set('datos', 'tema', self.tema) - f = open(configuracion, 'w') + f = open(G.configuracion, 'w') cfg.write(f) f.close() - def guardar_dato(self, cadena, dato, archivo): - - if dato: - archivo.set('datos', cadena, dato) - - else: - archivo.set('datos', cadena, '') - def abrir_configuracion(self, *args): """Abre la configuración desde el archivo configuraciones.cfg""" cfg = ConfigParser.ConfigParser() - cfg.read([configuracion]) + cfg.read([G.configuracion]) try: self.enumeracion = bool(cfg.get('datos', 'enumeracion')) @@ -659,16 +611,19 @@ class CristianEdit(Gtk.Plug): self.tema = str(cfg.get('datos', 'tema')) except ConfigParser.NoOptionError: - self.enumeracion = True - self.fuente = 'Monospace' - self.margen = 80 - self.is_maegen = False - self.ajuste = False - self.ajuste_palabras = False - self.tabulador = 8 - self.insertar_espacios = False - self.sangria = False self.recientes = '' - self.tema = 'classic' - self.guardar_configuracion() + self.configuraciones = { + 'enumeracion': True, + 'margen': 80, + 'is_margen': False, + 'ajuste': False, + 'ajuste_palabras': False, + 'tabulador': 8, + 'insertar_espacios': False, + 'sangria': False, + 'tema': 'classic', + 'fuente': 'Monospace', + 'recientes': ''} + + self.guardar_configuracion() |