File: emailSetup.py

package info (click to toggle)
releaseforge 1.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,088 kB
  • ctags: 1,239
  • sloc: python: 13,801; makefile: 68; sh: 32
file content (83 lines) | stat: -rw-r--r-- 2,309 bytes parent folder | download
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")