1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
from qt import *
from emailSetupBA import EmailSetupBA
import re
from help import Help
try:
set = set
except:
from sets import Set
set = Set
email_rx = re.compile('''.*?@.*?\..+?''')
class EmailSetup(EmailSetupBA):
def __init__(self, parent, address_book, projectVO):
EmailSetupBA.__init__(self, parent)
self.parent = parent
self.address_book = address_book
self.projectVO = projectVO
self.project_name = projectVO.getProjectName()
self.projectNameTextLabel.setText(self.project_name)
self.dirty = False
self.populate()
def populate(self):
addresses = self.address_book.get(self.project_name)
#print "addresses: ", addresses
for address in addresses:
self.addressListBox.insertItem(address)
def add(self):
self.addressListBox.insertItem(self.addressLineEdit.text())
self.addressLineEdit.setText("")
self.dirty = True
def remove(self):
text = str(self.addressListBox.currentText())
self.addressListBox.removeItem(self.addressListBox.currentItem())
self.removePushButton.setEnabled(False)
self.addressLineEdit.setText(text)
self.addressLineEdit.setFocus()
self.dirty = True
def address_edited(self, qaddress):
address = str(qaddress)
if email_rx.match(address): enable = True
else: enable = False
self.addPushButton.setEnabled(enable)
def address_selected(self, qaddress):
address = str(qaddress)
if address: enable = True
else: enable = False
self.removePushButton.setEnabled(enable)
def accept(self):
if self.dirty:
rows = self.addressListBox.numRows()
addresses = set()
for i in range(rows):
address = str(self.addressListBox.text(i))
addresses.add(address)
self.address_book.set(self.project_name, list(addresses))
self.address_book.save_file()
self.parent.emit(PYSIGNAL("address_book_changed()"), (True, ))
EmailSetupBA.accept(self)
def help(self):
self._help = Help(self, "email_setup.html")
|