# pyne personalities :-) import utils from ptk.big_edit_box import * class PersonalityEditBox: def __init__(self, user, personality, parent_personalitybox): self.user = user self.parent_personalitybox = parent_personalitybox self.personality = personality self.win = gtk.Dialog() self.win.set_transient_for (parent_personalitybox.parent_win) self.win.set_title(_("Editing personality")) self.win.vbox.set_border_width(5) self.win.activate_focus () self.settings_box = big_edit_box( self.personality, ( ("pname", _("Personality name:"), VAR_TYPE_STRING, 0, 0), ("realname", _("Real name:"), VAR_TYPE_STRING, 0, 0), ("emailaddr", _("Email address:"), VAR_TYPE_STRING, 0, 0), ("replyto", _("Reply-to address:"), VAR_TYPE_STRING, 0, 0), ("org", _("Organisation:"), VAR_TYPE_STRING, 0, 0), ("sigfile", _("Signature file:"), VAR_TYPE_STRING, 0, 0, (utils.modal_file_sel_box, (_("Select Signature File"),))) ) ) self.win.vbox.pack_start(self.settings_box, expand=False) self.win.action_area.set_spacing (5) def _save_changes_close (_button): self.settings_box.apply_changes () self.parent_personalitybox.update_personlist () self.win.destroy () button = gtk.Button(stock="gtk-ok") button.connect("clicked", _save_changes_close) self.win.action_area.pack_end(button, expand=False) button.show() def _cancel (_button): self.win.destroy () button = gtk.Button(stock="gtk-cancel") button.connect("clicked", _cancel) self.win.action_area.pack_end(button, expand=False) button.show() self.win.show_all() class personality: """ A user personality. """ def __init__(self, pname): # Name of personality. Id of sorts. self.pname = pname # Key in user.personalities dict. Set when added self.uid = None self.realname = "" self.emailaddr = "" self.replyto = "" self.sigfile = "~/.signature" self.org = "" def edit_box(self, user, parent_personalitybox): PersonalityEditBox (user, self, parent_personalitybox)