def __init__(self, caller=None, user=None): #*args): # Initialization QtGui.QDialog.__init__(self, None) self.ui = Ui_UserDialog() self.ui.setupUi(self) # Parameters self.caller = caller self.backupUser = None if user: # If user is specified, we should be editing it. self.backupUser = deepcopy( user ) # Back it up in case user presses cancel after modifying. self.user = user self.editMode = True else: # Else create a new user. self.user = User() # Empty user to be filled in. self.editMode = False self.backupUser = None # Indicate this is a new user to slotCancel. self.currentWarnings = set() # To keep the warning sentences in. self.slotSwitchToNormal(True) # Select plain password radio button. if user: self.loadUserInformation( user) # Load user data if user is specified. self.connectSlots() # Connect signal-slot pairs. self.loadGroups() # Load the group list