commit/StationPlaylist: 6 new changesets

  • From: commits-noreply@xxxxxxxxxxxxx
  • To: commits+int+220+6085746285340533186@xxxxxxxxxxxxxxxxxxxxx, nvda-addons-commits@xxxxxxxxxxxxx
  • Date: Sun, 10 Jun 2018 23:19:12 +0000 (UTC)

6 new commits in StationPlaylist:

https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/e1ceec1a4092/
Changeset:   e1ceec1a4092
Branch:      None
User:        josephsl
Date:        2018-06-10 22:17:43+00:00
Summary:     18.06.1: wx.ComboBox is no longer a subclass of wx.Choice in 
wxPython 4. Re #68.

Regression: wx.ComboBox is no longer a subclass of wx.Choice in wxPython 4. 
This means Track Finder and its cousin, Column Search, didn't even work. Now 
fixed through introduction of a custom combo box class that inherits from both 
wx.ComboBox and wx.Choice.

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splmisc.py 
b/addon/appModules/splstudio/splmisc.py
index 0f2e7c7..06b5fa0 100755
--- a/addon/appModules/splstudio/splmisc.py
+++ b/addon/appModules/splstudio/splmisc.py
@@ -57,6 +57,10 @@ def _getColumnContent(obj, col):
                
winKernel.virtualFreeEx(processHandle,internalItem,0,winKernel.MEM_RELEASE)
        return buffer.value if buffer else None
 
+# A custom combo box for cases where combo boxes are not choice controls.
+class CustomComboBox(wx.ComboBox, wx.Choice):
+       pass
+
 # A common dialog for Track Finder
 _findDialogOpened = False
 
@@ -99,7 +103,11 @@ class SPLFindDialog(wx.Dialog):
                splactions.SPLActionAppTerminating.register(self.onAppTerminate)
 
                findHistory = obj.appModule.findText if obj.appModule.findText 
is not None else []
-               self.findEntry = findSizerHelper.addLabeledControl(findPrompt, 
wx.ComboBox, choices=findHistory)
+               # #68: use a custom combo box if this is wxPython 4.
+               if isinstance(wx.ComboBox, wx.Choice):
+                       self.findEntry = 
findSizerHelper.addLabeledControl(findPrompt, wx.ComboBox, choices=findHistory)
+               else:
+                       self.findEntry = 
findSizerHelper.addLabeledControl(findPrompt, CustomComboBox, 
choices=findHistory)
                self.findEntry.Value = text
 
                if columnSearch:
@@ -146,7 +154,6 @@ class SPLFindDialog(wx.Dialog):
                # Call cancel function when the app terminates so the dialog 
can be closed.
                self.onCancel(None)
 
-
 # Time range finder: a variation on track finder.
 # Similar to track finder, locate tracks with duration that falls between min 
and max.
 class SPLTimeRangeDialog(wx.Dialog):


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/0ce84b5cb450/
Changeset:   0ce84b5cb450
Branch:      None
User:        josephsl
Date:        2018-06-10 22:37:07+00:00
Summary:     18.06.1: time range finder's main sizer no longer has AddSizer 
method in wxPython 4. Re #68.

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splmisc.py 
b/addon/appModules/splstudio/splmisc.py
index 06b5fa0..2f7d946 100755
--- a/addon/appModules/splstudio/splmisc.py
+++ b/addon/appModules/splstudio/splmisc.py
@@ -213,7 +213,11 @@ class SPLTimeRangeDialog(wx.Dialog):
                maxSizer.Add(self.maxSecEntry)
                mainSizer.Add(maxSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
 
-               mainSizer.AddSizer(self.CreateButtonSizer(wx.OK|wx.CANCEL))
+               # #68: wx.BoxSizer.AddSizer no longer exists in wxPython 4.
+               if wx.version().startswith("4"):
+                       mainSizer.Add(self.CreateButtonSizer(wx.OK|wx.CANCEL))
+               else:
+                       
mainSizer.AddSizer(self.CreateButtonSizer(wx.OK|wx.CANCEL))
                self.Bind(wx.EVT_BUTTON,self.onOk,id=wx.ID_OK)
                self.Bind(wx.EVT_BUTTON,self.onCancel,id=wx.ID_CANCEL)
                mainSizer.Fit(self)


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/2b930adca068/
Changeset:   2b930adca068
Branch:      None
User:        josephsl
Date:        2018-06-10 22:46:38+00:00
Summary:     18.06.1/encoders: move app termiante handler registration to 
post-superclass call.

Oversight: if extension point registration was done before the dialog was 
ready, extension points module raised type error. Moving registration call to 
after superclass call fixes this.

Affected #:  1 file

diff --git a/addon/globalPlugins/splUtils/encoders.py 
b/addon/globalPlugins/splUtils/encoders.py
index afc6722..7a10157 100755
--- a/addon/globalPlugins/splUtils/encoders.py
+++ b/addon/globalPlugins/splUtils/encoders.py
@@ -169,9 +169,6 @@ class EncoderConfigDialog(wx.Dialog):
                # Use a weakref so the instance can die.
                import weakref
                EncoderConfigDialog._instance = weakref.ref(self)
-               # And to close this automatically when Studio dies.
-               from appModules.splstudio import splactions
-               splactions.SPLActionAppTerminating.register(self.onAppTerminate)
 
                self.obj = obj
                self.curStreamLabel, title = obj.getStreamLabel(getTitle=True)
@@ -179,6 +176,9 @@ class EncoderConfigDialog(wx.Dialog):
                super(EncoderConfigDialog, self).__init__(parent, wx.ID_ANY, 
_("Encoder settings for {name}").format(name = title))
                mainSizer = wx.BoxSizer(wx.VERTICAL)
                encoderConfigHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+               # And to close this automatically when Studio dies.
+               from appModules.splstudio import splactions
+               splactions.SPLActionAppTerminating.register(self.onAppTerminate)
 
                # Translators: An edit field in encoder settings to set stream 
label for this encoder.
                self.streamLabel = 
encoderConfigHelper.addLabeledControl(_("Stream &label"), wx.TextCtrl)


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/c030eb38e057/
Changeset:   c030eb38e057
Branch:      None
User:        josephsl
Date:        2018-06-10 23:02:58+00:00
Summary:     18.06.1/encoders: stream labeler dialog fixes from wxPython 4.

wxPython's text entry dialog no longer users defaultValue to set initial 
string, the value keyword is used instead.

Affected #:  1 file

diff --git a/addon/globalPlugins/splUtils/encoders.py 
b/addon/globalPlugins/splUtils/encoders.py
index 7a10157..dca85c2 100755
--- a/addon/globalPlugins/splUtils/encoders.py
+++ b/addon/globalPlugins/splUtils/encoders.py
@@ -362,8 +362,13 @@ class Encoder(IAccessible):
                streamTitle = _("Stream labeler for 
{streamEntry}").format(streamEntry = title)
                # Translators: The text of the stream labeler dialog.
                streamText = _("Enter the label for this stream")
-               dlg = wx.TextEntryDialog(gui.mainFrame,
-               streamText, streamTitle, defaultValue=curStreamLabel)
+               # In wxPython 4's text entry dialog, defaultValue is replaced 
by value keyword.
+               if wx.version().startswith("4"):
+                       dlg = wx.TextEntryDialog(gui.mainFrame,
+                       streamText, streamTitle, value=curStreamLabel)
+               else:
+                       dlg = wx.TextEntryDialog(gui.mainFrame,
+                       streamText, streamTitle, defaultValue=curStreamLabel)
                def callback(result):
                        if result == wx.ID_OK:
                                newStreamLabel = dlg.GetValue()


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/32281f7a20ce/
Changeset:   32281f7a20ce
Branch:      None
User:        josephsl
Date:        2018-06-10 23:09:00+00:00
Summary:     18.06.1/Track Finder: present a more generic message when 
something unexpected apart from presence of another find dialog is encountered.

When something other than duplicate instance of find dialog occurs, present a 
more generic message.

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splmisc.py 
b/addon/appModules/splstudio/splmisc.py
index 2f7d946..9b81e1f 100755
--- a/addon/appModules/splstudio/splmisc.py
+++ b/addon/appModules/splstudio/splmisc.py
@@ -67,8 +67,13 @@ _findDialogOpened = False
 # Track Finder error dialog.
 # This will be refactored into something else.
 def _finderError():
-       # Translators: Text of the dialog when another find dialog is open.
-       gui.messageBox(_("Another find dialog is open."),_("Error"),style=wx.OK 
| wx.ICON_ERROR)
+       global _findDialogOpened
+       if _findDialogOpened:
+               # Translators: Text of the dialog when another find dialog is 
open.
+               gui.messageBox(_("Another find dialog is 
open."),_("Error"),style=wx.OK | wx.ICON_ERROR)
+       else:
+               # Translators: Text of the dialog when a generic error has 
occured.
+               gui.messageBox(_("An unexpected error has occured when trying 
to open find dialog."),_("Error"),style=wx.OK | wx.ICON_ERROR)
 
 class SPLFindDialog(wx.Dialog):
 


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/e728b72a5257/
Changeset:   e728b72a5257
Branch:      stable
User:        josephsl
Date:        2018-06-10 23:18:05+00:00
Summary:     SPL add-on 18.06.1, readme entries.

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

Affected #:  1 file

diff --git a/readme.md b/readme.md
index daeb6d2..9905622 100755
--- a/readme.md
+++ b/readme.md
@@ -189,6 +189,12 @@ From studio window, you can press Alt+NVDA+0 to open the 
add-on configuration di
 
 If you are using Studio on a touchscreen computer running Windows 8 or later 
and have NVDA 2012.3 or later installed, you can perform some Studio commands 
from the touchscreen. First use three finger tap to switch to SPL mode, then 
use the touch commands listed above to perform commands.
 
+## Version 18.06.1
+
+* Fixed several compatibility issues with wxPython 4, including inability to 
open track finder (Control+NVDA+F), column search and time ranger finder 
dialogs in Studio and stream labeler dialog (F12) from encoders window.
+* While opening a find dialog from Studio and an unexpected error occurs, NVDA 
will present more appropriate message instead of saying that another find 
dialog is open.
+* In encoders window, NVDA will no longer play error tones or appear to do 
nothing when attempting to open encoder settings dialog (Alt+NVDA+0).
+
 ## Version 18.06
 
 * In add-on settings, added "Apply" button so changes to settings can be 
applied to the currently selected and/or active profile without closing the 
dialog first. This feature is available for NVDA 2018.2 users.

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

--

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

Other related posts: