[nvda-addons] Re: commit/wintenApps: 5 new changesets

  • From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
  • To: <nvda-addons@xxxxxxxxxxxxx>
  • Date: Tue, 5 Jul 2016 11:18:37 -0700

Hi,
Thanks - will apply it as part of add-on 16.07.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons-bounce@xxxxxxxxxxxxx
[mailto:nvda-addons-bounce@xxxxxxxxxxxxx] On Behalf Of Noelia
Sent: Tuesday, July 5, 2016 7:26 AM
To: nvda-addons@xxxxxxxxxxxxx
Subject: [nvda-addons] Re: commit/wintenApps: 5 new changesets

I think semianual review is acceptable.
Here is basic review:
1. License and copyright: pass.
2. Sequrity: pass.
3. User experience: Pass. Not using monkey patches which mangle things...
So, basic review: pass.
Note: You may want to optimize code (for instance use obj.getChild and not
children), stiling, etc., but basic review is OK for me.
Thanks.

El 05/07/2016 a las 10:43, Derek Riemer escribió:


Hi, semiannual review: for add-ons yes. I think this is fine for this
case. We should mark in the webpage about review that an author may ask for
review at some point.

Sent from a mobile device.
Please disregard errors as this is a smaller device.

On Jul 5, 2016, at 00:55, Joseph Lee <joseph.lee22590@xxxxxxxxx> wrote:

Hi everyone,

I'd like to request the formal basic review of Windows 10 App 
Essentials before it is sent out to translators. As this add-on uses 
continuous delivery model, I'll submit it for semi-annual review (if 
this is acceptable). Thanks.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons-commits-bounce@xxxxxxxxxxxxx
[mailto:nvda-addons-commits-bounce@xxxxxxxxxxxxx] On Behalf Of ;
commits-noreply@xxxxxxxxxxxxx
Sent: Monday, July 4, 2016 11:54 PM
To: nvda-addons-commits@xxxxxxxxxxxxx
Subject: commit/wintenApps: 5 new changesets

5 new commits in wintenApps:

https://bitbucket.org/nvdaaddonteam/wintenapps/commits/13b4204296db/
Changeset:   13b4204296db
Branch:      None
User:        josephsl
Date:        2016-06-12 08:22:38+00:00
Summary:     Bing maps: Initial foundation.

When using object navigation to move to map labels, location 
coordinates will be played as if one moves to the label via mouse. 
Next up are some enhancmenets for those using tablets.

Affected #:  1 file

diff --git a/addon/appModules/maps_windows.py
b/addon/appModules/maps_windows.py
new file mode 100755
index 0000000..c6bbe56
--- /dev/null
+++ b/addon/appModules/maps_windows.py
@@ -0,0 +1,40 @@
+# WinTenApps/maps_windows.py
+# Part of Windows 10 App Essentials collection # Copyright 2016 
+Joseph Lee, released under GPL.
+
+# Numerous enhancements for Bing Maps app.
+
+import appModuleHandler
+import api
+import controlTypes
+import config
+from NVDAObjects.UIA import UIA
+import tones
+
+# Map locations
+# A static text denoting where one is located on the map.
+class MapLocation(UIA):
+    """Plays a tone indicating the current map position."""
+
+    def event_becomeNavigatorObject(self):
+        l,t,w,h=self.location
+        x = l+(w/2)
+        y = t+(h/2)
+        screenWidth, screenHeight =
api.getDesktopObject().location[2], 
api.getDesktopObject().location[3]
+        if x <= screenWidth or y <= screenHeight:
+
minPitch=config.conf['mouse']['audioCoordinates_minPitch']
+
maxPitch=config.conf['mouse']['audioCoordinates_maxPitch']
+
curPitch=minPitch+((maxPitch-minPitch)*((screenHeight-y)/float(screen
Height)
))
+
brightness=config.conf['mouse']['audioCoordinates_maxVolume']
+
leftVolume=int((85*((screenWidth-float(x))/screenWidth))*brightness)
+
rightVolume=int((85*(float(x)/screenWidth))*brightness)
+
tones.beep(curPitch,40,left=leftVolume,right=rightVolume)
+        super(MapLocation,self).event_becomeNavigatorObject()
+
+
+class AppModule(appModuleHandler.AppModule):
+
+    def chooseNVDAObjectOverlayClasses(self, obj, clsList):
+        if isinstance(obj, UIA):
+            if obj.role in (controlTypes.ROLE_STATICTEXT,
controlTypes.ROLE_BUTTON) and 
obj.parent.parent.UIAElement.cachedClassName
== "Map":
+                clsList.insert(0, MapLocation)


https://bitbucket.org/nvdaaddonteam/wintenapps/commits/0ba7a51a1d66/
Changeset:   0ba7a51a1d66
Branch:      None
User:        josephsl
Date:        2016-06-14 02:13:01+00:00
Summary:     Bing Maps: Redstone executable is just maps.exe.

Affected #:  1 file

diff --git a/addon/appModules/maps.py b/addon/appModules/maps.py new 
file mode 100755 index 0000000..0e063a4
--- /dev/null
+++ b/addon/appModules/maps.py
@@ -0,0 +1,8 @@
+# WinTenApps/maps_windows.py
+# Part of Windows 10 App Essentials collection # Copyright 2016 
+Joseph Lee, released under GPL.
+
+# Numerous enhancements for Bing Maps app.
+# This is the Redstone version of the app (different executable name).
+
+from maps_windows import *


https://bitbucket.org/nvdaaddonteam/wintenapps/commits/720ec6b2abc8/
Changeset:   720ec6b2abc8
Branch:      None
User:        josephsl
Date:        2016-06-15 00:02:15+00:00
Summary:     Settings app: Catch a strange UIA server implementation
where
progress bar label shows PB value.

Another odd UIA thing: progress bar for downloaindg updates has a 
label that shows progress bar value. Thus catch this case (and 
resolves an issue where progress was spoken twice).

Affected #:  1 file

diff --git a/addon/appModules/systemsettings.py
b/addon/appModules/systemsettings.py
index 995650f..ed37a4b 100755
--- a/addon/appModules/systemsettings.py
+++ b/addon/appModules/systemsettings.py
@@ -6,10 +6,13 @@

import appModuleHandler
import ui
+import controlTypes

class AppModule(appModuleHandler.AppModule):

   def event_nameChange(self, obj, nextHandler):
       # For now, all name change events will result in items being 
announced.
-        ui.message(obj.name)
+        # Prevent repeats, especially if it is part of a progress
bar.
+        if obj.role != controlTypes.ROLE_PROGRESSBAR:
+            ui.message(obj.name)
       nextHandler()


https://bitbucket.org/nvdaaddonteam/wintenapps/commits/6444b32eb52c/
Changeset:   6444b32eb52c
Branch:      None
User:        josephsl
Date:        2016-06-17 09:08:13+00:00
Summary:     Calculator and Edge: new app module, improved calc support.

Turns out Redstone version of Calculator does not put focus to equals 
button when enter is pressed. Had to devise a way to support forth 
Threshold and Redstone versions.
Added an app module for MS Edge. For now, it announces notification 
text (works on both Threshold and Redstone).

Affected #:  2 files

diff --git a/addon/appModules/calculator.py 
b/addon/appModules/calculator.py index 2c5d3ea..922d1fd 100755
--- a/addon/appModules/calculator.py
+++ b/addon/appModules/calculator.py
@@ -6,18 +6,44 @@

import appModuleHandler
import api
+import winVersion
import controlTypes
from NVDAObjects.UIA import UIA
import queueHandler

+# Handle kwirks with calculation result.
+class CalculatorResult(UIA):
+
+    def event_nameChange(self):
+        if not self.appModule.enterPressed:
+            return
+        else:
+            self.appModule.enterPressed = False
+            # Handle Redstone weirdness where pressing ENTER
does not set focus to equals button.
+            #if winVersion.winVersion[2] > 10586:
+
#queueHandler.queueFunction(queueHandler.eventQueue,
+self.reportFocus)
+

class AppModule(appModuleHandler.AppModule):

+    enterPressed = False
+
+    def chooseNVDAObjectOverlayClasses(self, obj, clsList):
+        if isinstance(obj, UIA):
+            # To handle calculator result announcement in
Threshold and Redstone.
+            if obj.UIAElement.cachedAutomationID ==
"CalculatorResults":
+                clsList.insert(0, CalculatorResult)
+
   def script_enter(self, gesture):
       gesture.send()
+        # In redstone, calculator result keeps firing name change,
so tell it to do so if and only if enter has been pressed.
+        self.enterPressed = True
       # Hack: only announce display text when an actual calculator 
button (usually equals button) is pressed.
       focus = api.getFocusObject()
-        if focus.role == controlTypes.ROLE_BUTTON and
focus.UIAElement.cachedAutomationID != "NavButton":
+        # In redstone, pressing enter does not move focus to equals
button.
+        if isinstance(focus, CalculatorResult):
+            queueHandler.queueFunction(queueHandler.eventQueue,
focus.reportFocus)
+        elif focus.role == controlTypes.ROLE_BUTTON and
focus.UIAElement.cachedAutomationID != "NavButton":
           result =
api.getForegroundObject().children[1].children[2]
           if result.UIAElement.cachedAutomationID !=
"CalculatorResults":
               # Programmer mode is active.

diff --git a/addon/appModules/microsoftedge.py
b/addon/appModules/microsoftedge.py
new file mode 100755
index 0000000..408afc5
--- /dev/null
+++ b/addon/appModules/microsoftedge.py
@@ -0,0 +1,21 @@
+# MicrosoftEdge.py
+# Part of Windows 10 App Essentials collection # Copyright 2016 
+Joseph Lee, released under GPL
+
+# Core Edge support provided by NvDA Core (NVDAObjects/UIA package) 
+# Provides additional enhancements.
+
+import appModuleHandler
+from NVDAObjects.UIA import UIA
+import controlTypes
+import ui
+
+
+class AppModule(appModuleHandler.AppModule):
+
+    def event_nameChange(self, obj, nextHandler):
+        if isinstance(obj, UIA):
+            if obj.role == controlTypes.ROLE_STATICTEXT and
obj.parent.UIAElement.cachedClassName == "NotificationBar":
+                ui.message(obj.name)
+        nextHandler()
+


https://bitbucket.org/nvdaaddonteam/wintenapps/commits/18b3a74e1c1e/
Changeset:   18b3a74e1c1e
Branch:      stable
User:        josephsl
Date:        2016-06-17 09:41:50+00:00
Summary:     Readme for 16.06.1, version bump

Signed-off-by: Joseph Lee <joseph.lee22590@xxxxxxxxx>

Affected #:  2 files

diff --git a/buildVars.py b/buildVars.py index 8be7fe0..9e4b1d2 
100755
--- a/buildVars.py
+++ b/buildVars.py
@@ -19,7 +19,7 @@ addon_info = {
   # Translators: Long description to be shown for this add-on on 
add-on information from add-ons manager
   "addon_description" : _("""A collection of app modules for various 
Windows 10 apps"""),
   # version
-    "addon_version" : "16.06",
+    "addon_version" : "16.06.1",
   # Author(s)
   "addon_author" : u"Joseph Lee <joseph.lee22590@xxxxxxxxx> and 
others",
   # URL for the add-on documentation support

diff --git a/readme.md b/readme.md
index c6d49e7..979de4b 100755
--- a/readme.md
+++ b/readme.md
@@ -13,6 +13,7 @@ The following app modules or support modules for 
some apps are included (see eac
* Calculator (modern).
* Cortana
* Insider Hub/Feedback Hub (Windows Insiders only).
+* Microsoft Edge
* Settings (system settings, Windows+I).
* Twitter.
* TeamViewer Touch.
@@ -23,6 +24,7 @@ The following app modules or support modules for 
some apps are included (see eac
* In context menus for Start Menu tiles, submenus are properly
recognized.
* When minimizing windows (Windows+M), "pane" is no longer announced 
(noticeable if using Insider Preview builds).
* Certain dialogs are now recognized as proper dialogs. This include 
Insider Preview dialog (settings app) and new-style UAC dialog in 
build
14328 and later.
+* Time picker announcement works in non-English locales.

## Alarms and clock

@@ -42,9 +44,15 @@ The following app modules or support modules for 
some apps are included (see eac
* Labels for radio buttons are announced.
* TeamViewer Touch: Lables for buttons are announced.

+## Microsoft Edge
+
+* Notifications such as file downloads are now announced.
+* Note that overall support is experimental at this point (you 
+should not
use Edge as your primary browser for a while).
+
## Settings

* Certain information such as Windows Update progress is now reported 
automatically.
+* Progress bar values are no longer announced twice.

## Bank of America/Twitter

Repository URL: https://bitbucket.org/nvdaaddonteam/wintenapps/

--

This is a commit notification from bitbucket.org. You are receiving 
this because you have the service enabled, addressing the recipient 
of this email.

----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for
reporting bugs.

Community addons are available from: http://addons.nvda-project.org ;
To send a message to the list: nvda-addons@xxxxxxxxxxxxx To change 
your list settings/unsubscribe: 
//www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx
----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting
bugs.

Community addons are available from: http://addons.nvda-project.org To ;
send a message to the list: nvda-addons@xxxxxxxxxxxxx To change your 
list settings/unsubscribe: //www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting
bugs. 

Community addons are available from: http://addons.nvda-project.org To send
a message to the list: nvda-addons@xxxxxxxxxxxxx To change your list
settings/unsubscribe: //www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting bugs.

Community addons are available from: http://addons.nvda-project.org
To send a message to the list: nvda-addons@xxxxxxxxxxxxx
To change your list settings/unsubscribe: 
//www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

Other related posts: