[TC] небольшой патч скриптов Почты Windows Live
Привет TC!
на днях в скриптовой рассылке возникла тема неозвученности непрочитанных
писем в дереве сабжевой проги.
короче, по рекомендации Сергея Туманяна отредактировал функцию.
tvSayUnreadMessages
теперь всё читается правильно.
это относится только к русскоязычной версии программы - английская
озвучивается штатно.
функции нет в списке функций и искать её придётся поиском.
проверялось только на JAWS 15
Void Function tvSayUnreadMessages ()
var
Handle hFocus = GetFocus (),
handle hParent = GetParent (hFocus),
string sParentClass,
object o,
string sValue,
int nUnReadMessages
sParentClass = getWindowClass (hParent)
let o = GetUIAObjectFocusItem()
if o then
let sValue = o.Value
let nUnReadMessages=StringToInt (StringReverse (StringSegment (StringReverse
(sValue), " ", 1)))
EndIf
If ((sParentClass == "Outlook Express Native Browser Class"
|| sParentClass == "TreeViewFrameCls")
&& nUnReadMessages> 0)
If GetWindowName (GetRealWindow (hFocus)) != WN_ContactsPart
SayMessage (OT_SCREEN_MESSAGE, formatString (msgUnreadMsgs,
intToString (nUnReadMessages)))
Else
SayMessage (OT_SCREEN_MESSAGE, formatString (MSG_NumberOfContacts,
intToString (nUnReadMessages)))
EndIf
EndIf
EndFunction
функция отредактирована по принципу что бы всё было в одном месте,
хотя данный код не самый правильный, на мой взгляд.
но так легче всего пропатчить скрипты почтовика.
когда и если будет время серьёзно заняться этой софтиной тогда конечно
придётся выкладывать все файлы скриптов.
но там перспективы для доозвучки очень неплохие.
Виктор Горелов
привет TC!
не досмотрел и ситуация развернулас на 180 градусов.
перестало читаться одно непрочитанное письмо.
спасибо за замечание Николаю с почтой на домене
yandex.ua
исправил:
Void Function tvSayUnreadMessages ()
var
Handle hFocus = GetFocus (),
handle hParent = GetParent (hFocus),
string sParentClass,
object o,
string sValue,
int nUnReadMessages
sParentClass = getWindowClass (hParent)
let o = GetUIAObjectFocusItem()
if o then
let sValue = o.Value
let nUnReadMessages=StringToInt (StringReverse (StringSegment (StringReverse
(sValue), " ", 1)))
if nUnReadMessages == 0 then
let nUnReadMessages=StringToInt (StringSegment (sValue, " ", 1))
EndIf
EndIf
If ((sParentClass == "Outlook Express Native Browser Class"
|| sParentClass == "TreeViewFrameCls")
&& nUnReadMessages> 0)
If GetWindowName (GetRealWindow (hFocus)) != WN_ContactsPart
SayMessage (OT_SCREEN_MESSAGE, formatString (msgUnreadMsgs,
intToString (nUnReadMessages)))
Else
SayMessage (OT_SCREEN_MESSAGE, formatString (MSG_NumberOfContacts,
intToString (nUnReadMessages)))
EndIf
EndIf
EndFunction
Виктор Горелов