Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
a4ed430e
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,发现更多精彩内容 >>
提交
a4ed430e
编写于
12月 19, 2016
作者:
D
David Terry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
autoHideMenubar: respect default and dynamically update on config change
上级
c388fd9f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
2 deletion
+27
-2
src/vs/code/electron-main/menus.ts
src/vs/code/electron-main/menus.ts
+17
-0
src/vs/code/electron-main/window.ts
src/vs/code/electron-main/window.ts
+5
-1
src/vs/code/electron-main/windows.ts
src/vs/code/electron-main/windows.ts
+5
-1
未找到文件。
src/vs/code/electron-main/menus.ts
浏览文件 @
a4ed430e
...
@@ -44,6 +44,9 @@ interface IConfiguration extends IFilesConfiguration {
...
@@ -44,6 +44,9 @@ interface IConfiguration extends IFilesConfiguration {
visible
:
boolean
;
visible
:
boolean
;
}
}
};
};
window
:
{
autoHideMenuBar
:
boolean
;
};
}
}
export
class
VSCodeMenu
{
export
class
VSCodeMenu
{
...
@@ -56,6 +59,7 @@ export class VSCodeMenu {
...
@@ -56,6 +59,7 @@ export class VSCodeMenu {
private
currentSidebarLocation
:
'
left
'
|
'
right
'
;
private
currentSidebarLocation
:
'
left
'
|
'
right
'
;
private
currentStatusbarVisible
:
boolean
;
private
currentStatusbarVisible
:
boolean
;
private
currentActivityBarVisible
:
boolean
;
private
currentActivityBarVisible
:
boolean
;
private
currentAutoHideMenuBar
:
boolean
;
private
isQuitting
:
boolean
;
private
isQuitting
:
boolean
;
private
appMenuInstalled
:
boolean
;
private
appMenuInstalled
:
boolean
;
...
@@ -196,6 +200,15 @@ export class VSCodeMenu {
...
@@ -196,6 +200,15 @@ export class VSCodeMenu {
updateMenu
=
true
;
updateMenu
=
true
;
}
}
let
newAutoHideMenuBar
=
config
&&
config
.
window
&&
config
.
window
.
autoHideMenuBar
;
if
(
typeof
newAutoHideMenuBar
!==
'
boolean
'
)
{
newAutoHideMenuBar
=
true
;
}
if
(
newAutoHideMenuBar
!==
this
.
currentAutoHideMenuBar
)
{
this
.
currentAutoHideMenuBar
=
newAutoHideMenuBar
;
updateMenu
=
true
;
}
if
(
handleMenu
&&
updateMenu
)
{
if
(
handleMenu
&&
updateMenu
)
{
this
.
updateMenu
();
this
.
updateMenu
();
}
}
...
@@ -242,6 +255,10 @@ export class VSCodeMenu {
...
@@ -242,6 +255,10 @@ export class VSCodeMenu {
private
install
():
void
{
private
install
():
void
{
// Auto hide menu bar
const
windows
=
this
.
windowsService
.
getWindows
();
windows
.
forEach
(
w
=>
w
.
win
.
setAutoHideMenuBar
(
this
.
currentAutoHideMenuBar
));
// Menus
// Menus
const
menubar
=
new
Menu
();
const
menubar
=
new
Menu
();
...
...
src/vs/code/electron-main/window.ts
浏览文件 @
a4ed430e
...
@@ -657,9 +657,13 @@ export class VSCodeWindow implements IVSCodeWindow {
...
@@ -657,9 +657,13 @@ export class VSCodeWindow implements IVSCodeWindow {
public
setMenuBarVisibility
(
visible
:
boolean
):
void
{
public
setMenuBarVisibility
(
visible
:
boolean
):
void
{
const
windowConfig
=
this
.
configurationService
.
getConfiguration
<
IWindowSettings
>
(
'
window
'
);
const
windowConfig
=
this
.
configurationService
.
getConfiguration
<
IWindowSettings
>
(
'
window
'
);
let
autoHideMenuBar
=
windowConfig
&&
windowConfig
.
autoHideMenuBar
;
if
(
typeof
autoHideMenuBar
!==
'
boolean
'
)
{
autoHideMenuBar
=
true
;
};
this
.
win
.
setMenuBarVisibility
(
visible
);
this
.
win
.
setMenuBarVisibility
(
visible
);
this
.
win
.
setAutoHideMenuBar
(
windowConfig
&&
windowConfig
.
autoHideMenuBar
?
!
visible
:
false
);
this
.
win
.
setAutoHideMenuBar
(
autoHideMenuBar
?
!
visible
:
false
);
}
}
public
sendWhenReady
(
channel
:
string
,
...
args
:
any
[]):
void
{
public
sendWhenReady
(
channel
:
string
,
...
args
:
any
[]):
void
{
...
...
src/vs/code/electron-main/windows.ts
浏览文件 @
a4ed430e
...
@@ -1146,6 +1146,10 @@ export class WindowsManager implements IWindowsMainService {
...
@@ -1146,6 +1146,10 @@ export class WindowsManager implements IWindowsMainService {
const
newMenuBarHidden
=
!
menuBarHidden
;
const
newMenuBarHidden
=
!
menuBarHidden
;
const
windowConfig
=
this
.
configurationService
.
getConfiguration
<
IWindowSettings
>
(
'
window
'
);
const
windowConfig
=
this
.
configurationService
.
getConfiguration
<
IWindowSettings
>
(
'
window
'
);
let
autoHideMenuBar
=
windowConfig
&&
windowConfig
.
autoHideMenuBar
;
if
(
typeof
autoHideMenuBar
!==
'
boolean
'
)
{
autoHideMenuBar
=
true
;
};
this
.
storageService
.
setItem
(
VSCodeWindow
.
menuBarHiddenKey
,
newMenuBarHidden
);
this
.
storageService
.
setItem
(
VSCodeWindow
.
menuBarHiddenKey
,
newMenuBarHidden
);
...
@@ -1153,7 +1157,7 @@ export class WindowsManager implements IWindowsMainService {
...
@@ -1153,7 +1157,7 @@ export class WindowsManager implements IWindowsMainService {
WindowsManager
.
WINDOWS
.
forEach
(
w
=>
w
.
setMenuBarVisibility
(
!
newMenuBarHidden
));
WindowsManager
.
WINDOWS
.
forEach
(
w
=>
w
.
setMenuBarVisibility
(
!
newMenuBarHidden
));
// Inform user if menu bar is now hidden
// Inform user if menu bar is now hidden
if
(
newMenuBarHidden
&&
windowConfig
&&
windowConfig
.
autoHideMenuBar
)
{
if
(
newMenuBarHidden
&&
autoHideMenuBar
)
{
const
vscodeWindow
=
this
.
getWindowById
(
windowId
);
const
vscodeWindow
=
this
.
getWindowById
(
windowId
);
if
(
vscodeWindow
)
{
if
(
vscodeWindow
)
{
vscodeWindow
.
send
(
'
vscode:showInfoMessage
'
,
nls
.
localize
(
'
hiddenMenuBar
'
,
"
You can still access the menu bar by pressing the **Alt** key.
"
));
vscodeWindow
.
send
(
'
vscode:showInfoMessage
'
,
nls
.
localize
(
'
hiddenMenuBar
'
,
"
You can still access the menu bar by pressing the **Alt** key.
"
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录