@@ -3707,12 +3707,30 @@ def makeSettings(self, settingsSizer):
37073707 tetherChoices = [x [1 ] for x in braille .handler .tetherValues ]
37083708 self .tetherList = sHelper .addLabeledControl (tetherListText , wx .Choice , choices = tetherChoices )
37093709 self .bindHelpEvent ("BrailleTether" , self .tetherList )
3710+ self .tetherList .Bind (wx .EVT_CHOICE , self .onTetherToChange )
37103711 tetherChoice = config .conf ["braille" ]["tetherTo" ]
37113712 selection = [x .value for x in TetherTo ].index (tetherChoice )
37123713 self .tetherList .SetSelection (selection )
37133714 if gui ._isDebug ():
37143715 log .debug ("Loading tether settings completed, now at %.2f seconds from start" % (time .time () - startTime ))
37153716
3717+ self .brailleReviewRoutingMovesSystemCaretCombo : nvdaControls .FeatureFlagCombo = sHelper .addLabeledControl (
3718+ labelText = _ (
3719+ # Translators: This is a label for a combo-box in the Braille settings panel.
3720+ "Move system caret when Ro&uting review cursor"
3721+ ),
3722+ wxCtrlClass = nvdaControls .FeatureFlagCombo ,
3723+ keyPath = ["braille" , "reviewRoutingMovesSystemCaret" ],
3724+ conf = config .conf ,
3725+ )
3726+ self .bindHelpEvent (
3727+ "BrailleSettingsReviewRoutingMovesSystemCaret" ,
3728+ self .brailleReviewRoutingMovesSystemCaretCombo
3729+ )
3730+ # Setting has no effect when braille is tethered to focus.
3731+ if tetherChoice == TetherTo .FOCUS .value :
3732+ self .brailleReviewRoutingMovesSystemCaretCombo .Disable ()
3733+
37163734 # Translators: The label for a setting in braille settings to read by paragraph (if it is checked, the commands to move the display by lines moves the display by paragraphs instead).
37173735 readByParagraphText = _ ("Read by ¶graph" )
37183736 self .readByParagraphCheckBox = sHelper .addItem (wx .CheckBox (self , label = readByParagraphText ))
@@ -3778,6 +3796,7 @@ def onSave(self):
37783796 config .conf ["braille" ]["tetherTo" ] = TetherTo .AUTO .value
37793797 else :
37803798 braille .handler .setTether (tetherChoice , auto = False )
3799+ self .brailleReviewRoutingMovesSystemCaretCombo .saveCurrentValueToConf ()
37813800 config .conf ["braille" ]["readByParagraph" ] = self .readByParagraphCheckBox .Value
37823801 config .conf ["braille" ]["wordWrap" ] = self .wordWrapCheckBox .Value
37833802 config .conf ["braille" ]["focusContextPresentation" ] = self .focusContextPresentationValues [self .focusContextPresentationList .GetSelection ()]
@@ -3796,6 +3815,12 @@ def onBlinkCursorChange(self, evt):
37963815 def onShowMessagesChange (self , evt ):
37973816 self .messageTimeoutEdit .Enable (evt .GetSelection () == 1 )
37983817
3818+ def onTetherToChange (self , evt : wx .CommandEvent ) -> None :
3819+ """Showss or hides "Move system caret when Routing review cursor" braille setting."""
3820+ tetherChoice = [x .value for x in TetherTo ][evt .GetSelection ()]
3821+ self .brailleReviewRoutingMovesSystemCaretCombo .Enable (tetherChoice != TetherTo .FOCUS .value )
3822+
3823+
37993824def showStartErrorForProviders (
38003825 parent : wx .Window ,
38013826 providers : List [vision .providerInfo .ProviderInfo ],
0 commit comments