mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-13 17:24:27 +01:00
Fix issues
This commit is contained in:
@@ -178,9 +178,9 @@ export class AccessibilitySignalService extends Disposable implements IAccessibi
|
||||
private readonly isSoundEnabledCache = new Cache((event: { readonly signal: AccessibilitySignal; readonly userGesture?: boolean }) => {
|
||||
const settingObservable = observableFromEvent(
|
||||
Event.filter(this.configurationService.onDidChangeConfiguration, (e) =>
|
||||
e.affectsConfiguration(event.signal.settingsKey) || e.affectsConfiguration(event.signal.settingsKey)
|
||||
e.affectsConfiguration(event.signal.legacySoundSettingsKey) || e.affectsConfiguration(event.signal.settingsKey)
|
||||
),
|
||||
() => this.configurationService.getValue<'on' | 'off' | 'auto' | 'userGesture' | 'always' | 'never'>(event.signal.settingsKey + '.audioCue')
|
||||
() => this.configurationService.getValue<'on' | 'off' | 'auto' | 'userGesture' | 'always' | 'never'>(event.signal.settingsKey + '.sound')
|
||||
);
|
||||
return derived(reader => {
|
||||
/** @description sound enabled */
|
||||
@@ -211,7 +211,7 @@ export class AccessibilitySignalService extends Disposable implements IAccessibi
|
||||
Event.filter(this.configurationService.onDidChangeConfiguration, (e) =>
|
||||
e.affectsConfiguration(event.signal.legacyAnnouncementSettingsKey!) || e.affectsConfiguration(event.signal.settingsKey)
|
||||
),
|
||||
() => event.signal.announcementMessage ? this.configurationService.getValue<true | false | 'userGesture' | 'always' | 'never'>(event.signal.settingsKey + '.announcement') : false
|
||||
() => event.signal.announcementMessage ? this.configurationService.getValue<'auto' | 'off' | 'userGesture' | 'always' | 'never'>(event.signal.settingsKey + '.announcement') : false
|
||||
);
|
||||
return derived(reader => {
|
||||
/** @description alert enabled */
|
||||
@@ -221,23 +221,23 @@ export class AccessibilitySignalService extends Disposable implements IAccessibi
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return setting === true || setting === 'always' || setting === 'userGesture' && event.userGesture;
|
||||
return setting === 'auto' || setting === 'always' || setting === 'userGesture' && event.userGesture;
|
||||
});
|
||||
}, JSON.stringify);
|
||||
|
||||
public isAnnouncementEnabled(cue: AccessibilitySignal, userGesture?: boolean): boolean {
|
||||
if (!cue.announcementMessage) {
|
||||
public isAnnouncementEnabled(signal: AccessibilitySignal, userGesture?: boolean): boolean {
|
||||
if (!signal.announcementMessage) {
|
||||
return false;
|
||||
}
|
||||
return this.isAnnouncementEnabledCache.get({ signal: cue, userGesture }).get() ?? false;
|
||||
return this.isAnnouncementEnabledCache.get({ signal, userGesture }).get() ?? false;
|
||||
}
|
||||
|
||||
public isSoundEnabled(cue: AccessibilitySignal, userGesture?: boolean): boolean {
|
||||
return this.isSoundEnabledCache.get({ signal: cue, userGesture }).get() ?? false;
|
||||
public isSoundEnabled(signal: AccessibilitySignal, userGesture?: boolean): boolean {
|
||||
return this.isSoundEnabledCache.get({ signal, userGesture }).get() ?? false;
|
||||
}
|
||||
|
||||
public onSoundEnabledChanged(cue: AccessibilitySignal): Event<void> {
|
||||
return Event.fromObservableLight(this.isSoundEnabledCache.get({ signal: cue }));
|
||||
public onSoundEnabledChanged(signal: AccessibilitySignal): Event<void> {
|
||||
return Event.fromObservableLight(this.isSoundEnabledCache.get({ signal }));
|
||||
}
|
||||
|
||||
public onAnnouncementEnabledChanged(cue: AccessibilitySignal): Event<void> {
|
||||
|
||||
@@ -41,28 +41,26 @@ export class ShowSignalSoundHelp extends Action2 {
|
||||
}));
|
||||
const qp = quickInputService.createQuickPick<IQuickPickItem & { signal: AccessibilitySignal }>();
|
||||
qp.items = items;
|
||||
qp.selectedItems = items.filter(i => accessibilitySignalService.isSoundEnabled(i.signal));
|
||||
qp.selectedItems = items.filter(i => accessibilitySignalService.isSoundEnabled(i.signal) || configurationService.getValue(i.signal.settingsKey + '.sound') !== 'never');
|
||||
qp.onDidAccept(() => {
|
||||
const enabledCues = qp.selectedItems.map(i => i.signal);
|
||||
const disabledCues = AccessibilitySignal.allAccessibilitySignals.filter(cue => !enabledCues.includes(cue));
|
||||
for (const cue of enabledCues) {
|
||||
if (!userGestureSignals.includes(cue)) {
|
||||
let { sound, announcement } = configurationService.getValue<{ sound: string; announcement?: string }>(cue.settingsKey);
|
||||
sound = accessibilityService.isScreenReaderOptimized() ? 'auto' : 'on';
|
||||
if (announcement) {
|
||||
configurationService.updateValue(cue.settingsKey, { sound, announcement });
|
||||
} else {
|
||||
configurationService.updateValue(cue.settingsKey, { sound });
|
||||
}
|
||||
const enabledSounds = qp.selectedItems.map(i => i.signal);
|
||||
const disabledSounds = qp.items.map(i => (i as any).signal).filter(i => !enabledSounds.includes(i));
|
||||
for (const signal of enabledSounds) {
|
||||
let { sound, announcement } = configurationService.getValue<{ sound: string; announcement?: string }>(signal.settingsKey);
|
||||
sound = userGestureSignals.includes(signal) ? 'userGesture' : accessibilityService.isScreenReaderOptimized() ? 'auto' : 'on';
|
||||
if (announcement) {
|
||||
configurationService.updateValue(signal.settingsKey, { sound, announcement });
|
||||
} else {
|
||||
configurationService.updateValue(signal.settingsKey, { sound });
|
||||
}
|
||||
}
|
||||
for (const cue of disabledCues) {
|
||||
const announcement = cue.announcementMessage ? configurationService.getValue(cue.settingsKey + '.announcement') : undefined;
|
||||
const sound = userGestureSignals.includes(cue) ? 'never' : 'off';
|
||||
for (const signal of disabledSounds) {
|
||||
let { sound, announcement } = configurationService.getValue<{ sound: string; announcement?: string }>(signal.settingsKey);
|
||||
sound = userGestureSignals.includes(signal) ? 'never' : 'off';
|
||||
if (announcement) {
|
||||
configurationService.updateValue(cue.settingsKey, { sound, announcement });
|
||||
configurationService.updateValue(signal.settingsKey, { sound, announcement });
|
||||
} else {
|
||||
configurationService.updateValue(cue.settingsKey, { sound });
|
||||
configurationService.updateValue(signal.settingsKey, { sound });
|
||||
}
|
||||
}
|
||||
qp.hide();
|
||||
@@ -104,23 +102,21 @@ export class ShowAccessibilityAnnouncementHelp extends Action2 {
|
||||
}));
|
||||
const qp = quickInputService.createQuickPick<IQuickPickItem & { signal: AccessibilitySignal }>();
|
||||
qp.items = items;
|
||||
qp.selectedItems = items.filter(i => accessibilitySignalService.isAnnouncementEnabled(i.signal));
|
||||
qp.selectedItems = items.filter(i => accessibilitySignalService.isAnnouncementEnabled(i.signal) || configurationService.getValue(i.signal.settingsKey + '.announcement') !== 'never');
|
||||
qp.onDidAccept(() => {
|
||||
const enabledAnnouncements = qp.selectedItems.map(i => i.signal);
|
||||
const disabledAnnouncements = AccessibilitySignal.allAccessibilitySignals.filter(cue => !enabledAnnouncements.includes(cue));
|
||||
for (const cue of enabledAnnouncements) {
|
||||
if (!userGestureSignals.includes(cue)) {
|
||||
let { sound, announcement } = configurationService.getValue<{ sound: string; announcement?: string }>(cue.settingsKey);
|
||||
announcement = cue.announcementMessage && accessibilityService.isScreenReaderOptimized() ? 'auto' : undefined;
|
||||
if (announcement) {
|
||||
configurationService.updateValue(cue.settingsKey, { sound, announcement });
|
||||
}
|
||||
for (const signal of enabledAnnouncements) {
|
||||
let { sound, announcement } = configurationService.getValue<{ sound: string; announcement?: string }>(signal.settingsKey);
|
||||
announcement = userGestureSignals.includes(signal) ? 'userGesture' : signal.announcementMessage && accessibilityService.isScreenReaderOptimized() ? 'auto' : undefined;
|
||||
if (announcement) {
|
||||
configurationService.updateValue(signal.settingsKey, { sound, announcement });
|
||||
}
|
||||
}
|
||||
for (const cue of disabledAnnouncements) {
|
||||
const announcement = userGestureSignals.includes(cue) ? 'never' : 'off';
|
||||
const sound = configurationService.getValue(cue.settingsKey + '.sound');
|
||||
configurationService.updateValue(cue.settingsKey, { sound, announcement });
|
||||
for (const signal of disabledAnnouncements) {
|
||||
const announcement = userGestureSignals.includes(signal) ? 'never' : 'off';
|
||||
const sound = configurationService.getValue(signal.settingsKey + '.sound');
|
||||
configurationService.updateValue(signal.settingsKey, { sound, announcement });
|
||||
}
|
||||
qp.hide();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user