diff options
author | Cristian Garcia <cristian99garcia@gmail.com> | 2013-06-12 15:41:36 (GMT) |
---|---|---|
committer | Cristian Garcia <cristian99garcia@gmail.com> | 2013-06-12 15:41:36 (GMT) |
commit | 6872c8916defd04fc70167989ae344794935e628 (patch) | |
tree | da558c805f2c6ea2092922b37d757129972a16f1 | |
parent | 423565f1efefb4c455a97742528da2fa1e2d45ef (diff) |
Arreglando menu
-rw-r--r-- | CristianEdit/CristianEdit.py | 8 | ||||
-rw-r--r-- | CristianEdit/objetos.py | 33 | ||||
-rw-r--r-- | CristianEdit/objetos.pyc | bin | 42229 -> 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 Binary files differindex b8b40de..3b0751b 100644 --- a/CristianEdit/objetos.pyc +++ b/CristianEdit/objetos.pyc |