Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
73a4fa53
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
73a4fa53
编写于
3月 14, 2019
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
trees: automaticaly enable simple navigation for accessibility
fixes #67744
上级
de288947
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
46 addition
and
24 deletion
+46
-24
src/vs/platform/list/browser/listService.ts
src/vs/platform/list/browser/listService.ts
+46
-24
未找到文件。
src/vs/platform/list/browser/listService.ts
浏览文件 @
73a4fa53
...
...
@@ -30,6 +30,7 @@ import { ITreeEvent, ITreeRenderer, IAsyncDataSource, IDataSource, ITreeMouseEve
import
{
AsyncDataTree
,
IAsyncDataTreeOptions
}
from
'
vs/base/browser/ui/tree/asyncDataTree
'
;
import
{
DataTree
,
IDataTreeOptions
}
from
'
vs/base/browser/ui/tree/dataTree
'
;
import
{
IKeyboardNavigationEventFilter
}
from
'
vs/base/browser/ui/tree/abstractTree
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
export
type
ListWidget
=
List
<
any
>
|
PagedList
<
any
>
|
ITree
|
ObjectTree
<
any
,
any
>
|
DataTree
<
any
,
any
,
any
>
|
AsyncDataTree
<
any
,
any
,
any
>
;
...
...
@@ -785,7 +786,8 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
@
IListService
listService
:
IListService
,
@
IThemeService
themeService
:
IThemeService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
IKeybindingService
keybindingService
:
IKeybindingService
@
IKeybindingService
keybindingService
:
IKeybindingService
,
@
IAccessibilityService
accessibilityService
:
IAccessibilityService
)
{
WorkbenchListSupportsKeyboardNavigation
.
bindTo
(
contextKeyService
);
...
...
@@ -805,7 +807,8 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
return
automaticKeyboardNavigation
;
};
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
horizontalScrolling
=
typeof
options
.
horizontalScrolling
!==
'
undefined
'
?
options
.
horizontalScrolling
:
getHorizontalScrollingSetting
(
configurationService
);
const
openOnSingleClick
=
useSingleClickToOpen
(
configurationService
);
const
[
workbenchListOptions
,
workbenchListOptionsDisposable
]
=
toWorkbenchListOptions
(
options
,
configurationService
,
keybindingService
);
...
...
@@ -839,6 +842,14 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
const
interestingContextKeys
=
new
Set
();
interestingContextKeys
.
add
(
WorkbenchListAutomaticKeyboardNavigationKey
);
const
updateKeyboardNavigation
=
()
=>
{
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
};
this
.
disposables
.
push
(
this
.
contextKeyService
,
...
...
@@ -870,11 +881,7 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
this
.
updateOptions
({
indent
});
}
if
(
e
.
affectsConfiguration
(
keyboardNavigationSettingKey
))
{
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
updateKeyboardNavigation
();
}
if
(
e
.
affectsConfiguration
(
automaticKeyboardNavigationSettingKey
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
...
...
@@ -884,7 +891,8 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
if
(
e
.
affectsSome
(
interestingContextKeys
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
}
})
}),
accessibilityService
.
onDidChangeAccessibilitySupport
(()
=>
updateKeyboardNavigation
())
);
}
...
...
@@ -918,7 +926,8 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
@
IListService
listService
:
IListService
,
@
IThemeService
themeService
:
IThemeService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
IKeybindingService
keybindingService
:
IKeybindingService
@
IKeybindingService
keybindingService
:
IKeybindingService
,
@
IAccessibilityService
accessibilityService
:
IAccessibilityService
)
{
WorkbenchListSupportsKeyboardNavigation
.
bindTo
(
contextKeyService
);
...
...
@@ -938,7 +947,8 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
return
automaticKeyboardNavigation
;
};
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
horizontalScrolling
=
typeof
options
.
horizontalScrolling
!==
'
undefined
'
?
options
.
horizontalScrolling
:
getHorizontalScrollingSetting
(
configurationService
);
const
openOnSingleClick
=
useSingleClickToOpen
(
configurationService
);
const
[
workbenchListOptions
,
workbenchListOptionsDisposable
]
=
toWorkbenchListOptions
(
options
,
configurationService
,
keybindingService
);
...
...
@@ -972,6 +982,14 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
const
interestingContextKeys
=
new
Set
();
interestingContextKeys
.
add
(
WorkbenchListAutomaticKeyboardNavigationKey
);
const
updateKeyboardNavigation
=
()
=>
{
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
};
this
.
disposables
.
push
(
this
.
contextKeyService
,
...
...
@@ -1003,11 +1021,7 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
this
.
updateOptions
({
indent
});
}
if
(
e
.
affectsConfiguration
(
keyboardNavigationSettingKey
))
{
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
updateKeyboardNavigation
();
}
if
(
e
.
affectsConfiguration
(
automaticKeyboardNavigationSettingKey
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
...
...
@@ -1017,7 +1031,8 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
if
(
e
.
affectsSome
(
interestingContextKeys
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
}
})
}),
accessibilityService
.
onDidChangeAccessibilitySupport
(()
=>
updateKeyboardNavigation
())
);
}
...
...
@@ -1046,7 +1061,8 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
@
IListService
listService
:
IListService
,
@
IThemeService
themeService
:
IThemeService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
IKeybindingService
keybindingService
:
IKeybindingService
@
IKeybindingService
keybindingService
:
IKeybindingService
,
@
IAccessibilityService
accessibilityService
:
IAccessibilityService
)
{
WorkbenchListSupportsKeyboardNavigation
.
bindTo
(
contextKeyService
);
...
...
@@ -1066,7 +1082,8 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
return
automaticKeyboardNavigation
;
};
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
horizontalScrolling
=
typeof
options
.
horizontalScrolling
!==
'
undefined
'
?
options
.
horizontalScrolling
:
getHorizontalScrollingSetting
(
configurationService
);
const
openOnSingleClick
=
useSingleClickToOpen
(
configurationService
);
const
[
workbenchListOptions
,
workbenchListOptionsDisposable
]
=
toWorkbenchListOptions
(
options
,
configurationService
,
keybindingService
);
...
...
@@ -1100,6 +1117,14 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
const
interestingContextKeys
=
new
Set
();
interestingContextKeys
.
add
(
WorkbenchListAutomaticKeyboardNavigationKey
);
const
updateKeyboardNavigation
=
()
=>
{
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
};
this
.
disposables
.
push
(
this
.
contextKeyService
,
...
...
@@ -1131,11 +1156,7 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
this
.
updateOptions
({
indent
});
}
if
(
e
.
affectsConfiguration
(
keyboardNavigationSettingKey
))
{
const
keyboardNavigation
=
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
this
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
filterOnType
:
keyboardNavigation
===
'
filter
'
});
updateKeyboardNavigation
();
}
if
(
e
.
affectsConfiguration
(
automaticKeyboardNavigationSettingKey
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
...
...
@@ -1145,7 +1166,8 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
if
(
e
.
affectsSome
(
interestingContextKeys
))
{
this
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
}
})
}),
accessibilityService
.
onDidChangeAccessibilitySupport
(()
=>
updateKeyboardNavigation
())
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录