Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ffd91480
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,发现更多精彩内容 >>
提交
ffd91480
编写于
4月 19, 2018
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
context menu on title area is specific for sidebarPart thus move it there
fixes #46237
上级
42a5c793
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
29 addition
and
27 deletion
+29
-27
src/vs/workbench/browser/parts/compositePart.ts
src/vs/workbench/browser/parts/compositePart.ts
+3
-26
src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
+26
-1
未找到文件。
src/vs/workbench/browser/parts/compositePart.ts
浏览文件 @
ffd91480
...
...
@@ -15,7 +15,6 @@ import * as strings from 'vs/base/common/strings';
import
{
Emitter
}
from
'
vs/base/common/event
'
;
import
*
as
types
from
'
vs/base/common/types
'
;
import
*
as
errors
from
'
vs/base/common/errors
'
;
import
{
StandardMouseEvent
}
from
'
vs/base/browser/mouseEvent
'
;
import
{
ToolBar
}
from
'
vs/base/browser/ui/toolbar/toolbar
'
;
import
{
IActionItem
,
ActionsOrientation
}
from
'
vs/base/browser/ui/actionbar/actionbar
'
;
import
{
ProgressBar
}
from
'
vs/base/browser/ui/progressbar/progressbar
'
;
...
...
@@ -36,7 +35,7 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import
{
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
attachProgressBarStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
INotificationService
}
from
'
vs/platform/notification/common/notification
'
;
import
{
Dimension
,
EventType
}
from
'
vs/base/browser/dom
'
;
import
{
Dimension
}
from
'
vs/base/browser/dom
'
;
export
interface
ICompositeTitleLabel
{
...
...
@@ -74,7 +73,7 @@ export abstract class CompositePart<T extends Composite> extends Part {
private
telemetryService
:
ITelemetryService
,
protected
contextMenuService
:
IContextMenuService
,
protected
partService
:
IPartService
,
pr
ivate
keybindingService
:
IKeybindingService
,
pr
otected
keybindingService
:
IKeybindingService
,
protected
instantiationService
:
IInstantiationService
,
themeService
:
IThemeService
,
protected
readonly
registry
:
CompositeRegistry
<
T
>
,
...
...
@@ -408,8 +407,6 @@ export abstract class CompositePart<T extends Composite> extends Part {
'
class
'
:
[
'
composite
'
,
'
title
'
]
});
$
(
titleArea
).
on
(
EventType
.
CONTEXT_MENU
,
(
e
:
MouseEvent
)
=>
this
.
onTitleAreaContextMenu
(
new
StandardMouseEvent
(
e
)));
// Left Title Label
this
.
titleLabel
=
this
.
createTitleLabel
(
titleArea
.
getHTMLElement
());
...
...
@@ -456,27 +453,7 @@ export abstract class CompositePart<T extends Composite> extends Part {
this
.
titleLabel
.
updateStyles
();
}
private
onTitleAreaContextMenu
(
event
:
StandardMouseEvent
):
void
{
if
(
this
.
activeComposite
)
{
const
contextMenuActions
=
this
.
getTitleAreaContextMenuActions
();
if
(
contextMenuActions
.
length
)
{
const
anchor
:
{
x
:
number
,
y
:
number
}
=
{
x
:
event
.
posx
,
y
:
event
.
posy
};
this
.
contextMenuService
.
showContextMenu
({
getAnchor
:
()
=>
anchor
,
getActions
:
()
=>
TPromise
.
as
(
contextMenuActions
),
getActionItem
:
action
=>
this
.
actionItemProvider
(
action
as
Action
),
actionRunner
:
this
.
activeComposite
.
getActionRunner
(),
getKeyBinding
:
action
=>
this
.
keybindingService
.
lookupKeybinding
(
action
.
id
)
});
}
}
}
protected
getTitleAreaContextMenuActions
():
IAction
[]
{
return
this
.
activeComposite
?
this
.
activeComposite
.
getContextMenuActions
()
:
[];
}
private
actionItemProvider
(
action
:
Action
):
IActionItem
{
protected
actionItemProvider
(
action
:
Action
):
IActionItem
{
// Check Active Composite
if
(
this
.
activeComposite
)
{
...
...
src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
浏览文件 @
ffd91480
...
...
@@ -26,8 +26,9 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
import
{
contrastBorder
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
SIDE_BAR_TITLE_FOREGROUND
,
SIDE_BAR_BACKGROUND
,
SIDE_BAR_FOREGROUND
,
SIDE_BAR_BORDER
}
from
'
vs/workbench/common/theme
'
;
import
{
INotificationService
}
from
'
vs/platform/notification/common/notification
'
;
import
{
Dimension
}
from
'
vs/base/browser/dom
'
;
import
{
Dimension
,
EventType
}
from
'
vs/base/browser/dom
'
;
import
{
$
}
from
'
vs/base/browser/builder
'
;
import
{
StandardMouseEvent
}
from
'
vs/base/browser/mouseEvent
'
;
export
class
SidebarPart
extends
CompositePart
<
Viewlet
>
{
...
...
@@ -76,6 +77,13 @@ export class SidebarPart extends CompositePart<Viewlet> {
return
this
.
_onDidCompositeClose
.
event
as
Event
<
IViewlet
>
;
}
public
createTitleArea
(
parent
:
HTMLElement
):
HTMLElement
{
const
titleArea
=
super
.
createTitleArea
(
parent
);
$
(
titleArea
).
on
(
EventType
.
CONTEXT_MENU
,
(
e
:
MouseEvent
)
=>
this
.
onTitleAreaContextMenu
(
new
StandardMouseEvent
(
e
)));
return
titleArea
;
}
public
updateStyles
():
void
{
super
.
updateStyles
();
...
...
@@ -133,6 +141,23 @@ export class SidebarPart extends CompositePart<Viewlet> {
return
super
.
layout
(
dimension
);
}
private
onTitleAreaContextMenu
(
event
:
StandardMouseEvent
):
void
{
const
activeViewlet
=
this
.
getActiveViewlet
()
as
Viewlet
;
if
(
activeViewlet
)
{
const
contextMenuActions
=
activeViewlet
?
activeViewlet
.
getContextMenuActions
()
:
[];
if
(
contextMenuActions
.
length
)
{
const
anchor
:
{
x
:
number
,
y
:
number
}
=
{
x
:
event
.
posx
,
y
:
event
.
posy
};
this
.
contextMenuService
.
showContextMenu
({
getAnchor
:
()
=>
anchor
,
getActions
:
()
=>
TPromise
.
as
(
contextMenuActions
),
getActionItem
:
action
=>
this
.
actionItemProvider
(
action
as
Action
),
actionRunner
:
activeViewlet
.
getActionRunner
(),
getKeyBinding
:
action
=>
this
.
keybindingService
.
lookupKeybinding
(
action
.
id
)
});
}
}
}
}
class
FocusSideBarAction
extends
Action
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录