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.