25
import bzrlib.plugins.gtk
25
26
from bzrlib.plugins.gtk.notify import has_avahi, has_dbus
29
return (getattr(bzrlib.plugins, "email", None) is not None)
32
return (getattr(bzrlib.plugins, "cia", None) is not None)
27
35
class NotificationsPage(gtk.VBox):
28
36
def __init__(self, config, homogeneous=False, spacing=6):
29
37
self.config = config
30
38
gtk.VBox.__init__(self, homogeneous=homogeneous, spacing=spacing)
31
39
self.set_spacing(spacing) # The vertical one
41
lan_frame = gtk.Frame("LAN Notifications")
44
lan_frame.add(lan_vbox)
33
46
self.gateway_to_lan = gtk.CheckButton("_Gateway to LAN")
34
self.pack_start(self.gateway_to_lan, expand=False)
47
lan_vbox.pack_start(self.gateway_to_lan)
35
48
self.gateway_to_lan.set_sensitive(has_dbus())
37
50
self.announce_on_lan = gtk.CheckButton("_Announce on LAN")
38
self.pack_start(self.announce_on_lan, expand=False)
51
lan_vbox.pack_start(self.announce_on_lan)
39
52
self.announce_on_lan.set_sensitive(has_avahi())
54
self.pack_start(lan_frame)
56
email_frame = gtk.Frame("E-mail notifications")
58
email_hbox = gtk.HBox()
59
self.send_email = gtk.CheckButton("Send _E-Mail to")
60
email_hbox.pack_start(self.send_email)
61
self.send_email_to = gtk.Entry()
62
email_hbox.pack_start(self.send_email_to)
64
email_frame.add(email_hbox)
65
email_frame.set_sensitive(has_email())
67
self.pack_start(email_frame)
69
cia_frame = gtk.Frame("CIA notifications")
71
cia_user_hbox = gtk.HBox()
72
cia_user_hbox.pack_start(gtk.Label("Author name"))
73
self.cia_user = gtk.Entry()
74
cia_user_hbox.pack_start(self.cia_user)
76
cia_frame.add(cia_user_hbox)
77
cia_frame.set_sensitive(has_cia())
79
self.pack_start(cia_frame)