import os, sys
try:
- import avahi, gtk, gobject, dbus, avahi.ServiceTypeDatabase
- from avahi_discover.SimpleGladeApp import SimpleGladeApp
+ import avahi, gettext, gtk, gobject, dbus, avahi.ServiceTypeDatabase
+ _ = gettext.gettext
except ImportError, e:
print "Sorry, to use this tool you need to install Avahi, pygtk and python-dbus.\n Error: %s" % e
sys.exit(1)
d.run()
d.destroy()
-glade_dir = "@interfacesdir@"
+ui_dir = "@interfacesdir@"
service_type_db = avahi.ServiceTypeDatabase.ServiceTypeDatabase()
-class Main_window(SimpleGladeApp):
- def __init__(self, path="avahi-discover.glade", root="main_window", domain=None, **kwargs):
- path = os.path.join(glade_dir, path)
+class Main_window:
+ def __init__(self, path="avahi-discover.ui", root="main_window", domain=None, **kwargs):
+ path = os.path.join(ui_dir, path)
gtk.window_set_default_icon_name("network-wired")
- SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
+ self.ui = gtk.Builder()
+ self.ui.add_from_file(path)
+ self.ui.connect_signals(self)
+ self.tree_view = self.ui.get_object("tree_view")
+ self.info_label = self.ui.get_object("info_label")
+ self.new()
def on_tree_view_cursor_changed(self, widget, *args):
(model, iter) = widget.get_selection().get_selected()
- (name,interface,protocol,stype,domain) = self.treemodel.get(iter,1,2,3,4,5)
+ stype = None
+ if iter is not None:
+ (name,interface,protocol,stype,domain) = self.treemodel.get(iter,1,2,3,4,5)
if stype == None:
self.info_label.set_markup("<i>No service currently selected.</i>")
return
# Just browse the domain the user wants us to browse
self.browse_domain(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, domain)
-
+ def gtk_main_quit(self, *args):
+ gtk.main_quit()
+
def main():
main_window = Main_window()
-
- main_window.run()
+ gtk.main()
if __name__ == "__main__":
main()