From 6872c8916defd04fc70167989ae344794935e628 Mon Sep 17 00:00:00 2001 From: Cristian Garcia Date: Wed, 12 Jun 2013 15:41:36 +0000 Subject: Arreglando menu --- 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)) == "": + 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 -- cgit v0.9.1