[NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.

NV Access bazaar commits
At http://bzr.nvaccess.org/nvda/main

------------------------------------------------------------
revno: 4449
revision-id: [hidden email]-20110614122516-livr4eo31w31sby2
parent: [hidden email]-20110614122155-6dr6tfjnid9pz185
committer: Michael Curran <[hidden email]>
branch nick: main
timestamp: Tue 2011-06-14 22:25:16 +1000
message:
  You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.
  However,  there is the question of whether this will break on non-english versions of windows... "Outlook Express Message List" may be translated.

=== modified file 'source/appModules/msimn.py'
--- a/source/appModules/msimn.py 2011-06-09 08:35:22 +0000
+++ b/source/appModules/msimn.py 2011-06-14 12:25:16 +0000
@@ -6,6 +6,7 @@
 
 import winUser
 import controlTypes
+import displayModel
 import textInfos
 import api
 import appModuleHandler
@@ -48,6 +49,8 @@
  def chooseNVDAObjectOverlayClasses(self,obj,clsList):
  if obj.windowClassName=="SysListView32" and obj.windowControlID in (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
  clsList.insert(0,MessageRuleListItem)
+ elif "SysListView32" in obj.windowClassName and obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express Message List":
+ clsList.insert(0,MessageListItem)
 
  def event_gainFocus(self,obj,nextHandler):
  nextHandler()
@@ -67,3 +70,22 @@
  if (winUser.sendMessage(self.windowHandle,sysListView32.LVM_GETITEMSTATE,self.IAccessibleChildID-1,sysListView32.LVIS_STATEIMAGEMASK)>>12)==8:
  states.add(controlTypes.STATE_CHECKED)
  return states
+
+class MessageListItem(sysListView32.ListItem):
+
+ def _get_isUnread(self):
+ info=displayModel.DisplayModelTextInfo(self,textInfos.POSITION_FIRST)
+ info.expand(textInfos.UNIT_CHARACTER)
+ fields=info.getTextWithFields()
+ try:
+ isUnread=fields[1].field['bold']
+ except:
+ isUnread=False
+ return isUnread
+
+ def _get_name(self):
+ name=super(MessageListItem,self).name
+ if self.isUnread:
+ name="%s %s"%(_("unread"),name)
+ return name
+

=== modified file 'source/appModules/wlmail.py'
--- a/source/appModules/wlmail.py 2010-11-26 07:31:58 +0000
+++ b/source/appModules/wlmail.py 2011-06-14 12:25:16 +0000
@@ -10,6 +10,7 @@
 import winUser
 from keyboardHandler import KeyboardInputGesture
 from NVDAObjects.IAccessible.MSHTML import MSHTML
+import msimn
 
 class AboutBlankDocument(MSHTML):
  """A document called about:blank which hosts the HTML message composer document using viewlink.
@@ -30,9 +31,10 @@
  def chooseNVDAObjectOverlayClasses(self, obj, clsList):
  if obj.windowClassName == "Internet Explorer_Server" and obj.role == controlTypes.ROLE_DOCUMENT and obj.HTMLNode and obj.HTMLNode.document.url=="about:blank":
  clsList.insert(0, AboutBlankDocument)
- elif obj.windowControlID in (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
- import msimn
+ elif obj.windowClassName=="SysListView32" and obj.windowControlID in (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
  clsList.insert(0,msimn.MessageRuleListItem)
+ elif obj.windowClassName=="SysListView32" and obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express Message List":
+ clsList.insert(0,msimn.MessageListItem)
 
  def event_gainFocus(self,obj,nextHandler):
  nextHandler()

=== modified file 'user_docs/en/changes.t2t'
--- a/user_docs/en/changes.t2t 2011-06-14 12:21:55 +0000
+++ b/user_docs/en/changes.t2t 2011-06-14 12:25:16 +0000
@@ -23,7 +23,8 @@
 -   When navigating a table in Microsoft Word with the tab key NVDA will now announce the current cell as you move. (#159)
 - You can now configure whether table cell coordinates are reported from the Document Formatting preferences dialog. (#719)
 - NVDA can now detect formatting and color when using its display model
-
+- In the Outlook Express / windows Mail / Windows Live Mail message list, NVDA will now announce the fact that a message is unread.
+
 
 == Changes ==
 - To move the caret to the review cursor, now press the move focus to navigator object script (desktop NVDA+shift+numpadMinus, laptop NVDA+shift+backspace) twice in quick succession. This frees up more keys on the keyboard. (#837)

Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.

Michel Such
Waw, Great!!!


----- Original Message -----
From: "NV Access bazaar commits" <[hidden email]>
To: <[hidden email]>
Sent: Tuesday, June 14, 2011 2:40 PM
Subject: [NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since
2006... NVDA will now announce the fact that a message is unread, in the
Outllook Express / windows Mail / windows Live Mail message list.


> At http://bzr.nvaccess.org/nvda/main
>
> ------------------------------------------------------------
> revno: 4449
> revision-id: [hidden email]-20110614122516-livr4eo31w31sby2
> parent: [hidden email]-20110614122155-6dr6tfjnid9pz185
> committer: Michael Curran <[hidden email]>
> branch nick: main
> timestamp: Tue 2011-06-14 22:25:16 +1000
> message:
>  You've asked for it since 2006... NVDA will now announce the fact that a
> message is unread, in the Outllook Express / windows Mail / windows Live
> Mail message list.
>  However,  there is the question of whether this will break on non-english
> versions of windows... "Outlook Express Message List" may be translated.
>


--------------------------------------------------------------------------------


> === modified file 'source/appModules/msimn.py'
> --- a/source/appModules/msimn.py 2011-06-09 08:35:22 +0000
> +++ b/source/appModules/msimn.py 2011-06-14 12:25:16 +0000
> @@ -6,6 +6,7 @@
>
> import winUser
> import controlTypes
> +import displayModel
> import textInfos
> import api
> import appModuleHandler
> @@ -48,6 +49,8 @@
>  def chooseNVDAObjectOverlayClasses(self,obj,clsList):
>  if obj.windowClassName=="SysListView32" and obj.windowControlID in
> (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
>  clsList.insert(0,MessageRuleListItem)
> + elif "SysListView32" in obj.windowClassName and
> obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express
> Message List":
> + clsList.insert(0,MessageListItem)
>
>  def event_gainFocus(self,obj,nextHandler):
>  nextHandler()
> @@ -67,3 +70,22 @@
>  if
> (winUser.sendMessage(self.windowHandle,sysListView32.LVM_GETITEMSTATE,self.IAccessibleChildID-1,sysListView32.LVIS_STATEIMAGEMASK)>>12)==8:
>  states.add(controlTypes.STATE_CHECKED)
>  return states
> +
> +class MessageListItem(sysListView32.ListItem):
> +
> + def _get_isUnread(self):
> + info=displayModel.DisplayModelTextInfo(self,textInfos.POSITION_FIRST)
> + info.expand(textInfos.UNIT_CHARACTER)
> + fields=info.getTextWithFields()
> + try:
> + isUnread=fields[1].field['bold']
> + except:
> + isUnread=False
> + return isUnread
> +
> + def _get_name(self):
> + name=super(MessageListItem,self).name
> + if self.isUnread:
> + name="%s %s"%(_("unread"),name)
> + return name
> +
>
> === modified file 'source/appModules/wlmail.py'
> --- a/source/appModules/wlmail.py 2010-11-26 07:31:58 +0000
> +++ b/source/appModules/wlmail.py 2011-06-14 12:25:16 +0000
> @@ -10,6 +10,7 @@
> import winUser
> from keyboardHandler import KeyboardInputGesture
> from NVDAObjects.IAccessible.MSHTML import MSHTML
> +import msimn
>
> class AboutBlankDocument(MSHTML):
>  """A document called about:blank which hosts the HTML message composer
> document using viewlink.
> @@ -30,9 +31,10 @@
>  def chooseNVDAObjectOverlayClasses(self, obj, clsList):
>  if obj.windowClassName == "Internet Explorer_Server" and obj.role ==
> controlTypes.ROLE_DOCUMENT and obj.HTMLNode and
> obj.HTMLNode.document.url=="about:blank":
>  clsList.insert(0, AboutBlankDocument)
> - elif obj.windowControlID in (128,129,130) and
> obj.role==controlTypes.ROLE_LISTITEM:
> - import msimn
> + elif obj.windowClassName=="SysListView32" and obj.windowControlID in
> (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
>  clsList.insert(0,msimn.MessageRuleListItem)
> + elif obj.windowClassName=="SysListView32" and
> obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express
> Message List":
> + clsList.insert(0,msimn.MessageListItem)
>
>  def event_gainFocus(self,obj,nextHandler):
>  nextHandler()
>
> === modified file 'user_docs/en/changes.t2t'
> --- a/user_docs/en/changes.t2t 2011-06-14 12:21:55 +0000
> +++ b/user_docs/en/changes.t2t 2011-06-14 12:25:16 +0000
> @@ -23,7 +23,8 @@
> -   When navigating a table in Microsoft Word with the tab key NVDA will
> now announce the current cell as you move. (#159)
> - You can now configure whether table cell coordinates are reported from
> the Document Formatting preferences dialog. (#719)
> - NVDA can now detect formatting and color when using its display model
> -
> +- In the Outlook Express / windows Mail / Windows Live Mail message list,
> NVDA will now announce the fact that a message is unread.
> +
>
> == Changes ==
> - To move the caret to the review cursor, now press the move focus to
> navigator object script (desktop NVDA+shift+numpadMinus, laptop
> NVDA+shift+backspace) twice in quick succession. This frees up more keys
> on the keyboard. (#837)
>
>


--------------------------------------------------------------------------------


> _______________________________________________
> NVDA-dev mailing list
> [hidden email]
> http://lists.nvaccess.org/listinfo/nvda-dev
>




Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.

Brian's Mail list account BY
In reply to this post by NV Access bazaar commits
Yes, but its the rather weird way Microsoft mark the messages that makes it
such a pain. Same goes for has attach etc.

Brian

[hidden email]
Sent via blueyonder.
Please address personal email to:-
[hidden email], putting 'Brian Gaff'
in the display name field.
----- Original Message -----
From: "NV Access bazaar commits" <[hidden email]>
To: <[hidden email]>
Sent: Tuesday, June 14, 2011 1:40 PM
Subject: [NVDA-dev] Branch nvda/main: Rev 4449: You've asked for it since
2006... NVDA will now announce the fact that a message is unread, in the
Outllook Express / windows Mail / windows Live Mail message list.


> At http://bzr.nvaccess.org/nvda/main
>
> ------------------------------------------------------------
> revno: 4449
> revision-id: [hidden email]-20110614122516-livr4eo31w31sby2
> parent: [hidden email]-20110614122155-6dr6tfjnid9pz185
> committer: Michael Curran <[hidden email]>
> branch nick: main
> timestamp: Tue 2011-06-14 22:25:16 +1000
> message:
>  You've asked for it since 2006... NVDA will now announce the fact that a
> message is unread, in the Outllook Express / windows Mail / windows Live
> Mail message list.
>  However,  there is the question of whether this will break on non-english
> versions of windows... "Outlook Express Message List" may be translated.
>


--------------------------------------------------------------------------------


> === modified file 'source/appModules/msimn.py'
> --- a/source/appModules/msimn.py 2011-06-09 08:35:22 +0000
> +++ b/source/appModules/msimn.py 2011-06-14 12:25:16 +0000
> @@ -6,6 +6,7 @@
>
> import winUser
> import controlTypes
> +import displayModel
> import textInfos
> import api
> import appModuleHandler
> @@ -48,6 +49,8 @@
>  def chooseNVDAObjectOverlayClasses(self,obj,clsList):
>  if obj.windowClassName=="SysListView32" and obj.windowControlID in
> (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
>  clsList.insert(0,MessageRuleListItem)
> + elif "SysListView32" in obj.windowClassName and
> obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express
> Message List":
> + clsList.insert(0,MessageListItem)
>
>  def event_gainFocus(self,obj,nextHandler):
>  nextHandler()
> @@ -67,3 +70,22 @@
>  if
> (winUser.sendMessage(self.windowHandle,sysListView32.LVM_GETITEMSTATE,self.IAccessibleChildID-1,sysListView32.LVIS_STATEIMAGEMASK)>>12)==8:
>  states.add(controlTypes.STATE_CHECKED)
>  return states
> +
> +class MessageListItem(sysListView32.ListItem):
> +
> + def _get_isUnread(self):
> + info=displayModel.DisplayModelTextInfo(self,textInfos.POSITION_FIRST)
> + info.expand(textInfos.UNIT_CHARACTER)
> + fields=info.getTextWithFields()
> + try:
> + isUnread=fields[1].field['bold']
> + except:
> + isUnread=False
> + return isUnread
> +
> + def _get_name(self):
> + name=super(MessageListItem,self).name
> + if self.isUnread:
> + name="%s %s"%(_("unread"),name)
> + return name
> +
>
> === modified file 'source/appModules/wlmail.py'
> --- a/source/appModules/wlmail.py 2010-11-26 07:31:58 +0000
> +++ b/source/appModules/wlmail.py 2011-06-14 12:25:16 +0000
> @@ -10,6 +10,7 @@
> import winUser
> from keyboardHandler import KeyboardInputGesture
> from NVDAObjects.IAccessible.MSHTML import MSHTML
> +import msimn
>
> class AboutBlankDocument(MSHTML):
>  """A document called about:blank which hosts the HTML message composer
> document using viewlink.
> @@ -30,9 +31,10 @@
>  def chooseNVDAObjectOverlayClasses(self, obj, clsList):
>  if obj.windowClassName == "Internet Explorer_Server" and obj.role ==
> controlTypes.ROLE_DOCUMENT and obj.HTMLNode and
> obj.HTMLNode.document.url=="about:blank":
>  clsList.insert(0, AboutBlankDocument)
> - elif obj.windowControlID in (128,129,130) and
> obj.role==controlTypes.ROLE_LISTITEM:
> - import msimn
> + elif obj.windowClassName=="SysListView32" and obj.windowControlID in
> (128,129,130) and obj.role==controlTypes.ROLE_LISTITEM:
>  clsList.insert(0,msimn.MessageRuleListItem)
> + elif obj.windowClassName=="SysListView32" and
> obj.role==controlTypes.ROLE_LISTITEM and obj.parent.name=="Outlook Express
> Message List":
> + clsList.insert(0,msimn.MessageListItem)
>
>  def event_gainFocus(self,obj,nextHandler):
>  nextHandler()
>
> === modified file 'user_docs/en/changes.t2t'
> --- a/user_docs/en/changes.t2t 2011-06-14 12:21:55 +0000
> +++ b/user_docs/en/changes.t2t 2011-06-14 12:25:16 +0000
> @@ -23,7 +23,8 @@
> -   When navigating a table in Microsoft Word with the tab key NVDA will
> now announce the current cell as you move. (#159)
> - You can now configure whether table cell coordinates are reported from
> the Document Formatting preferences dialog. (#719)
> - NVDA can now detect formatting and color when using its display model
> -
> +- In the Outlook Express / windows Mail / Windows Live Mail message list,
> NVDA will now announce the fact that a message is unread.
> +
>
> == Changes ==
> - To move the caret to the review cursor, now press the move focus to
> navigator object script (desktop NVDA+shift+numpadMinus, laptop
> NVDA+shift+backspace) twice in quick succession. This frees up more keys
> on the keyboard. (#837)
>
>


--------------------------------------------------------------------------------


> _______________________________________________
> NVDA-dev mailing list
> [hidden email]
> http://lists.nvaccess.org/listinfo/nvda-dev
>