Reputation: 1045
maybe a trivial question, but I'm having some severe problems with PyGTK...
I'm trying to programm an application indicator for unity with gtk, and I'm trying to set some of my menuitems insensitive (via set_sensitive(False)
) after I clicked on them...
Here's a code snippet:
class CheckNAS:
def __init__(self):
self.ind = appindicator.Indicator("debian-doc-menu", "indicator- messages",appindicator.CATEGORY_APPLICATION_STATUS)
self.ind.set_status (appindicator.STATUS_ACTIVE)
self.ind.set_attention_icon("icon1")
self.ind.set_icon("icon2")
def menu_setup(self):
self.quit_item = gtk.MenuItem("QUIT")
self.quit_item.connect("activate",self.quit)
if condition_function()==True:
self.quit.set_sensitive(False)
self.quit_item.show()
self.menu.append(self.quit_item)
and then I do repeatedly menu_setup
via an add_timeout(1000,self.condition_function)
. This works fine in principle, but I'd prefer that the menuitem turns insensitive immiediately after I clicked it...
Sorry for the Noob-question:)
Upvotes: 0
Views: 302
Reputation: 1654
is that what you want?
class CheckNAS:
def __init__(self):
self.ind = appindicator.Indicator("debian-doc-menu",
"indicator-messages",appindicator.CATEGORY_APPLICATION_STATUS)
self.ind.set_status (appindicator.STATUS_ACTIVE)
self.ind.set_attention_icon("icon1")
self.ind.set_icon("icon2")
def menu_setup(self):
self.quit_item = gtk.MenuItem("QUIT")
self.quit_item.connect("activate",self.sensitive)
self.quit_item.show()
self.menu.append(self.quit_item)
def sensitive(self,widget):
if widget.get_sensitive():
widget.set_sensitive(False)
else:
widget.set_sensitive(True)
Upvotes: 2