commit/StationPlaylist: josephsl: GUI Helper services (17.1-dev): Officially switch on GUI Helper services.

  • From: commits-noreply@xxxxxxxxxxxxx
  • To: nvda-addons-commits@xxxxxxxxxxxxx
  • Date: Sat, 26 Nov 2016 18:46:27 -0000

1 new commit in StationPlaylist:

https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/b64bca7d2f6d/
Changeset:   b64bca7d2f6d
Branch:      master
User:        josephsl
Date:        2016-11-26 18:45:40+00:00
Summary:     GUI Helper services (17.1-dev): Officially switch on GUI Helper 
services.

GUI Helper allows NVDA Core and add-on GUI's to define their controls easily 
while providing consistent presentation. In cae of SPL add-on, dialogs that are 
used in settings has been converted, including Alarms Center, new profile 
creation, Columns Explorer, Column Announcements, Metadata Streaming, Say 
Status, Advanced Options and Reset dialogs. Others have been partially 
converted, and two dialogs (old version and welcome dialog) will be converted 
later. The very last thing to be converted will be actual add-on settings 
dialog (this dialog requires special handling).
This work requires NvDA 2016.4 and will be available in 17.1 release.

Affected #:  2 files

diff --git a/addon/appModules/splstudio/splconfig.py 
b/addon/appModules/splstudio/splconfig.py
index 33d656e..b83144e 100755
--- a/addon/appModules/splstudio/splconfig.py
+++ b/addon/appModules/splstudio/splconfig.py
@@ -21,9 +21,6 @@ import wx
 import splupdate
 from splmisc import SPLCountdownTimer, _metadataAnnouncer
 
-# 17.1: Is GUI Helper (running in 2016.4) available?
-useGUIHelper = hasattr(gui, "guiHelper")
-
 # Until NVDA Core uses Python 3 (preferably 3.3 or later), use a backported 
version of chain map class.
 # Backported by Jonathan Eunice.
 # Python Package Index: https://pypi.python.org/pypi/chainmap/1.0.2
@@ -900,50 +897,22 @@ class SPLAlarmDialog(wx.Dialog):
                super(SPLAlarmDialog, self).__init__(parent, wx.ID_ANY, 
titles[level])
                self.level = level
                mainSizer = wx.BoxSizer(wx.VERTICAL)
-               # 17.1: Utilize spin control enhancements from GUI helper 
(added in NVDA 2016.4).
-               # Only do this if 2016.4 is running, otherwise use classic mode 
for backward compatibility.)
-               if useGUIHelper:
-                       contentSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+               # 17.1: Utilize various enhancements from GUI helper (added in 
NVDA 2016.4).
+               contentSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
 
                if level in (0, 1):
                        timeVal = 
SPLConfig["IntroOutroAlarms"]["EndOfTrackTime"]
                        alarmLabel = _("Enter &end of track alarm time in 
seconds (currently {curAlarmSec})").format(curAlarmSec = timeVal)
-                       if useGUIHelper:
-                               self.outroAlarmEntry = 
contentSizerHelper.addLabeledControl(alarmLabel, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=59, initial=timeVal)
-                               
self.outroToggleCheckBox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("&Notify when end of track is approaching")))
-                               
self.outroToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SayEndOfTrack"])
-                       else:
-                               alarmSizer = wx.BoxSizer(wx.HORIZONTAL)
-                               alarmMessage = wx.StaticText(self, wx.ID_ANY, 
label=alarmLabel)
-                               alarmSizer.Add(alarmMessage)
-                               self.outroAlarmEntry = wx.SpinCtrl(self, 
wx.ID_ANY, min=1, max=59)
-                               self.outroAlarmEntry.SetValue(timeVal)
-                               self.outroAlarmEntry.SetSelection(-1, -1)
-                               alarmSizer.Add(self.outroAlarmEntry)
-                               
mainSizer.Add(alarmSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
-                               
self.outroToggleCheckBox=wx.CheckBox(self,wx.NewId(),label=_("&Notify when end 
of track is approaching"))
-                               
self.outroToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SayEndOfTrack"])
-                               
mainSizer.Add(self.outroToggleCheckBox,border=10,flag=wx.BOTTOM)
+                       self.outroAlarmEntry = 
contentSizerHelper.addLabeledControl(alarmLabel, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=59, initial=timeVal)
+                       
self.outroToggleCheckBox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("&Notify when end of track is approaching")))
+                       
self.outroToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SayEndOfTrack"])
 
                if level in (0, 2):
                        rampVal = SPLConfig["IntroOutroAlarms"]["SongRampTime"]
                        alarmLabel = _("Enter song &intro alarm time in seconds 
(currently {curRampSec})").format(curRampSec = rampVal)
-                       if useGUIHelper:
-                               self.introAlarmEntry = 
contentSizerHelper.addLabeledControl(alarmLabel, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=9, initial=rampVal)
-                               
self.introToggleCheckBox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("&Notify when end of introduction is approaching")))
-                               
self.introToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SaySongRamp"])
-                       else:
-                               alarmSizer = wx.BoxSizer(wx.HORIZONTAL)
-                               alarmMessage = wx.StaticText(self, wx.ID_ANY, 
label=alarmLabel)
-                               alarmSizer.Add(alarmMessage)
-                               self.introAlarmEntry = wx.SpinCtrl(self, 
wx.ID_ANY, min=1, max=9)
-                               self.introAlarmEntry.SetValue(rampVal)
-                               self.introAlarmEntry.SetSelection(-1, -1)
-                               alarmSizer.Add(self.introAlarmEntry)
-                               
mainSizer.Add(alarmSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
-                               
self.introToggleCheckBox=wx.CheckBox(self,wx.NewId(),label=_("&Notify when end 
of introduction is approaching"))
-                               
self.introToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SaySongRamp"])
-                               
mainSizer.Add(self.introToggleCheckBox,border=10,flag=wx.BOTTOM)
+                       self.introAlarmEntry = 
contentSizerHelper.addLabeledControl(alarmLabel, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=9, initial=rampVal)
+                       
self.introToggleCheckBox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("&Notify when end of introduction is approaching")))
+                       
self.introToggleCheckBox.SetValue(SPLConfig["IntroOutroAlarms"]["SaySongRamp"])
 
                if level in (0, 3):
                        micAlarm = SPLConfig["MicrophoneAlarm"]["MicAlarm"]
@@ -955,33 +924,13 @@ class SPLAlarmDialog(wx.Dialog):
                                # Translators: A dialog message when microphone 
alarm is disabled (set to 0).
                                timeMSG = _("Enter microphone alarm time in 
seconds (currently disabled, 0 disables the alarm)")
                        micIntervalMSG = _("Microphone alarm interval")
-                       if useGUIHelper:
-                               self.micAlarmEntry = 
contentSizerHelper.addLabeledControl(timeMSG, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=7200, initial=micAlarm)
-                               self.micIntervalEntry = 
contentSizerHelper.addLabeledControl(micIntervalMSG, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=60, initial=micAlarmInterval)
-                       else:
-                               alarmSizer = wx.BoxSizer(wx.VERTICAL)
-                               alarmMessage = wx.StaticText(self, wx.ID_ANY, 
label=timeMSG)
-                               alarmSizer.Add(alarmMessage)
-                               self.micAlarmEntry = wx.SpinCtrl(self, 
wx.ID_ANY, min=0, max=7200)
-                               self.micAlarmEntry.SetValue(micAlarm)
-                               self.micAlarmEntry.SetSelection(-1, -1)
-                               alarmSizer.Add(self.micAlarmEntry)
-                               alarmMessage = wx.StaticText(self, wx.ID_ANY, 
label=micIntervalMSG)
-                               alarmSizer.Add(alarmMessage)
-                               self.micIntervalEntry = wx.SpinCtrl(self, 
wx.ID_ANY, min=0, max=60)
-                               self.micIntervalEntry.SetValue(micAlarmInterval)
-                               self.micIntervalEntry.SetSelection(-1, -1)
-                               alarmSizer.Add(self.micIntervalEntry)
-                               
mainSizer.Add(alarmSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
-
-               if useGUIHelper:
-                       contentSizerHelper.addItem( 
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)
-               if useGUIHelper:
-                       mainSizer.Add(contentSizerHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
+                       self.micAlarmEntry = 
contentSizerHelper.addLabeledControl(timeMSG, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=7200, initial=micAlarm)
+                       self.micIntervalEntry = 
contentSizerHelper.addLabeledControl(micIntervalMSG, 
gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=60, initial=micAlarmInterval)
+
+               
contentSizerHelper.addDialogDismissButtons(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.Add(contentSizerHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.SetSizer(mainSizer)
                self.Center(wx.BOTH | wx.CENTER_ON_SCREEN)

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 7e92eb5..85963fa 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -693,38 +693,23 @@ class NewProfileDialog(wx.Dialog):
                        dialogTitle = _("Copy Profile")
                super(NewProfileDialog, self).__init__(parent, 
title=dialogTitle)
                mainSizer = wx.BoxSizer(wx.VERTICAL)
-               if splconfig.useGUIHelper:
-                       newProfileSizerHelper = 
gui.guiHelper.BoxSizerHelper(self, orientation=wx.VERTICAL)
+               newProfileSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
 
-               if splconfig.useGUIHelper:
-                       self.profileName = 
newProfileSizerHelper.addLabeledControl(_("Profile name:"), wx.TextCtrl)
-                       mainSizer.Add(newProfileSizerHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       # Translators: The label of a field to enter the name 
of a new broadcast profile.
-                       sizer.Add(wx.StaticText(self, label=_("Profile name:")))
-                       item = self.profileName = wx.TextCtrl(self)
-                       sizer.Add(item)
-                       mainSizer.Add(sizer)
+               # Translators: The label of a field to enter the name of a new 
broadcast profile.
+               self.profileName = 
newProfileSizerHelper.addLabeledControl(_("Profile name:"), wx.TextCtrl)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
select a base  profile for copying.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Base 
profile:"))
-               self.baseProfiles = wx.Choice(self, wx.ID_ANY, 
choices=[profile.split(" <")[0] for profile in parent.profiles.GetItems()])
-               try:
-                       
self.baseProfiles.SetSelection(self.baseProfiles.GetItems().index(parent.profiles.GetStringSelection().split("
 <")[0]))
-               except:
-                       pass
-               sizer.Add(label)
-               sizer.Add(self.baseProfiles)
-               if not self.copy:
-                       sizer.Hide(label)
-                       sizer.Hide(self.baseProfiles)
-               mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               if self.copy:
+                       # Translators: The label for a setting in SPL add-on 
dialog to select a base  profile for copying.
+                       self.baseProfiles = 
newProfileSizerHelper.addLabeledControl(_("&Base profile:"), wx.Choice, 
choices=[profile.split(" <")[0] for profile in parent.profiles.GetItems()])
+                       try:
+                               
self.baseProfiles.SetSelection(self.baseProfiles.GetItems().index(parent.profiles.GetStringSelection().split("
 <")[0]))
+                       except:
+                               pass
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
newProfileSizerHelper.addDialogDismissButtons(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.Add(newProfileSizerHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.profileName.SetFocus()
@@ -841,9 +826,11 @@ class TriggersDialog(wx.Dialog):
                        timeSizer.Hide(self.durationEntry)
                
mainSizer.Add(timeSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               triggersHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+               
triggersHelper.addDialogDismissButtons(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.Add(triggersHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.SetSizer(mainSizer)
                self.Center(wx.BOTH | wx.CENTER_ON_SCREEN)
@@ -938,6 +925,12 @@ class MetadataStreamingDialog(wx.Dialog):
                # Translators: Title of a dialog to configure metadata 
streaming status for DSP encoder and four additional URL's.
                super(MetadataStreamingDialog, self).__init__(parent, 
title=_("Metadata streaming options"))
                self.func = func
+               mainSizer = wx.BoxSizer(wx.VERTICAL)
+               metadataSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+
+               if func is None: labelText=_("Select the URL for metadata 
streaming upon request.")
+               else: labelText=_("Check to enable metadata streaming, uncheck 
to disable.")
+               metadataSizerHelper.addItem(wx.StaticText(self, 
label=labelText))
 
                # WX's CheckListBox isn't user friendly.
                # Therefore use checkboxes laid out across the top.
@@ -946,41 +939,23 @@ class MetadataStreamingDialog(wx.Dialog):
                streamLabels = ("DSP encoder", "URL 1", "URL 2", "URL 3", "URL 
4")
                self.checkedStreams = []
                # Add checkboxes for each stream, beginning with the DSP 
encoder.
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for stream in xrange(5):
-                       
checkedStream=wx.CheckBox(self,wx.NewId(),label=streamLabels[stream])
+                       checkedStream=sizer.addItem(wx.CheckBox(self, 
label=streamLabels[stream]))
                        if func: checkedStream.SetValue(func(stream, 36, 
ret=True))
                        else: 
checkedStream.SetValue(self.Parent.metadataStreams[stream])
                        self.checkedStreams.append(checkedStream)
-
-               mainSizer = wx.BoxSizer(wx.VERTICAL)
-               if func is None: labelText=_("Select the URL for metadata 
streaming upon request.")
-               else: labelText=_("Check to enable metadata streaming, uncheck 
to disable.")
-               label = wx.StaticText(self, wx.ID_ANY, label=labelText)
-               mainSizer.Add(label,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
-
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-               for checkedStream in self.checkedStreams:
-                       if splconfig.useGUIHelper:
-                               sizer.addItem(checkedStream)
-                       else:
-                               sizer.Add(checkedStream)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               metadataSizerHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
                if self.func is not None:
                        # Translators: A checkbox to let metadata streaming 
status be applied to the currently active broadcast profile.
-                       
self.applyCheckbox=wx.CheckBox(self,wx.NewId(),label=_("&Apply streaming 
changes to the selected profile"))
+                       self.applyCheckbox = 
metadataSizerHelper.addItem(wx.CheckBox(self, label=_("&Apply streaming changes 
to the selected profile")))
                        self.applyCheckbox.SetValue(True)
-                       mainSizer.Add(self.applyCheckbox, border=10,flag=wx.TOP)
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
metadataSizerHelper.addDialogDismissButtons(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.Add(metadataSizerHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.checkedStreams[0].SetFocus()
@@ -1040,74 +1015,34 @@ class ColumnAnnouncementsDialog(wx.Dialog):
                        self.checkedColumns3.append(checkedColumn)
 
                mainSizer = wx.BoxSizer(wx.VERTICAL)
+               colAnnouncementsHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+
                # Translators: Help text to select columns to be announced.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("Select columns 
to be announced (artist and title are announced by default"))
-               mainSizer.Add(label,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
+               labelText = _("Select columns to be announced (artist and title 
are announced by default")
+               colAnnouncementsHelper.addItem(wx.StaticText(self, 
label=labelText))
 
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for checkedColumn in self.checkedColumns:
-                       if splconfig.useGUIHelper:
-                               sizer.addItem(checkedColumn)
-                       else:
-                               sizer.Add(checkedColumn)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+                       sizer.addItem(checkedColumn)
+               colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for checkedColumn in self.checkedColumns2:
-                       if splconfig.useGUIHelper:
-                               sizer.addItem(checkedColumn)
-                       else:
-                               sizer.Add(checkedColumn)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+                       sizer.addItem(checkedColumn)
+               colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for checkedColumn in self.checkedColumns3:
-                       if splconfig.useGUIHelper:
-                               sizer.addItem(checkedColumn)
-                       else:
-                               sizer.Add(checkedColumn)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
-
-               if splconfig.useGUIHelper:
-                       sizer= gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
-                       # Translators: The label for a setting in SPL add-on 
dialog to select column announcement order.
-                       self.trackColumns = sizer.addLabeledControl(_("Column 
&order:"), wx.ListBox, choices=parent.columnOrder)
-                       
self.trackColumns.Bind(wx.EVT_LISTBOX,self.onColumnSelection)
-                       self.trackColumns.SetSelection(0)
-                       mainSizer.Add(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       # Translators: The label for a setting in SPL add-on 
dialog to select column announcement order.
-                       label = wx.StaticText(self, wx.ID_ANY, label=_("Column 
&order:"))
-                       # WXPython Phoenix contains RearrangeList to allow item 
orders to be changed automatically.
-                       # Because WXPython Classic doesn't include this, work 
around by using a variant of list box and move up/down buttons.
-                       self.trackColumns= wx.ListBox(self, wx.ID_ANY, 
choices=parent.columnOrder)
-                       
self.trackColumns.Bind(wx.EVT_LISTBOX,self.onColumnSelection)
-                       try:
-                               self.trackColumns.SetSelection(0)
-                       except:
-                               pass
-                       sizer.Add(label)
-                       sizer.Add(self.trackColumns)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+                       sizer.addItem(checkedColumn)
+               colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
+
+               # WXPython Phoenix contains RearrangeList to allow item orders 
to be changed automatically.
+               # Because WXPython Classic doesn't include this, work around by 
using a variant of list box and move up/down buttons.
+               # 17.1: The label for the list below is above the list, so move 
move up/down buttons to the right of the list box.
+               # Translators: The label for a setting in SPL add-on dialog to 
select column announcement order.
+               self.trackColumns = 
colAnnouncementsHelper.addLabeledControl(_("Column &order:"), wx.ListBox, 
choices=parent.columnOrder)
+               self.trackColumns.Bind(wx.EVT_LISTBOX,self.onColumnSelection)
+               self.trackColumns.SetSelection(0)
 
                sizer = wx.BoxSizer(wx.HORIZONTAL)
                # Translators: The label for a button in SPL add-on 
configuration dialog to reset settings to defaults.
@@ -1119,11 +1054,12 @@ class ColumnAnnouncementsDialog(wx.Dialog):
                self.dnButton = wx.Button(self, wx.ID_ANY, label=_("Move 
&down"))
                self.dnButton.Bind(wx.EVT_BUTTON,self.onMoveDown)
                sizer.Add(self.dnButton)
-               mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               colAnnouncementsHelper.addItem(sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
colAnnouncementsHelper.addDialogDismissButtons(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.Add(colAnnouncementsHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.checkedColumns[0].SetFocus()
@@ -1197,60 +1133,37 @@ class ColumnsExplorerDialog(wx.Dialog):
 
                super(ColumnsExplorerDialog, self).__init__(parent, 
title=actualTitle)
                mainSizer = wx.BoxSizer(wx.VERTICAL)
+               colExplorerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
 
                # 7.0: Studio 5.0x columns.
                # 17.1: Five by two grid layout as 5.0x is no longer supported.
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for slot in xrange(5):
-                       if splconfig.useGUIHelper:
                        # Translators: The label for a setting in SPL add-on 
dialog to select column for this column slot.
-                               labelText = _("Slot 
{position}").format(position = slot+1)
-                               columns = sizer.addLabeledControl(labelText, 
wx.Choice, choices=cols)
-                       else:
-                               label = wx.StaticText(self, wx.ID_ANY, 
label=_("Slot {position}").format(position = slot+1))
-                               columns = wx.Choice(self, wx.ID_ANY, 
choices=cols)
-                               sizer.Add(label)
-                               sizer.Add(columns)
+                       labelText = _("Slot {position}").format(position = 
slot+1)
+                       columns = sizer.addLabeledControl(labelText, wx.Choice, 
choices=cols)
                        try:
                                
columns.SetSelection(cols.index(parent.exploreColumns[slot] if not tt else 
parent.exploreColumnsTT[slot]))
                        except:
                                pass
                        self.columnSlots.append(columns)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               colExplorerHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               if splconfig.useGUIHelper:
-                       sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               else:
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for slot in xrange(5, 10):
-                       if splconfig.useGUIHelper:
-                       # Translators: The label for a setting in SPL add-on 
dialog to select column for this column slot.
-                               labelText = _("Slot 
{position}").format(position = slot+1)
-                               columns = sizer.addLabeledControl(labelText, 
wx.Choice, choices=cols)
-                       else:
-                               label = wx.StaticText(self, wx.ID_ANY, 
label=_("Slot {position}").format(position = slot+1))
-                               columns = wx.Choice(self, wx.ID_ANY, 
choices=cols)
-                               sizer.Add(label)
-                               sizer.Add(columns)
+                       labelText = _("Slot {position}").format(position = 
slot+1)
+                       columns = sizer.addLabeledControl(labelText, wx.Choice, 
choices=cols)
                        try:
                                
columns.SetSelection(cols.index(parent.exploreColumns[slot] if not tt else 
parent.exploreColumnsTT[slot]))
                        except:
                                pass
                        self.columnSlots.append(columns)
-               if splconfig.useGUIHelper:
-                       mainSizer.Add(sizer.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               colExplorerHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
colExplorerHelper.addDialogDismissButtons(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.Add(colExplorerHelper.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.columnSlots[0].SetFocus()
@@ -1279,62 +1192,36 @@ class SayStatusDialog(wx.Dialog):
                super(SayStatusDialog, self).__init__(parent, title=_("Status 
announcements"))
 
                mainSizer = wx.BoxSizer(wx.VERTICAL)
-               if splconfig.useGUIHelper:
-                       contentSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
-
-               if splconfig.useGUIHelper:
-                       # Translators: the label for a setting in SPL add-on 
settings to announce scheduled time.
-                       
self.scheduledForCheckbox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("Announce &scheduled time for the selected track")))
-                       self.scheduledForCheckbox.SetValue(parent.scheduledFor)
-                       # Translators: the label for a setting in SPL add-on 
settings to announce listener count.
-                       
self.listenerCountCheckbox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("Announce &listener count")))
-                       
self.listenerCountCheckbox.SetValue(parent.listenerCount)
-                       # Translators: the label for a setting in SPL add-on 
settings to announce currently playing cart.
-                       
self.cartNameCheckbox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("&Announce name of the currently playing cart")))
-                       self.cartNameCheckbox.SetValue(parent.cartName)
-                       # Translators: the label for a setting in SPL add-on 
settings to announce currently playing track name.
-                       labelText = _("&Track name announcement:")
-                       # Translators: One of the track name announcement 
options.
-                       self.trackAnnouncements=[("auto",_("automatic")),
-                       # Translators: One of the track name announcement 
options.
-                       ("background",_("while using other programs")),
-                       # Translators: One of the track name announcement 
options.
-                       ("off",_("off"))]
-                       
self.trackAnnouncementList=contentSizerHelper.addLabeledControl(labelText, 
wx.Choice, choices=[x[1] for x in self.trackAnnouncements])
-                       selection = (x for x,y in 
enumerate(self.trackAnnouncements) if y[0]==parent.playingTrackName).next()
-                       try:
-                               
self.trackAnnouncementList.SetSelection(selection)
-                       except:
-                               pass
-                       mainSizer.Add(contentSizerHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       
self.scheduledForCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Announce 
&scheduled time for the selected track"))
-                       self.scheduledForCheckbox.SetValue(parent.scheduledFor)
-                       mainSizer.Add(self.scheduledForCheckbox, 
border=10,flag=wx.BOTTOM)
-                       
self.listenerCountCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Announce 
&listener count"))
-                       
self.listenerCountCheckbox.SetValue(parent.listenerCount)
-                       mainSizer.Add(self.listenerCountCheckbox, 
border=10,flag=wx.BOTTOM)
-                       
self.cartNameCheckbox=wx.CheckBox(self,wx.NewId(),label=_("&Announce name of 
the currently playing cart"))
-                       self.cartNameCheckbox.SetValue(parent.cartName)
-                       mainSizer.Add(self.cartNameCheckbox, 
border=10,flag=wx.BOTTOM)
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       label = wx.StaticText(self, wx.ID_ANY, label=_("&Track 
name announcement:"))
-                       self.trackAnnouncements=[("auto",_("automatic")),
-                       ("background",_("while using other programs")),
-                       ("off",_("off"))]
-                       self.trackAnnouncementList= wx.Choice(self, wx.ID_ANY, 
choices=[x[1] for x in self.trackAnnouncements])
-                       selection = (x for x,y in 
enumerate(self.trackAnnouncements) if y[0]==parent.playingTrackName).next()
-                       try:
-                               
self.trackAnnouncementList.SetSelection(selection)
-                       except:
-                               pass
-                       sizer.Add(label)
-                       sizer.Add(self.trackAnnouncementList)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               sayStatusHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+
+               # Translators: the label for a setting in SPL add-on settings 
to announce scheduled time.
+               
self.scheduledForCheckbox=sayStatusHelper.addItem(wx.CheckBox(self, 
label=_("Announce &scheduled time for the selected track")))
+               self.scheduledForCheckbox.SetValue(parent.scheduledFor)
+               # Translators: the label for a setting in SPL add-on settings 
to announce listener count.
+               
self.listenerCountCheckbox=sayStatusHelper.addItem(wx.CheckBox(self, 
label=_("Announce &listener count")))
+               self.listenerCountCheckbox.SetValue(parent.listenerCount)
+               # Translators: the label for a setting in SPL add-on settings 
to announce currently playing cart.
+               self.cartNameCheckbox=sayStatusHelper.addItem(wx.CheckBox(self, 
label=_("&Announce name of the currently playing cart")))
+               self.cartNameCheckbox.SetValue(parent.cartName)
+               # Translators: the label for a setting in SPL add-on settings 
to announce currently playing track name.
+               labelText = _("&Track name announcement:")
+               # Translators: One of the track name announcement options.
+               self.trackAnnouncements=[("auto",_("automatic")),
+               # Translators: One of the track name announcement options.
+               ("background",_("while using other programs")),
+               # Translators: One of the track name announcement options.
+               ("off",_("off"))]
+               
self.trackAnnouncementList=sayStatusHelper.addLabeledControl(labelText, 
wx.Choice, choices=[x[1] for x in self.trackAnnouncements])
+               selection = (x for x,y in enumerate(self.trackAnnouncements) if 
y[0]==parent.playingTrackName).next()
+               try:
+                       self.trackAnnouncementList.SetSelection(selection)
+               except:
+                       pass
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
sayStatusHelper.addDialogDismissButtons(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.Add(sayStatusHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.scheduledForCheckbox.SetFocus()
@@ -1366,79 +1253,38 @@ class AdvancedOptionsDialog(wx.Dialog):
                super(AdvancedOptionsDialog, self).__init__(parent, 
title=_("Advanced options"))
 
                mainSizer = wx.BoxSizer(wx.VERTICAL)
-               if splconfig.useGUIHelper:
-                       contentSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
-
-               if splconfig.useGUIHelper:
-                       # Translators: A checkbox to toggle automatic add-on 
updates.
-                       
self.autoUpdateCheckbox=contentSizerHelper.addItem(wx.CheckBox(self,label=_("Automatically
 check for add-on &updates")))
-                       
self.autoUpdateCheckbox.SetValue(self.Parent.autoUpdateCheck)
-                       # Translators: The label for a setting in SPL add-on 
settings/advanced options to select automatic update interval in days.
-                       
self.updateInterval=contentSizerHelper.addLabeledControl(_("Update &interval in 
days"), gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=30, 
initial=parent.updateInterval)
-                       # LTS and 8.x only.
-                       # Translators: The label for a combo box to select 
update channel.
-                       labelText = _("&Add-on update channel:")
-                       
self.channels=contentSizerHelper.addLabeledControl(labelText, wx.Choice, 
choices=["development", "stable"])
-                       self.updateChannels = ("dev", "stable")
-                       
self.channels.SetSelection(self.updateChannels.index(self.Parent.updateChannel))
-                       # Translators: A checkbox to toggle if SPL Controller 
command can be used to invoke Assistant layer.
-                       
self.splConPassthroughCheckbox=contentSizerHelper.addItem(wx.CheckBox(self, 
label=_("Allow SPL C&ontroller command to invoke SPL Assistant layer")))
-                       
self.splConPassthroughCheckbox.SetValue(self.Parent.splConPassthrough)
-                       # Translators: The label for a setting in SPL add-on 
dialog to set keyboard layout for SPL Assistant.
-                       labelText = _("SPL Assistant command &layout:")
-                       self.compatibilityLayouts=[("off","NVDA"),
-                       ("jfw","JAWS for Windows"),
-                       ("wineyes","Window-Eyes")]
-                       
self.compatibilityList=contentSizerHelper.addLabeledControl(labelText, 
wx.Choice, choices=[x[1] for x in self.compatibilityLayouts])
-                       selection = (x for x,y in 
enumerate(self.compatibilityLayouts) if y[0]==self.Parent.compLayer).next()
-                       try:
-                               self.compatibilityList.SetSelection(selection)
-                       except:
-                               pass
-                       mainSizer.Add(contentSizerHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       sizer = wx.BoxSizer(wx.VERTICAL)
-                       
self.autoUpdateCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Automatically 
check for add-on &updates"))
-                       
self.autoUpdateCheckbox.SetValue(self.Parent.autoUpdateCheck)
-                       sizer.Add(self.autoUpdateCheckbox, 
border=10,flag=wx.TOP)
-                       label = wx.StaticText(self, wx.ID_ANY, label=_("Update 
&interval in days"))
-                       sizer.Add(label)
-                       self.updateInterval= wx.SpinCtrl(self, wx.ID_ANY, 
min=1, max=30)
-                       
self.updateInterval.SetValue(long(parent.updateInterval))
-                       self.updateInterval.SetSelection(-1, -1)
-                       sizer.Add(self.updateInterval)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       label = wx.StaticText(self, wx.ID_ANY, label=_("&Add-on 
update channel:"))
-                       self.channels= wx.Choice(self, wx.ID_ANY, 
choices=["development", "stable"])
-                       self.updateChannels = ("dev", "stable")
-                       
self.channels.SetSelection(self.updateChannels.index(self.Parent.updateChannel))
-                       sizer.Add(label)
-                       sizer.Add(self.channels)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       
self.splConPassthroughCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Allow SPL 
C&ontroller command to invoke SPL Assistant layer"))
-                       
self.splConPassthroughCheckbox.SetValue(self.Parent.splConPassthrough)
-                       sizer.Add(self.splConPassthroughCheckbox, 
border=10,flag=wx.TOP)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
-                       sizer = wx.BoxSizer(wx.HORIZONTAL)
-                       label = wx.StaticText(self, wx.ID_ANY, label=_("SPL 
Assistant command &layout:"))
-                       self.compatibilityLayouts=[("off","NVDA"),
-                       ("jfw","JAWS for Windows"),
-                       ("wineyes","Window-Eyes")]
-                       self.compatibilityList= wx.Choice(self, wx.ID_ANY, 
choices=[x[1] for x in self.compatibilityLayouts])
-                       selection = (x for x,y in 
enumerate(self.compatibilityLayouts) if y[0]==self.Parent.compLayer).next()
-                       try:
-                               self.compatibilityList.SetSelection(selection)
-                       except:
-                               pass
-                       sizer.Add(label)
-                       sizer.Add(self.compatibilityList)
-                       mainSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               advOptionsHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+
+               # Translators: A checkbox to toggle automatic add-on updates.
+               
self.autoUpdateCheckbox=advOptionsHelper.addItem(wx.CheckBox(self,label=_("Automatically
 check for add-on &updates")))
+               self.autoUpdateCheckbox.SetValue(self.Parent.autoUpdateCheck)
+               # Translators: The label for a setting in SPL add-on 
settings/advanced options to select automatic update interval in days.
+               
self.updateInterval=advOptionsHelper.addLabeledControl(_("Update &interval in 
days"), gui.nvdaControls.SelectOnFocusSpinCtrl, min=1, max=30, 
initial=parent.updateInterval)
+               # LTS and 8.x only.
+               # Translators: The label for a combo box to select update 
channel.
+               labelText = _("&Add-on update channel:")
+               self.channels=advOptionsHelper.addLabeledControl(labelText, 
wx.Choice, choices=["development", "stable"])
+               self.updateChannels = ("dev", "stable")
+               
self.channels.SetSelection(self.updateChannels.index(self.Parent.updateChannel))
+               # Translators: A checkbox to toggle if SPL Controller command 
can be used to invoke Assistant layer.
+               
self.splConPassthroughCheckbox=advOptionsHelper.addItem(wx.CheckBox(self, 
label=_("Allow SPL C&ontroller command to invoke SPL Assistant layer")))
+               
self.splConPassthroughCheckbox.SetValue(self.Parent.splConPassthrough)
+               # Translators: The label for a setting in SPL add-on dialog to 
set keyboard layout for SPL Assistant.
+               labelText = _("SPL Assistant command &layout:")
+               self.compatibilityLayouts=[("off","NVDA"),
+               ("jfw","JAWS for Windows"),
+               ("wineyes","Window-Eyes")]
+               
self.compatibilityList=advOptionsHelper.addLabeledControl(labelText, wx.Choice, 
choices=[x[1] for x in self.compatibilityLayouts])
+               selection = (x for x,y in enumerate(self.compatibilityLayouts) 
if y[0]==self.Parent.compLayer).next()
+               try:
+                       self.compatibilityList.SetSelection(selection)
+               except:
+                       pass
 
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               
advOptionsHelper.addDialogDismissButtons(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.Add(advOptionsHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.autoUpdateCheckbox.SetFocus()
@@ -1468,36 +1314,21 @@ class ResetDialog(wx.Dialog):
                super(ResetDialog, self).__init__(parent, title=_("Reset 
settings"))
 
                mainSizer = wx.BoxSizer(wx.VERTICAL)
-               if splconfig.useGUIHelper:
-                       contentSizerHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
-
-               if splconfig.useGUIHelper:
-                       # Translators: the label for resetting profile triggers.
-                       
self.resetInstantProfileCheckbox=contentSizerHelper.addItem(wx.CheckBox(self,label=_("Reset
 instant switch profile")))
-                       # Translators: the label for resetting profile triggers.
-                       
self.resetTimeProfileCheckbox=contentSizerHelper.addItem(wx.CheckBox(self,label=_("Delete
 time-based profile database")))
-                       # Translators: the label for resetting encoder settings.
-                       
self.resetEncodersCheckbox=contentSizerHelper.addItem(wx.CheckBox(self,label=_("Remove
 encoder settings")))
-                       # Translators: the label for resetting track comments.
-                       
self.resetTrackCommentsCheckbox=contentSizerHelper.addItem(wx.CheckBox(self,label=_("Erase
 track comments")))
-                       mainSizer.Add(contentSizerHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-               else:
-                       
self.resetInstantProfileCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Reset 
instant switch profile"))
-                       self.resetInstantProfileCheckbox.SetValue(False)
-                       mainSizer.Add(self.resetInstantProfileCheckbox, 
border=10,flag=wx.BOTTOM)
-                       
self.resetTimeProfileCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Delete 
time-based profile database"))
-                       self.resetTimeProfileCheckbox.SetValue(False)
-                       mainSizer.Add(self.resetTimeProfileCheckbox, 
border=10,flag=wx.BOTTOM)
-                       
self.resetEncodersCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Remove encoder 
settings"))
-                       self.resetEncodersCheckbox.SetValue(False)
-                       mainSizer.Add(self.resetEncodersCheckbox, 
border=10,flag=wx.BOTTOM)
-                       
self.resetTrackCommentsCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Erase 
track comments"))
-                       self.resetTrackCommentsCheckbox.SetValue(False)
-                       mainSizer.Add(self.resetTrackCommentsCheckbox, 
border=10,flag=wx.BOTTOM)
-
-               mainSizer.Add(self.CreateButtonSizer(wx.OK | wx.CANCEL))
+               resetHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
+
+               # Translators: the label for resetting profile triggers.
+               
self.resetInstantProfileCheckbox=resetHelper.addItem(wx.CheckBox(self,label=_("Reset
 instant switch profile")))
+               # Translators: the label for resetting profile triggers.
+               
self.resetTimeProfileCheckbox=resetHelper.addItem(wx.CheckBox(self,label=_("Delete
 time-based profile database")))
+               # Translators: the label for resetting encoder settings.
+               
self.resetEncodersCheckbox=resetHelper.addItem(wx.CheckBox(self,label=_("Remove 
encoder settings")))
+               # Translators: the label for resetting track comments.
+               
self.resetTrackCommentsCheckbox=resetHelper.addItem(wx.CheckBox(self,label=_("Erase
 track comments")))
+
+               
resetHelper.addDialogDismissButtons(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.Add(resetHelper.sizer, 
border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
                mainSizer.Fit(self)
                self.Sizer = mainSizer
                self.resetInstantProfileCheckbox.SetFocus()

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:

  • » commit/StationPlaylist: josephsl: GUI Helper services (17.1-dev): Officially switch on GUI Helper services. - commits-noreply