Skip to content

Commit d5ef5ac

Browse files
author
Benjamin Pasero
committed
1 parent 11bd2bf commit d5ef5ac

2 files changed

Lines changed: 14 additions & 5 deletions

File tree

src/vs/base/browser/ui/list/listWidget.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,8 +364,14 @@ const DefaultMultipleSelectionContoller = {
364364
};
365365

366366
const DefaultOpenController = {
367-
shouldOpen: (event: UIEvent) => true
368-
};
367+
shouldOpen: (event: UIEvent) => {
368+
if (event instanceof MouseEvent) {
369+
return event.button === 0 /* left mouse button */ || event.button === 1 /* middle mouse button */;
370+
}
371+
372+
return true;
373+
}
374+
} as IOpenController;
369375

370376
class MouseController<T> implements IDisposable {
371377

src/vs/platform/list/browser/listService.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,18 @@ class MultipleSelectionController<T> implements IMultipleSelectionController<T>
125125
}
126126
}
127127

128-
class OpenController implements IOpenController {
128+
class WorkbenchOpenController implements IOpenController {
129129

130130
constructor(private configurationService: IConfigurationService) { }
131131

132132
shouldOpen(event: UIEvent): boolean {
133133
if (event instanceof MouseEvent) {
134134
const isDoubleClick = event.detail === 2;
135+
if (!useSingleClickToOpen(this.configurationService) && !isDoubleClick) {
136+
return false;
137+
}
135138

136-
return useSingleClickToOpen(this.configurationService) || isDoubleClick;
139+
return event.button === 0 /* left mouse button */ || event.button === 1 /* middle mouse button */;
137140
}
138141

139142
return true;
@@ -145,7 +148,7 @@ function handleListControllers<T>(options: IListOptions<T>, configurationService
145148
options.multipleSelectionController = new MultipleSelectionController(configurationService);
146149
}
147150

148-
options.openController = new OpenController(configurationService);
151+
options.openController = new WorkbenchOpenController(configurationService);
149152

150153
return options;
151154
}

0 commit comments

Comments
 (0)