Skip to content

Commit 8c9fccd

Browse files
committed
open editors view: use a list
1 parent 266e4e0 commit 8c9fccd

8 files changed

Lines changed: 500 additions & 687 deletions

File tree

src/vs/workbench/parts/debug/electron-browser/breakpointsView.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,9 @@ export class BreakpointsView extends ViewsViewletPanel {
108108
}
109109

110110
protected layoutBody(size: number): void {
111-
this.list.layout(size);
111+
if (this.list) {
112+
this.list.layout(size);
113+
}
112114
}
113115

114116
private onListContextMenu(e: IListContextMenuEvent<IEnablement>): void {

src/vs/workbench/parts/files/electron-browser/explorerViewlet.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ export class ExplorerViewlet extends PersistentViewsViewlet implements IExplorer
271271
return false;
272272
}
273273

274-
if (view instanceof ExplorerView || view instanceof OpenEditorsView) {
274+
if (view instanceof ExplorerView) {
275275
const viewer = view.getViewer();
276276
if (!viewer) {
277277
return false;
@@ -280,6 +280,9 @@ export class ExplorerViewlet extends PersistentViewsViewlet implements IExplorer
280280
return !!viewer.getFocus() || (viewer.getSelection() && viewer.getSelection().length > 0);
281281

282282
}
283+
if (view instanceof OpenEditorsView && !!view.getList()) {
284+
return view.getList().isDOMFocused();
285+
}
283286

284287
return false;
285288
}

src/vs/workbench/parts/files/electron-browser/fileActions.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,7 +1141,9 @@ export class OpenToSideAction extends Action {
11411141
public run(): TPromise<any> {
11421142

11431143
// Remove highlight
1144-
this.tree.clearHighlight();
1144+
if (this.tree) {
1145+
this.tree.clearHighlight();
1146+
}
11451147

11461148
// Set side input
11471149
return this.editorService.openEditor({
@@ -1713,7 +1715,7 @@ export class FocusOpenEditorsView extends Action {
17131715
const openEditorsView = viewlet.getOpenEditorsView();
17141716
if (openEditorsView) {
17151717
openEditorsView.setExpanded(true);
1716-
openEditorsView.getViewer().DOMFocus();
1718+
openEditorsView.getList().domFocus();
17171719
}
17181720
});
17191721
}

src/vs/workbench/parts/files/electron-browser/fileCommands.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,21 +174,22 @@ export function withFocusedFilesExplorer(accessor: ServicesAccessor): TPromise<{
174174
});
175175
}
176176

177-
function withFocusedOpenEditorsViewItem(accessor: ServicesAccessor): TPromise<{ explorer: ExplorerViewlet, tree: ITree, item: OpenEditor }> {
177+
function withFocusedOpenEditorsViewItem(accessor: ServicesAccessor): TPromise<{ explorer: ExplorerViewlet, item: OpenEditor }> {
178178
return withVisibleExplorer(accessor).then(explorer => {
179-
if (!explorer || !explorer.getOpenEditorsView()) {
179+
if (!explorer || !explorer.getOpenEditorsView() || !explorer.getOpenEditorsView().getList()) {
180180
return void 0; // empty folder or hidden explorer
181181
}
182182

183-
const tree = explorer.getOpenEditorsView().getViewer();
183+
const list = explorer.getOpenEditorsView().getList();
184184

185185
// Ignore if in highlight mode or not focused
186-
const focus = tree.getFocus();
187-
if (tree.getHighlight() || !tree.isDOMFocused() || !(focus instanceof OpenEditor)) {
186+
const focused = list.getFocusedElements();
187+
const focus = focused.length ? focused[0] : undefined;
188+
if (!list.isDOMFocused() || !(focus instanceof OpenEditor)) {
188189
return void 0;
189190
}
190191

191-
return { explorer, tree, item: focus };
192+
return { explorer, item: focus };
192193
});
193194
}
194195

src/vs/workbench/parts/files/electron-browser/media/explorerviewlet.css

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@
4141
flex: 0; /* do not steal space when label is hidden because we are in edit mode */
4242
}
4343

44-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content {
44+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row {
45+
padding-left: 22px;
4546
display: flex;
4647
}
4748

48-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content > .monaco-action-bar {
49+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .monaco-action-bar {
4950
visibility: hidden;
5051
}
5152

@@ -106,32 +107,32 @@
106107
display: none;
107108
}
108109

109-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row:hover > .content .monaco-action-bar,
110-
.explorer-viewlet .explorer-open-editors .monaco-tree.focused .monaco-tree-row.focused > .content .monaco-action-bar,
111-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content.dirty > .monaco-action-bar {
110+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row:hover > .monaco-action-bar,
111+
.explorer-viewlet .explorer-open-editors .monaco-list.focused .monaco-list-row.focused > .monaco-action-bar,
112+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row.dirty > .monaco-action-bar {
112113
visibility: visible;
113114
}
114115

115-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content .monaco-action-bar .action-label {
116+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .monaco-action-bar .action-label {
116117
display: block;
117118
}
118119

119-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content .monaco-action-bar .close-editor-action {
120+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .monaco-action-bar .close-editor-action {
120121
width: 8px;
121122
height: 22px;
122123
}
123124

124-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content .monaco-action-bar .action-close-all-files,
125-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content .monaco-action-bar .save-all {
125+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .monaco-action-bar .action-close-all-files,
126+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .monaco-action-bar .save-all {
126127
width: 23px;
127128
height: 22px;
128129
}
129130

130-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content > .open-editor {
131+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .open-editor {
131132
flex: 1;
132133
}
133134

134-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content > .editor-group {
135+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row > .editor-group {
135136
flex: 1;
136137
}
137138

@@ -169,18 +170,18 @@
169170
height: 20px;
170171
}
171172

172-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row .editor-group {
173+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row .editor-group {
173174
font-size: 11px;
174175
font-weight: bold;
175176
text-transform: uppercase;
176177
cursor: default;
177178
}
178179

179180
/* Bold font style does not go well with CJK fonts */
180-
.explorer-viewlet:lang(zh-Hans) .explorer-open-editors .monaco-tree .monaco-tree-row .editor-group,
181-
.explorer-viewlet:lang(zh-Hant) .explorer-open-editors .monaco-tree .monaco-tree-row .editor-group,
182-
.explorer-viewlet:lang(ja) .explorer-open-editors .monaco-tree .monaco-tree-row .editor-group,
183-
.explorer-viewlet:lang(ko) .explorer-open-editors .monaco-tree .monaco-tree-row .editor-group {
181+
.explorer-viewlet:lang(zh-Hans) .explorer-open-editors .monaco-list .monaco-list-row .editor-group,
182+
.explorer-viewlet:lang(zh-Hant) .explorer-open-editors .monaco-list .monaco-list-row .editor-group,
183+
.explorer-viewlet:lang(ja) .explorer-open-editors .monaco-list .monaco-list-row .editor-group,
184+
.explorer-viewlet:lang(ko) .explorer-open-editors .monaco-list .monaco-list-row .editor-group {
184185
font-weight: normal;
185186
}
186187

src/vs/workbench/parts/files/electron-browser/media/fileactions.css

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,20 +104,20 @@
104104
background: url("action-close.svg") center center no-repeat;
105105
}
106106

107-
.explorer-viewlet .explorer-open-editors .focused .monaco-tree-row.selected:not(.highlighted) > .content .close-editor-action {
107+
.explorer-viewlet .explorer-open-editors .focused .monaco-list-row.selected:not(.highlighted) .close-editor-action {
108108
background: url("action-close-focus.svg") center center no-repeat;
109109
}
110110

111-
.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row:not(:hover) > .content.dirty > .monaco-action-bar .close-editor-action {
111+
.explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row.dirty:not(:hover) > .monaco-action-bar .close-editor-action {
112112
background: url("action-close-dirty.svg") center center no-repeat;
113113
}
114114

115-
.vs-dark .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row:not(:hover) > .content.dirty > .monaco-action-bar .close-editor-action,
116-
.hc-black .monaco-workbench .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row:not(:hover) > .content.dirty > .monaco-action-bar .close-editor-action {
115+
.vs-dark .explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row.dirty:not(:hover) > .monaco-action-bar .close-editor-action,
116+
.hc-black .monaco-workbench .explorer-viewlet .explorer-open-editors .monaco-list .monaco-list-row.dirty:not(:hover) > .monaco-action-bar .close-editor-action {
117117
background: url("action-close-dirty-dark.svg") center center no-repeat;
118118
}
119119

120-
.explorer-viewlet .explorer-open-editors .monaco-tree.focused .monaco-tree-row.selected:not(:hover) > .content.dirty > .monaco-action-bar .close-editor-action {
120+
.explorer-viewlet .explorer-open-editors .monaco-list.focused .monaco-list-row.selected.dirty:not(:hover) > .monaco-action-bar .close-editor-action {
121121
background: url("action-close-dirty-focus.svg") center center no-repeat;
122122
}
123123

0 commit comments

Comments
 (0)