diff --git a/src/vs/base/browser/ui/list/rowCache.ts b/src/vs/base/browser/ui/list/rowCache.ts index 1cc89cb0c74..7bac9ef9db5 100644 --- a/src/vs/base/browser/ui/list/rowCache.ts +++ b/src/vs/base/browser/ui/list/rowCache.ts @@ -60,7 +60,7 @@ export class RowCache implements IDisposable { * scrolling). */ release(row: IRow): void { - if (!row.domNode) { + if (!row) { return; } diff --git a/src/vs/editor/contrib/goToDeclaration/browser/goToDeclaration.ts b/src/vs/editor/contrib/goToDeclaration/browser/goToDeclaration.ts index 155a383f5c4..3aa3e4b1825 100644 --- a/src/vs/editor/contrib/goToDeclaration/browser/goToDeclaration.ts +++ b/src/vs/editor/contrib/goToDeclaration/browser/goToDeclaration.ts @@ -236,7 +236,7 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC this.toUnhook.push(this.editor.onKeyDown((e: IKeyboardEvent) => this.onEditorKeyDown(e))); this.toUnhook.push(this.editor.onKeyUp((e: IKeyboardEvent) => this.onEditorKeyUp(e))); - this.toUnhook.push(this.editor.onDidChangeCursorSelection((e) => this.resetHandler())); // https://github.com/Microsoft/vscode/issues/7827 + this.toUnhook.push(this.editor.onDidChangeCursorSelection((e) => this.onDidChangeCursorSelection(e))); this.toUnhook.push(this.editor.onDidChangeModel((e) => this.resetHandler())); this.toUnhook.push(this.editor.onDidChangeModelContent(() => this.resetHandler())); this.toUnhook.push(this.editor.onDidScrollChange((e) => { @@ -246,6 +246,12 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC })); } + private onDidChangeCursorSelection(e: editorCommon.ICursorSelectionChangedEvent): void { + if (e.selection && e.selection.startColumn !== e.selection.endColumn) { + this.resetHandler(); // immediately stop this feature if the user starts to select (https://github.com/Microsoft/vscode/issues/7827) + } + } + private onEditorMouseMove(mouseEvent: IEditorMouseEvent, withKey?: IKeyboardEvent): void { this.lastMouseMoveEvent = mouseEvent; diff --git a/src/vs/workbench/browser/parts/editor/media/editorPicker.css b/src/vs/workbench/browser/parts/editor/media/editorPicker.css index a72a6f86863..77daa11a130 100644 --- a/src/vs/workbench/browser/parts/editor/media/editorPicker.css +++ b/src/vs/workbench/browser/parts/editor/media/editorPicker.css @@ -5,5 +5,8 @@ .monaco-workbench .quick-open-widget .quick-open-tree .quick-open-entry.editor-preview { font-style: italic; - padding-left: 1px; /* we need to push the label a bit to accomodate for the italic style */ +} + +.monaco-workbench.mac .quick-open-widget .quick-open-tree .quick-open-entry.editor-preview { + font-weight: 300; /* makes the italic font appear the same as normal */ } \ No newline at end of file diff --git a/src/vs/workbench/browser/parts/editor/media/titlecontrol.css b/src/vs/workbench/browser/parts/editor/media/titlecontrol.css index 364e5893291..cfb5918164b 100644 --- a/src/vs/workbench/browser/parts/editor/media/titlecontrol.css +++ b/src/vs/workbench/browser/parts/editor/media/titlecontrol.css @@ -12,6 +12,11 @@ font-style: italic; } +.monaco-workbench.mac > .part.editor > .content > .one-editor-container > .title .title-label, +.monaco-workbench.mac > .part.editor > .content > .one-editor-container > .title .tabs-container > .tab .tab-label { + font-weight: 300; /* makes the italic font appear the same as normal */ +} + .monaco-workbench > .part.editor > .content > .one-editor-container > .title.pinned .title-label, .monaco-workbench > .part.editor > .content > .one-editor-container > .title .tabs-container > .tab.pinned .tab-label { font-style: normal; diff --git a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts index f2fa2c14800..2ec45d59961 100644 --- a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts +++ b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts @@ -190,7 +190,7 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti private onExtensionsReady(): void { // Up to date title areas - POSITIONS.forEach(position => this.titleAreaControl[position].refresh()); + POSITIONS.forEach(position => this.titleAreaControl[position].update()); } private onStacksChanged(e: IStacksModelChangeEvent): void { diff --git a/src/vs/workbench/browser/workbench.ts b/src/vs/workbench/browser/workbench.ts index 8f4f8bf4021..6ff4717f0d8 100644 --- a/src/vs/workbench/browser/workbench.ts +++ b/src/vs/workbench/browser/workbench.ts @@ -19,6 +19,7 @@ import timer = require('vs/base/common/timer'); import errors = require('vs/base/common/errors'); import {Registry} from 'vs/platform/platform'; import {Identifiers} from 'vs/workbench/common/constants'; +import {isWindows, isLinux} from 'vs/base/common/platform'; import {IOptions} from 'vs/workbench/common/options'; import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions'; import {IEditorRegistry, Extensions as EditorExtensions, BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor'; @@ -699,7 +700,7 @@ export class Workbench implements IPartService { // Create Workbench DIV Off-DOM this.workbenchContainer = $('.monaco-workbench-container'); - this.workbench = $().div({ 'class': 'monaco-workbench', id: Identifiers.WORKBENCH_CONTAINER }).appendTo(this.workbenchContainer); + this.workbench = $().div({ 'class': 'monaco-workbench ' + (isWindows ? 'windows' : isLinux ? 'linux' : 'mac'), id: Identifiers.WORKBENCH_CONTAINER }).appendTo(this.workbenchContainer); } private renderWorkbench(): void { diff --git a/src/vs/workbench/parts/debug/browser/media/debug.contribution.css b/src/vs/workbench/parts/debug/browser/media/debug.contribution.css index dd878b9d291..bbc3bd344d8 100644 --- a/src/vs/workbench/parts/debug/browser/media/debug.contribution.css +++ b/src/vs/workbench/parts/debug/browser/media/debug.contribution.css @@ -186,6 +186,10 @@ font-style: italic; } +.monaco-workbench.mac .monaco-tree-row .expression .unavailable { + font-weight: 300; /* makes the italic font appear the same as normal */ +} + .monaco-workbench .monaco-tree-row:not(.selected) .expression .error { color: #E51400; } diff --git a/src/vs/workbench/parts/debug/browser/media/debugViewlet.css b/src/vs/workbench/parts/debug/browser/media/debugViewlet.css index 530cd0f0db3..6b901131176 100644 --- a/src/vs/workbench/parts/debug/browser/media/debugViewlet.css +++ b/src/vs/workbench/parts/debug/browser/media/debugViewlet.css @@ -197,6 +197,11 @@ overflow: hidden; } +.monaco-workbench.mac .debug-viewlet .debug-call-stack .load-more, +.monaco-workbench.mac .debug-viewlet .debug-call-stack .error { + font-weight: 300; /* makes the italic font appear the same as normal */ +} + /* Variables & Expression view */ .debug-viewlet .scope { diff --git a/src/vs/workbench/parts/files/browser/media/explorerviewlet.css b/src/vs/workbench/parts/files/browser/media/explorerviewlet.css index 620a4fa29cb..8aae35cae5f 100644 --- a/src/vs/workbench/parts/files/browser/media/explorerviewlet.css +++ b/src/vs/workbench/parts/files/browser/media/explorerviewlet.css @@ -111,11 +111,10 @@ .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row .open-editor.preview { font-style: italic; - padding-left: 1px; /* we need to push the label a bit to accomodate for the italic style */ } -.explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row > .content > .open-editor.preview { - margin-left: 0px; /* accomodate for 1px padding */ +.monaco-workbench.mac .explorer-viewlet .explorer-open-editors .monaco-tree .monaco-tree-row .open-editor.preview { + font-weight: 300; /* makes the italic font appear the same as normal */ } /* Theming */ diff --git a/src/vs/workbench/parts/git/browser/media/git.contribution.css b/src/vs/workbench/parts/git/browser/media/git.contribution.css index f31afc141a2..6f8d3b64277 100644 --- a/src/vs/workbench/parts/git/browser/media/git.contribution.css +++ b/src/vs/workbench/parts/git/browser/media/git.contribution.css @@ -224,4 +224,8 @@ .monaco-shell .git-statusbar-group > .git-statusbar-branch-item.headless { font-style: italic; +} + +.monaco-shell .monaco-workbench.mac .git-statusbar-group > .git-statusbar-branch-item.headless { + font-weight: 300; /* makes the italic font appear the same as normal */ } \ No newline at end of file diff --git a/src/vs/workbench/parts/search/browser/media/searchviewlet.css b/src/vs/workbench/parts/search/browser/media/searchviewlet.css index 786910a617d..4e2752c00d4 100644 --- a/src/vs/workbench/parts/search/browser/media/searchviewlet.css +++ b/src/vs/workbench/parts/search/browser/media/searchviewlet.css @@ -209,6 +209,11 @@ hc-black .search-viewlet .action-replace, font-style: italic; } +.monaco-workbench.mac .search-viewlet .label, +.monaco-workbench.mac .search-viewlet .linematch.changedOrRemoved { + font-weight: 300; /* makes the italic font appear the same as normal */ +} + .search-viewlet .monaco-count-badge { margin-right: 12px; }