1
2
3
4
5
6
7 from comtypes import COMError
8 import comtypes.client
9 import winUser
10 import appModuleHandler
11 import eventHandler
12 import controlTypes
13 from NVDAObjects.IAccessible import IAccessible
14 from NVDAObjects.window import Window
15 from NVDAObjects.IAccessible.MSHTML import MSHTML
16
19
21 nameList=[]
22 nameList.append(obj.senderName)
23 nameList.append(_("subject: %s")%obj.subject)
24 nameList.append(_("received: %s")%obj.receivedTime)
25
26 text=", ".join(nameList)
27 if obj.unread:
28 text="%s %s"%(_("unread"),text)
29 if obj.attachments.count>0:
30 text="%s %s"%(_("attachment"),text)
31 return text
32
34 nameList=[]
35 nameList.append(obj.to)
36 nameList.append(_("subject: %s")%obj.subject)
37 nameList.append(_("sent: %s")%obj.sentOn)
38 return ", ".join(nameList)
39
41
43 if not getattr(self,'_nativeOm',None):
44 try:
45 nativeOm=comtypes.client.GetActiveObject("outlook.application",dynamic=True)
46 except (COMError,WindowsError):
47 nativeOm=None
48 self._nativeOm=nativeOm
49 return self._nativeOm
50
52 nativeOm=self.nativeOm
53 if nativeOm:
54 outlookVersion=int(nativeOm.version.split('.')[0])
55 else:
56 outlookVersion=0
57 return outlookVersion
58
76
90
95
97
99 if hasattr(self,'curMessageItem'):
100 return self.curMessageItem.msg.parent.name
101
104
106 return getattr(self,"curMessageItem",None)
107
109 child=getattr(self,"curMessageItem",None)
110 if child:
111 return [child]
112 else:
113 return []
114
126
128 if hasattr(self,'curMessageItem'):
129 oldEntryID=self.curMessageItem.msg.entryID
130 else:
131 oldEntryID=None
132 gesture.send()
133 try:
134 msg=self.nativeOm.ActiveExplorer().selection[0]
135 except:
136 msg=None
137 pass
138 if msg:
139 messageItem=MessageItem(self,msg)
140 newEntryID=messageItem.msg.entryID
141 if newEntryID!=oldEntryID:
142 self.curMessageItem=messageItem
143 eventHandler.executeEvent("gainFocus",messageItem)
144
145 __moveByMessageGestures = (
146 "kb:downArrow",
147 "kb:upArrow",
148 "kb:home",
149 "kb:end",
150 "kb:delete",
151 )
152
156
158
159 - def __init__(self,windowHandle=None,parent=None,msg=None):
160 if not parent or not msg:
161 raise ArguementError("__init__ needs windowHandle, parent and msg arguments")
162 if not windowHandle:
163 windowHandle=parent.windowHandle
164 self.msg=msg
165 self.parent=parent
166 Window.__init__(self,windowHandle=windowHandle)
167
174
177
180
181 -class AddressBookEntry(IAccessible):
182
183 - def script_moveByEntry(self,gesture):
184 gesture.send()
185 eventHandler.queueEvent("nameChange",self)
186
187 __moveByEntryGestures = (
188 "kb:downArrow",
189 "kb:upArrow",
190 "kb:home",
191 "kb:end",
192 "kb:delete",
193 )
194
196 for gesture in self.__moveByEntryGestures:
197 self.bindGesture(gesture, "moveByEntry")
198