Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/CristianEdit/CristianEdit.py
diff options
context:
space:
mode:
Diffstat (limited to 'CristianEdit/CristianEdit.py')
-rw-r--r--CristianEdit/CristianEdit.py129
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()