@@ -12,6 +12,7 @@ import { AccessibilitySignal, IAccessibilitySignalService } from 'vs/platform/ac
1212import { IConfigurationService } from 'vs/platform/configuration/common/configuration' ;
1313import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation' ;
1414import { IQuickInputService , IQuickPickItem } from 'vs/platform/quickinput/common/quickInput' ;
15+ import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences' ;
1516
1617export class ShowSignalSoundHelp extends Action2 {
1718 static readonly ID = 'signals.sounds.help' ;
@@ -32,6 +33,7 @@ export class ShowSignalSoundHelp extends Action2 {
3233 const quickInputService = accessor . get ( IQuickInputService ) ;
3334 const configurationService = accessor . get ( IConfigurationService ) ;
3435 const accessibilityService = accessor . get ( IAccessibilityService ) ;
36+ const preferencesService = accessor . get ( IPreferencesService ) ;
3537 const userGestureSignals = [ AccessibilitySignal . save , AccessibilitySignal . format ] ;
3638 const items : ( IQuickPickItem & { signal : AccessibilitySignal } ) [ ] = AccessibilitySignal . allAccessibilitySignals . map ( ( signal , idx ) => ( {
3739 label : userGestureSignals . includes ( signal ) ? `${ signal . name } (${ configurationService . getValue ( signal . settingsKey + '.sound' ) } )` : signal . name ,
@@ -68,6 +70,9 @@ export class ShowSignalSoundHelp extends Action2 {
6870 }
6971 qp . hide ( ) ;
7072 } ) ;
73+ qp . onDidTriggerItemButton ( e => {
74+ preferencesService . openUserSettings ( { jsonEditor : true , revealSetting : { key : e . item . signal . settingsKey , edit : true } } ) ;
75+ } ) ;
7176 qp . onDidChangeActive ( ( ) => {
7277 accessibilitySignalService . playSound ( qp . activeItems [ 0 ] . signal . sound . getSound ( true ) , true ) ;
7378 } ) ;
@@ -96,22 +101,23 @@ export class ShowAccessibilityAnnouncementHelp extends Action2 {
96101 const quickInputService = accessor . get ( IQuickInputService ) ;
97102 const configurationService = accessor . get ( IConfigurationService ) ;
98103 const accessibilityService = accessor . get ( IAccessibilityService ) ;
104+ const preferencesService = accessor . get ( IPreferencesService ) ;
99105 const userGestureSignals = [ AccessibilitySignal . save , AccessibilitySignal . format ] ;
100- const items : ( IQuickPickItem & { signal : AccessibilitySignal } ) [ ] = AccessibilitySignal . allAccessibilitySignals . filter ( c => ! ! c . announcementMessage ) . map ( ( signal , idx ) => ( {
106+ const items : ( IQuickPickItem & { signal : AccessibilitySignal } ) [ ] = AccessibilitySignal . allAccessibilitySignals . filter ( c => ! ! c . legacyAnnouncementSettingsKey ) . map ( ( signal , idx ) => ( {
101107 label : userGestureSignals . includes ( signal ) ? `${ signal . name } (${ configurationService . getValue ( signal . settingsKey + '.announcement' ) } )` : signal . name ,
102108 signal,
103109 buttons : userGestureSignals . includes ( signal ) ? [ {
104110 iconClass : ThemeIcon . asClassName ( Codicon . settingsGear ) ,
105111 tooltip : localize ( 'announcement.help.settings' , 'Enable/Disable Announcement' ) ,
106- alwaysVisible : true
112+ alwaysVisible : true ,
107113 } ] : [ ]
108114 } ) ) ;
109115 const qp = quickInputService . createQuickPick < IQuickPickItem & { signal : AccessibilitySignal } > ( ) ;
110116 qp . items = items ;
111117 qp . selectedItems = items . filter ( i => accessibilitySignalService . isAnnouncementEnabled ( i . signal ) || userGestureSignals . includes ( i . signal ) && configurationService . getValue ( i . signal . settingsKey + '.announcement' ) !== 'never' ) ;
112118 qp . onDidAccept ( ( ) => {
113119 const enabledAnnouncements = qp . selectedItems . map ( i => i . signal ) ;
114- const disabledAnnouncements = AccessibilitySignal . allAccessibilitySignals . filter ( cue => ! enabledAnnouncements . includes ( cue ) ) ;
120+ const disabledAnnouncements = AccessibilitySignal . allAccessibilitySignals . filter ( cue => ! ! cue . legacyAnnouncementSettingsKey && ! enabledAnnouncements . includes ( cue ) ) ;
115121 for ( const signal of enabledAnnouncements ) {
116122 let { sound, announcement } = configurationService . getValue < { sound : string ; announcement ?: string } > ( signal . settingsKey ) ;
117123 announcement = userGestureSignals . includes ( signal ) ? 'userGesture' : signal . announcementMessage && accessibilityService . isScreenReaderOptimized ( ) ? 'auto' : undefined ;
@@ -124,6 +130,9 @@ export class ShowAccessibilityAnnouncementHelp extends Action2 {
124130 }
125131 qp . hide ( ) ;
126132 } ) ;
133+ qp . onDidTriggerItemButton ( e => {
134+ preferencesService . openUserSettings ( { jsonEditor : true , revealSetting : { key : e . item . signal . settingsKey , edit : true } } ) ;
135+ } ) ;
127136 qp . placeholder = localize ( 'announcement.help.placeholder' , 'Select an announcement to configure' ) ;
128137 qp . canSelectMany = true ;
129138 await qp . show ( ) ;
0 commit comments