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-06-12 15:41:36 (GMT)
committer Cristian Garcia <cristian99garcia@gmail.com>2013-06-12 15:41:36 (GMT)
commit6872c8916defd04fc70167989ae344794935e628 (patch)
treeda558c805f2c6ea2092922b37d757129972a16f1
parent423565f1efefb4c455a97742528da2fa1e2d45ef (diff)
Arreglando menu
-rw-r--r--CristianEdit/CristianEdit.py8
-rw-r--r--CristianEdit/objetos.py33
-rw-r--r--CristianEdit/objetos.pycbin42229 -> 42629 bytes
3 files changed, 36 insertions, 5 deletions
diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py
index e273eac..bd8205b 100644
--- a/CristianEdit/CristianEdit.py
+++ b/CristianEdit/CristianEdit.py
@@ -219,6 +219,8 @@ class CristianEdit(Gtk.Plug):
pagina = self.notebook.get_current_page()
+ self.menu.bloquear_menus()
+
if not direccion:
navegador = Navegador(
'Abrir archivo de Texto',
@@ -314,6 +316,8 @@ class CristianEdit(Gtk.Plug):
elif direccion in self.lugares:
self.notebook.set_current_page(self.lugares.index(direccion))
+ self.menu.desbloquear_menus()
+
def guardar(self, widget=None, direccion=None):
"""Guardar el archivo actual. Si se guarda
por primera vez, se llamará a la función
@@ -346,6 +350,8 @@ class CristianEdit(Gtk.Plug):
def guardar_como(self, widget=None):
"""Guardar copia o por primera vez."""
+ self.menu.bloquear_menus()
+
pagina = self.notebook.get_current_page()
buffer = self.buffers[pagina]
@@ -379,6 +385,8 @@ class CristianEdit(Gtk.Plug):
self.navegador.destroy()
+ self.menu.desbloquear_menus()
+
def estado(self, *args):
"""Muestra un diálogo con los datos
del archivo que se está editando actualmente."""
diff --git a/CristianEdit/objetos.py b/CristianEdit/objetos.py
index 0f78dc4..5988937 100644
--- a/CristianEdit/objetos.py
+++ b/CristianEdit/objetos.py
@@ -59,6 +59,8 @@ class Menu(Gtk.MenuBar):
menu_editar = Gtk.MenuItem('_Editar')
menu_ayuda = Gtk.MenuItem('Ay_uda')
+ self.menus = [menu_archivo, menu_recientes, menu_editar, menu_ayuda]
+
menu_archivo.set_use_underline(True)
menu_recientes.set_use_underline(True)
menu_editar.set_use_underline(True)
@@ -96,15 +98,24 @@ class Menu(Gtk.MenuBar):
self.menu_item('Estado del archivo', self.emit_accion, editar, 'E')
editar.append(Gtk.SeparatorMenuItem())
self.menu_item('Mostrar teclado...', self.emit_accion, editar, 'T')
- self.menu_item('Acerca de', self.emit_accion, ayuda)
+ #self.menu_item(Gtk.SpinButton(), None, editar)
- def menu_item(self, etiqueta, callback, menu, letra=None, devolver=None):
- """Creando los item para los menús"""
- item = Gtk.MenuItem(etiqueta)
- item.connect('activate', callback)
+ self.menu_item('Acerca de', self.emit_accion, ayuda)
+ def menu_item(self, objeto, callback, menu, letra=None, devolver=None):
+ """Crea los item para los menús"""
+ item = Gtk.MenuItem()
menu.append(item)
+ if str(type(objeto)) == "<type 'str'>":
+ item.set_label(objeto)
+
+ else:
+ item.add(objeto)
+
+ if callback:
+ item.connect('activate', callback)
+
if letra:
item.add_accelerator('activate', self.grupo, ord(letra),
Gdk.ModifierType(4), Gtk.AccelFlags(1))
@@ -161,6 +172,18 @@ class Menu(Gtk.MenuBar):
self.emit('accion', texto)
+ def bloquear_menus(self):
+ """Bloquea todos los menús"""
+
+ for x in self.menus:
+ x.set_sensitive(False)
+
+ def desbloquear_menus(self):
+ """Desbloquea todos los menús"""
+
+ for x in self.menus:
+ x.set_sensitive(True)
+
class Buffer(GtkSource.Buffer):
"""Buffer de Texto"""
diff --git a/CristianEdit/objetos.pyc b/CristianEdit/objetos.pyc
index b8b40de..3b0751b 100644
--- a/CristianEdit/objetos.pyc
+++ b/CristianEdit/objetos.pyc
Binary files differ