from gtk import * from iw import * from gui import _ class AuthWindow (InstallWindow): def __init__ (self, ics): InstallWindow.__init__ (self, ics) self.todo = ics.getToDo () ics.setTitle (_("Authentication Configuration")) ## ics.setHTML ("Select authentication methods" ## "") ics.readHTML ("authconf") ics.setNextEnabled (TRUE) def setSensitivities (self, *args): if (not self.nis.get_active()): self.nisDomain.set_sensitive (FALSE) self.nisBroadcast.set_sensitive (FALSE) self.nisServer.set_sensitive (FALSE) self.domainLabel.set_sensitive (FALSE) self.serverLabel.set_sensitive (FALSE) else: self.nisDomain.set_sensitive (TRUE) self.domainLabel.set_sensitive (TRUE) self.nisBroadcast.set_sensitive (TRUE) if (self.nisBroadcast.get_active()): self.serverLabel.set_sensitive (FALSE) self.nisServer.set_sensitive (FALSE) else: self.serverLabel.set_sensitive (TRUE) self.nisServer.set_sensitive (TRUE) def getNext(self): if not self.__dict__.has_key("md5"): return None self.todo.auth.useMD5 = self.md5.get_active () self.todo.auth.useShadow = self.shadow.get_active () self.todo.auth.useNIS = self.nis.get_active () self.todo.auth.useBroadcast = self.nisBroadcast.get_active () self.todo.auth.domain = self.nisDomain.get_text () self.todo.auth.server = self.nisServer.get_text () def getScreen (self): box = GtkVBox (FALSE, 10) self.md5 = GtkCheckButton (_("Enable MD5 passwords")) self.shadow = GtkCheckButton (_("Enable shadow passwords")) self.nis = GtkCheckButton (_("Enable NIS")) self.nisBroadcast = GtkCheckButton (_("Use broadcast to find NIS server")) self.nisDomain = GtkEntry () self.nisServer = GtkEntry () self.md5.set_active (self.todo.auth.useMD5) self.shadow.set_active (self.todo.auth.useShadow) self.nis.set_active (self.todo.auth.useNIS) self.nisDomain.set_text (self.todo.auth.domain) self.nisBroadcast.set_active (self.todo.auth.useBroadcast) self.nisServer.set_text (self.todo.auth.server ) self.domainLabel = GtkLabel (_("NIS Domain: ")) self.domainLabel.set_alignment (0, 0) self.serverLabel = GtkLabel (_("NIS Server: ")) self.serverLabel.set_alignment (0, 0) self.setSensitivities() self.nis.connect ("toggled", self.setSensitivities) self.nisBroadcast.connect ("toggled", self.setSensitivities) hbox1 = GtkHBox () hbox1.pack_start (self.domainLabel, FALSE) hbox1.pack_start (self.nisDomain) hbox2 = GtkHBox () hbox2.pack_start (self.serverLabel, FALSE) hbox2.pack_start (self.nisServer) a = GtkAlignment (0, 0) a.add (self.nisBroadcast) table = GtkTable (10, 4) table.attach (self.nis, 0, 10, 0, 1) table.attach (hbox1, 2, 10, 1, 2) table.attach (a, 2, 10, 2, 3, xoptions = EXPAND|FILL) table.attach (hbox2, 4, 10, 3, 4) box.pack_start (self.md5, FALSE) box.pack_start (self.shadow, FALSE) box.pack_start (table, FALSE) box.set_border_width (5) return box