2 new commits in dropbox: https://bitbucket.org/nvdaaddonteam/dropbox/commits/f016079611ae/ Changeset: f016079611ae Branch: None User: David Parduhn Date: 2013-09-28 15:31:40 Summary: AppModule: add accesssibility improvements for Dropbox Metro App. Signed-off-by: Patrick ZAJDA <patrick@xxxxxxxx> Affected #: 1 file diff --git a/addon/appModules/dropbox.py b/addon/appModules/dropbox.py index c4460ff..1aceb81 100644 --- a/addon/appModules/dropbox.py +++ b/addon/appModules/dropbox.py @@ -1,7 +1,9 @@ # -*- coding: utf-8 -*- # Dropbox appModule for NVDA # Make preferences tabs accessible and allow pressing escape to quit the preferences dialog. -# Copyright (C) 2012 Filaos, Patrick ZAJDA <patrick@xxxxxxxx> and other contributors +# Also improves accessibility of the Dropbox Metro app for Windows 8 +# Copyright (C) 2013 Filaos, Patrick ZAJDA <patrick@xxxxxxxx> and other contributors +# Windows 8 compatibility contributed by David Parduhn <xkill85@xxxxxxx> # This file is covered by the GNU General Public License. # You can read the licence by clicking Help->Licence in the NVDA menu # or by visiting http://www.gnu.org/licenses/old-licenses/gpl-2.0.html @@ -12,6 +14,7 @@ import NVDAObjects import controlTypes import winUser import ui +from NVDAObjects import UIA # We initialize translations addonHandler.initTranslation() @@ -70,12 +73,27 @@ def changePageTab (h,sens): #announces the new tab ui.message(listPageTab[index]) +# Class for Dropbox items in the metro app +class dropboxitem(UIA.ListItem): + def _get_name(self): + obj = self.firstChild + s = obj.name + while (obj != self.lastChild): + if obj.role == controlTypes.ROLE_STATICTEXT: + s = s +obj.name + obj = obj.next + return s + class AppModule(appModuleHandler.AppModule): def event_NVDAObject_init(self, obj): if obj.name == u'buttonPanel': obj.role=controlTypes.ROLE_TABCONTROL obj.name=getPageTabActive(obj.windowHandle) + def chooseNVDAObjectOverlayClasses(self, obj, CLSList): + if obj.role == controlTypes.ROLE_LISTITEM: + CLSList.insert(0, dropboxitem) + def script_clickButtonCancel (self,gesture): # Translators: the title of the dropbox preferences dialog, it is important to have the same capitalization/spelling as in the dropbox gui. If Dropbox hasn't been translated to your language yet, leave this blank or write the original text. if api.getFocusObject().windowText == u'DropboxTrayIcon' or api.getFocusObject().windowClassName == u'#32768' or api.getForegroundObject().name != _("Dropbox Preferences"): https://bitbucket.org/nvdaaddonteam/dropbox/commits/dd59bdc0a115/ Changeset: dd59bdc0a115 Branch: master User: David Parduhn Date: 2013-09-28 15:46:43 Summary: AppModule (Dropbox metro app): Fix an issue while displaying concatenated infos (e.g. name, size, etc) while displaying file names. Now informationss are separated by semicolons to look better on a braille display. This also allows the speech to insert a pause between the file properties (e.g. "example.txt; 5 kb; modified 5 days ago" instead of "example.txt5 kbmodified 5 days ago"). Signed-off-by: Patrick ZAJDA <patrick@xxxxxxxx> Affected #: 1 file diff --git a/addon/appModules/dropbox.py b/addon/appModules/dropbox.py index 1aceb81..166dbaa 100644 --- a/addon/appModules/dropbox.py +++ b/addon/appModules/dropbox.py @@ -76,13 +76,14 @@ def changePageTab (h,sens): # Class for Dropbox items in the metro app class dropboxitem(UIA.ListItem): def _get_name(self): + l = list() obj = self.firstChild - s = obj.name + if obj.name != u'': l.append(obj.name) while (obj != self.lastChild): if obj.role == controlTypes.ROLE_STATICTEXT: - s = s +obj.name + if obj.name != u'': l.append(obj.name) obj = obj.next - return s + return '; '.join(l) class AppModule(appModuleHandler.AppModule): def event_NVDAObject_init(self, obj): Repository URL: https://bitbucket.org/nvdaaddonteam/dropbox/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.