diff options
author | Sebastien Estienne <sebastien.estienne@gmail.com> | 2005-10-27 21:50:41 +0000 |
---|---|---|
committer | Sebastien Estienne <sebastien.estienne@gmail.com> | 2005-10-27 21:50:41 +0000 |
commit | a3d9ef916e2b6a71c7360c2dd4ff21d02a30da08 (patch) | |
tree | 0ec4d1945a398181d00c5eb95025843d546c6f84 | |
parent | a3dcede67b491fd3238f5b1c7e07502df13dca10 (diff) |
* add support for displaying "no service found"
git-svn-id: file:///home/lennart/svn/public/service-discovery-applet/trunk@72 3be567f1-68ff-0310-b24a-ad7cc433fd2f
-rwxr-xr-x | src/service-discovery-applet.in | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/service-discovery-applet.in b/src/service-discovery-applet.in index e9d1a67..0b86cab 100755 --- a/src/service-discovery-applet.in +++ b/src/service-discovery-applet.in @@ -81,6 +81,8 @@ class ServiceDiscoveryApplet(gnomeapplet.Applet): self.service_browsers = {} self.service_menu = gtk.Menu() self.service_menu.connect("hide", self.on_hide_service_menu) + self.add_no_services_menuitem() + self.zc_types = {} self.zc_services = {} self.zc_pretty_name = avahi.ServiceTypeDatabase.ServiceTypeDatabase() @@ -202,6 +204,11 @@ class ServiceDiscoveryApplet(gnomeapplet.Applet): except dbus.dbus_bindings.DBusException: pass + # if we found a service, remove "No service found" + if self.zc_types == {}: + for menuitem in self.service_menu.get_children(): + self.service_menu.remove(menuitem) + if self.zc_types.has_key(type) == False: if self.zc_pretty_name.has_key(type): pretty_name = self.zc_pretty_name[type] @@ -243,6 +250,9 @@ class ServiceDiscoveryApplet(gnomeapplet.Applet): self.service_menu.remove(self.zc_types[type].get_attach_widget()) del self.zc_types[type] + if self.zc_types == {}: + self.add_no_services_menuitem() + def add_service_type(self, interface, protocol, type, domain): # Are we already browsing this domain for this type? if self.service_browsers.has_key((interface, protocol, type, domain)): @@ -277,6 +287,16 @@ class ServiceDiscoveryApplet(gnomeapplet.Applet): if self.zc_types.has_key(type): self.service_menu.remove(self.zc_types[type].get_attach_widget()) del self.zc_types[type] + if len(self.zc_types) == 0: + self.add_no_services_menuitem() + + def add_no_services_menuitem(self): + for menuitem in self.service_menu.get_children(): + self.service_menu.remove(menuitem) + menuitem = gtk.MenuItem(_("No services found")) + menuitem.set_sensitive(False) + self.service_menu.add(menuitem) + menuitem.show_all() ############################################################################### # |