提交 c109f9a5 编写于 作者: M Miguel Solorio

Use background color for input toggle active state

上级 0a8ca638
...@@ -22,10 +22,12 @@ export interface ICheckboxOpts extends ICheckboxStyles { ...@@ -22,10 +22,12 @@ export interface ICheckboxOpts extends ICheckboxStyles {
export interface ICheckboxStyles { export interface ICheckboxStyles {
inputActiveOptionBorder?: Color; inputActiveOptionBorder?: Color;
inputActiveOptionBackground?: Color;
} }
const defaultOpts = { const defaultOpts = {
inputActiveOptionBorder: Color.fromHex('#007ACC') inputActiveOptionBorder: Color.fromHex('#007ACC00'),
inputActiveOptionBackground: Color.fromHex('#0E639C50')
}; };
export class CheckboxActionViewItem extends BaseActionViewItem { export class CheckboxActionViewItem extends BaseActionViewItem {
...@@ -149,12 +151,16 @@ export class Checkbox extends Widget { ...@@ -149,12 +151,16 @@ export class Checkbox extends Widget {
if (styles.inputActiveOptionBorder) { if (styles.inputActiveOptionBorder) {
this._opts.inputActiveOptionBorder = styles.inputActiveOptionBorder; this._opts.inputActiveOptionBorder = styles.inputActiveOptionBorder;
} }
if (styles.inputActiveOptionBackground) {
this._opts.inputActiveOptionBackground = styles.inputActiveOptionBackground;
}
this.applyStyles(); this.applyStyles();
} }
protected applyStyles(): void { protected applyStyles(): void {
if (this.domNode) { if (this.domNode) {
this.domNode.style.borderColor = this._checked && this._opts.inputActiveOptionBorder ? this._opts.inputActiveOptionBorder.toString() : 'transparent'; this.domNode.style.borderColor = this._checked && this._opts.inputActiveOptionBorder ? this._opts.inputActiveOptionBorder.toString() : 'transparent';
this.domNode.style.backgroundColor = this._checked && this._opts.inputActiveOptionBackground ? this._opts.inputActiveOptionBackground.toString() : 'transparent';
} }
} }
......
...@@ -33,6 +33,7 @@ export interface IFindInputOptions extends IFindInputStyles { ...@@ -33,6 +33,7 @@ export interface IFindInputOptions extends IFindInputStyles {
export interface IFindInputStyles extends IInputBoxStyles { export interface IFindInputStyles extends IInputBoxStyles {
inputActiveOptionBorder?: Color; inputActiveOptionBorder?: Color;
inputActiveOptionBackground?: Color;
} }
const NLS_DEFAULT_LABEL = nls.localize('defaultLabel', "input"); const NLS_DEFAULT_LABEL = nls.localize('defaultLabel', "input");
...@@ -48,6 +49,7 @@ export class FindInput extends Widget { ...@@ -48,6 +49,7 @@ export class FindInput extends Widget {
private fixFocusOnOptionClickEnabled = true; private fixFocusOnOptionClickEnabled = true;
private inputActiveOptionBorder?: Color; private inputActiveOptionBorder?: Color;
private inputActiveOptionBackground?: Color;
private inputBackground?: Color; private inputBackground?: Color;
private inputForeground?: Color; private inputForeground?: Color;
private inputBorder?: Color; private inputBorder?: Color;
...@@ -97,6 +99,7 @@ export class FindInput extends Widget { ...@@ -97,6 +99,7 @@ export class FindInput extends Widget {
this.label = options.label || NLS_DEFAULT_LABEL; this.label = options.label || NLS_DEFAULT_LABEL;
this.inputActiveOptionBorder = options.inputActiveOptionBorder; this.inputActiveOptionBorder = options.inputActiveOptionBorder;
this.inputActiveOptionBackground = options.inputActiveOptionBackground;
this.inputBackground = options.inputBackground; this.inputBackground = options.inputBackground;
this.inputForeground = options.inputForeground; this.inputForeground = options.inputForeground;
this.inputBorder = options.inputBorder; this.inputBorder = options.inputBorder;
...@@ -173,6 +176,7 @@ export class FindInput extends Widget { ...@@ -173,6 +176,7 @@ export class FindInput extends Widget {
public style(styles: IFindInputStyles): void { public style(styles: IFindInputStyles): void {
this.inputActiveOptionBorder = styles.inputActiveOptionBorder; this.inputActiveOptionBorder = styles.inputActiveOptionBorder;
this.inputActiveOptionBackground = styles.inputActiveOptionBackground;
this.inputBackground = styles.inputBackground; this.inputBackground = styles.inputBackground;
this.inputForeground = styles.inputForeground; this.inputForeground = styles.inputForeground;
this.inputBorder = styles.inputBorder; this.inputBorder = styles.inputBorder;
...@@ -194,6 +198,7 @@ export class FindInput extends Widget { ...@@ -194,6 +198,7 @@ export class FindInput extends Widget {
if (this.domNode) { if (this.domNode) {
const checkBoxStyles: ICheckboxStyles = { const checkBoxStyles: ICheckboxStyles = {
inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionBorder: this.inputActiveOptionBorder,
inputActiveOptionBackground: this.inputActiveOptionBackground,
}; };
this.regex.style(checkBoxStyles); this.regex.style(checkBoxStyles);
this.wholeWords.style(checkBoxStyles); this.wholeWords.style(checkBoxStyles);
...@@ -294,7 +299,8 @@ export class FindInput extends Widget { ...@@ -294,7 +299,8 @@ export class FindInput extends Widget {
this.regex = this._register(new RegexCheckbox({ this.regex = this._register(new RegexCheckbox({
appendTitle: appendRegexLabel, appendTitle: appendRegexLabel,
isChecked: false, isChecked: false,
inputActiveOptionBorder: this.inputActiveOptionBorder inputActiveOptionBorder: this.inputActiveOptionBorder,
inputActiveOptionBackground: this.inputActiveOptionBackground
})); }));
this._register(this.regex.onChange(viaKeyboard => { this._register(this.regex.onChange(viaKeyboard => {
this._onDidOptionChange.fire(viaKeyboard); this._onDidOptionChange.fire(viaKeyboard);
...@@ -310,7 +316,8 @@ export class FindInput extends Widget { ...@@ -310,7 +316,8 @@ export class FindInput extends Widget {
this.wholeWords = this._register(new WholeWordsCheckbox({ this.wholeWords = this._register(new WholeWordsCheckbox({
appendTitle: appendWholeWordsLabel, appendTitle: appendWholeWordsLabel,
isChecked: false, isChecked: false,
inputActiveOptionBorder: this.inputActiveOptionBorder inputActiveOptionBorder: this.inputActiveOptionBorder,
inputActiveOptionBackground: this.inputActiveOptionBackground
})); }));
this._register(this.wholeWords.onChange(viaKeyboard => { this._register(this.wholeWords.onChange(viaKeyboard => {
this._onDidOptionChange.fire(viaKeyboard); this._onDidOptionChange.fire(viaKeyboard);
...@@ -323,7 +330,8 @@ export class FindInput extends Widget { ...@@ -323,7 +330,8 @@ export class FindInput extends Widget {
this.caseSensitive = this._register(new CaseSensitiveCheckbox({ this.caseSensitive = this._register(new CaseSensitiveCheckbox({
appendTitle: appendCaseSensitiveLabel, appendTitle: appendCaseSensitiveLabel,
isChecked: false, isChecked: false,
inputActiveOptionBorder: this.inputActiveOptionBorder inputActiveOptionBorder: this.inputActiveOptionBorder,
inputActiveOptionBackground: this.inputActiveOptionBackground
})); }));
this._register(this.caseSensitive.onChange(viaKeyboard => { this._register(this.caseSensitive.onChange(viaKeyboard => {
this._onDidOptionChange.fire(viaKeyboard); this._onDidOptionChange.fire(viaKeyboard);
......
...@@ -12,6 +12,7 @@ export interface IFindInputCheckboxOpts { ...@@ -12,6 +12,7 @@ export interface IFindInputCheckboxOpts {
readonly appendTitle: string; readonly appendTitle: string;
readonly isChecked: boolean; readonly isChecked: boolean;
readonly inputActiveOptionBorder?: Color; readonly inputActiveOptionBorder?: Color;
readonly inputActiveOptionBackground?: Color;
} }
const NLS_CASE_SENSITIVE_CHECKBOX_LABEL = nls.localize('caseDescription', "Match Case"); const NLS_CASE_SENSITIVE_CHECKBOX_LABEL = nls.localize('caseDescription', "Match Case");
...@@ -24,7 +25,8 @@ export class CaseSensitiveCheckbox extends Checkbox { ...@@ -24,7 +25,8 @@ export class CaseSensitiveCheckbox extends Checkbox {
actionClassName: 'monaco-case-sensitive', actionClassName: 'monaco-case-sensitive',
title: NLS_CASE_SENSITIVE_CHECKBOX_LABEL + opts.appendTitle, title: NLS_CASE_SENSITIVE_CHECKBOX_LABEL + opts.appendTitle,
isChecked: opts.isChecked, isChecked: opts.isChecked,
inputActiveOptionBorder: opts.inputActiveOptionBorder inputActiveOptionBorder: opts.inputActiveOptionBorder,
inputActiveOptionBackground: opts.inputActiveOptionBackground
}); });
} }
} }
...@@ -35,7 +37,8 @@ export class WholeWordsCheckbox extends Checkbox { ...@@ -35,7 +37,8 @@ export class WholeWordsCheckbox extends Checkbox {
actionClassName: 'monaco-whole-word', actionClassName: 'monaco-whole-word',
title: NLS_WHOLE_WORD_CHECKBOX_LABEL + opts.appendTitle, title: NLS_WHOLE_WORD_CHECKBOX_LABEL + opts.appendTitle,
isChecked: opts.isChecked, isChecked: opts.isChecked,
inputActiveOptionBorder: opts.inputActiveOptionBorder inputActiveOptionBorder: opts.inputActiveOptionBorder,
inputActiveOptionBackground: opts.inputActiveOptionBackground
}); });
} }
} }
...@@ -46,7 +49,8 @@ export class RegexCheckbox extends Checkbox { ...@@ -46,7 +49,8 @@ export class RegexCheckbox extends Checkbox {
actionClassName: 'monaco-regex', actionClassName: 'monaco-regex',
title: NLS_REGEX_CHECKBOX_LABEL + opts.appendTitle, title: NLS_REGEX_CHECKBOX_LABEL + opts.appendTitle,
isChecked: opts.isChecked, isChecked: opts.isChecked,
inputActiveOptionBorder: opts.inputActiveOptionBorder inputActiveOptionBorder: opts.inputActiveOptionBorder,
inputActiveOptionBackground: opts.inputActiveOptionBackground
}); });
} }
} }
...@@ -11,7 +11,7 @@ import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPosit ...@@ -11,7 +11,7 @@ import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPosit
import { FIND_IDS } from 'vs/editor/contrib/find/findModel'; import { FIND_IDS } from 'vs/editor/contrib/find/findModel';
import { FindReplaceState } from 'vs/editor/contrib/find/findState'; import { FindReplaceState } from 'vs/editor/contrib/find/findState';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { contrastBorder, editorWidgetBackground, inputActiveOptionBorder, widgetShadow } from 'vs/platform/theme/common/colorRegistry'; import { contrastBorder, editorWidgetBackground, inputActiveOptionBorder, inputActiveOptionBackground, widgetShadow } from 'vs/platform/theme/common/colorRegistry';
import { ITheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { ITheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
export class FindOptionsWidget extends Widget implements IOverlayWidget { export class FindOptionsWidget extends Widget implements IOverlayWidget {
...@@ -47,11 +47,13 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -47,11 +47,13 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this._domNode.setAttribute('aria-hidden', 'true'); this._domNode.setAttribute('aria-hidden', 'true');
const inputActiveOptionBorderColor = themeService.getTheme().getColor(inputActiveOptionBorder); const inputActiveOptionBorderColor = themeService.getTheme().getColor(inputActiveOptionBorder);
const inputActiveOptionBackgroundColor = themeService.getTheme().getColor(inputActiveOptionBackground);
this.caseSensitive = this._register(new CaseSensitiveCheckbox({ this.caseSensitive = this._register(new CaseSensitiveCheckbox({
appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand), appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),
isChecked: this._state.matchCase, isChecked: this._state.matchCase,
inputActiveOptionBorder: inputActiveOptionBorderColor inputActiveOptionBorder: inputActiveOptionBorderColor,
inputActiveOptionBackground: inputActiveOptionBackgroundColor
})); }));
this._domNode.appendChild(this.caseSensitive.domNode); this._domNode.appendChild(this.caseSensitive.domNode);
this._register(this.caseSensitive.onChange(() => { this._register(this.caseSensitive.onChange(() => {
...@@ -63,7 +65,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -63,7 +65,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this.wholeWords = this._register(new WholeWordsCheckbox({ this.wholeWords = this._register(new WholeWordsCheckbox({
appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand), appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),
isChecked: this._state.wholeWord, isChecked: this._state.wholeWord,
inputActiveOptionBorder: inputActiveOptionBorderColor inputActiveOptionBorder: inputActiveOptionBorderColor,
inputActiveOptionBackground: inputActiveOptionBackgroundColor
})); }));
this._domNode.appendChild(this.wholeWords.domNode); this._domNode.appendChild(this.wholeWords.domNode);
this._register(this.wholeWords.onChange(() => { this._register(this.wholeWords.onChange(() => {
...@@ -75,7 +78,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -75,7 +78,8 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
this.regex = this._register(new RegexCheckbox({ this.regex = this._register(new RegexCheckbox({
appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand), appendTitle: this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),
isChecked: this._state.isRegex, isChecked: this._state.isRegex,
inputActiveOptionBorder: inputActiveOptionBorderColor inputActiveOptionBorder: inputActiveOptionBorderColor,
inputActiveOptionBackground: inputActiveOptionBackgroundColor
})); }));
this._domNode.appendChild(this.regex.domNode); this._domNode.appendChild(this.regex.domNode);
this._register(this.regex.onChange(() => { this._register(this.regex.onChange(() => {
...@@ -179,7 +183,10 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget { ...@@ -179,7 +183,10 @@ export class FindOptionsWidget extends Widget implements IOverlayWidget {
} }
private _applyTheme(theme: ITheme) { private _applyTheme(theme: ITheme) {
let inputStyles = { inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder) }; let inputStyles = {
inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder),
inputActiveOptionBackground: theme.getColor(inputActiveOptionBackground)
};
this.caseSensitive.style(inputStyles); this.caseSensitive.style(inputStyles);
this.wholeWords.style(inputStyles); this.wholeWords.style(inputStyles);
this.regex.style(inputStyles); this.regex.style(inputStyles);
......
...@@ -27,7 +27,7 @@ import { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_REPLACE_INPUT_FOCUSED, FIND_IDS, MA ...@@ -27,7 +27,7 @@ import { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_REPLACE_INPUT_FOCUSED, FIND_IDS, MA
import { FindReplaceState, FindReplaceStateChangedEvent } from 'vs/editor/contrib/find/findState'; import { FindReplaceState, FindReplaceStateChangedEvent } from 'vs/editor/contrib/find/findState';
import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { contrastBorder, editorFindMatch, editorFindMatchBorder, editorFindMatchHighlight, editorFindMatchHighlightBorder, editorFindRangeHighlight, editorFindRangeHighlightBorder, editorWidgetBackground, editorWidgetBorder, editorWidgetResizeBorder, errorForeground, inputActiveOptionBorder, inputBackground, inputBorder, inputForeground, inputValidationErrorBackground, inputValidationErrorBorder, inputValidationErrorForeground, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationWarningForeground, widgetShadow, editorWidgetForeground } from 'vs/platform/theme/common/colorRegistry'; import { contrastBorder, editorFindMatch, editorFindMatchBorder, editorFindMatchHighlight, editorFindMatchHighlightBorder, editorFindRangeHighlight, editorFindRangeHighlightBorder, editorWidgetBackground, editorWidgetBorder, editorWidgetResizeBorder, errorForeground, inputActiveOptionBorder, inputActiveOptionBackground, inputBackground, inputBorder, inputForeground, inputValidationErrorBackground, inputValidationErrorBorder, inputValidationErrorForeground, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationWarningForeground, widgetShadow, editorWidgetForeground } from 'vs/platform/theme/common/colorRegistry';
import { ITheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { ITheme, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ContextScopedFindInput, ContextScopedHistoryInputBox } from 'vs/platform/browser/contextScopedHistoryWidget'; import { ContextScopedFindInput, ContextScopedHistoryInputBox } from 'vs/platform/browser/contextScopedHistoryWidget';
import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility'; import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility';
...@@ -560,6 +560,7 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas ...@@ -560,6 +560,7 @@ export class FindWidget extends Widget implements IOverlayWidget, IHorizontalSas
private _applyTheme(theme: ITheme) { private _applyTheme(theme: ITheme) {
let inputStyles: IFindInputStyles = { let inputStyles: IFindInputStyles = {
inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder), inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder),
inputActiveOptionBackground: theme.getColor(inputActiveOptionBackground),
inputBackground: theme.getColor(inputBackground), inputBackground: theme.getColor(inputBackground),
inputForeground: theme.getColor(inputForeground), inputForeground: theme.getColor(inputForeground),
inputBorder: theme.getColor(inputBorder), inputBorder: theme.getColor(inputBorder),
......
...@@ -15,7 +15,7 @@ import { IMessage as InputBoxMessage } from 'vs/base/browser/ui/inputbox/inputBo ...@@ -15,7 +15,7 @@ import { IMessage as InputBoxMessage } from 'vs/base/browser/ui/inputbox/inputBo
import { SimpleButton } from 'vs/editor/contrib/find/findWidget'; import { SimpleButton } from 'vs/editor/contrib/find/findWidget';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { editorWidgetBackground, inputActiveOptionBorder, inputBackground, inputBorder, inputForeground, inputValidationErrorBackground, inputValidationErrorBorder, inputValidationErrorForeground, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationWarningForeground, widgetShadow } from 'vs/platform/theme/common/colorRegistry'; import { editorWidgetBackground, inputActiveOptionBorder, inputActiveOptionBackground, inputBackground, inputBorder, inputForeground, inputValidationErrorBackground, inputValidationErrorBorder, inputValidationErrorForeground, inputValidationInfoBackground, inputValidationInfoBorder, inputValidationInfoForeground, inputValidationWarningBackground, inputValidationWarningBorder, inputValidationWarningForeground, widgetShadow } from 'vs/platform/theme/common/colorRegistry';
import { ITheme, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { ITheme, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
import { ContextScopedFindInput } from 'vs/platform/browser/contextScopedHistoryWidget'; import { ContextScopedFindInput } from 'vs/platform/browser/contextScopedHistoryWidget';
...@@ -180,6 +180,7 @@ export abstract class SimpleFindWidget extends Widget { ...@@ -180,6 +180,7 @@ export abstract class SimpleFindWidget extends Widget {
public updateTheme(theme: ITheme): void { public updateTheme(theme: ITheme): void {
const inputStyles: IFindInputStyles = { const inputStyles: IFindInputStyles = {
inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder), inputActiveOptionBorder: theme.getColor(inputActiveOptionBorder),
inputActiveOptionBackground: theme.getColor(inputActiveOptionBackground),
inputBackground: theme.getColor(inputBackground), inputBackground: theme.getColor(inputBackground),
inputForeground: theme.getColor(inputForeground), inputForeground: theme.getColor(inputForeground),
inputBorder: theme.getColor(inputBorder), inputBorder: theme.getColor(inputBorder),
......
...@@ -203,7 +203,8 @@ export const widgetShadow = registerColor('widget.shadow', { dark: '#000000', li ...@@ -203,7 +203,8 @@ export const widgetShadow = registerColor('widget.shadow', { dark: '#000000', li
export const inputBackground = registerColor('input.background', { dark: '#3C3C3C', light: Color.white, hc: Color.black }, nls.localize('inputBoxBackground', "Input box background.")); export const inputBackground = registerColor('input.background', { dark: '#3C3C3C', light: Color.white, hc: Color.black }, nls.localize('inputBoxBackground', "Input box background."));
export const inputForeground = registerColor('input.foreground', { dark: foreground, light: foreground, hc: foreground }, nls.localize('inputBoxForeground', "Input box foreground.")); export const inputForeground = registerColor('input.foreground', { dark: foreground, light: foreground, hc: foreground }, nls.localize('inputBoxForeground', "Input box foreground."));
export const inputBorder = registerColor('input.border', { dark: null, light: null, hc: contrastBorder }, nls.localize('inputBoxBorder', "Input box border.")); export const inputBorder = registerColor('input.border', { dark: null, light: null, hc: contrastBorder }, nls.localize('inputBoxBorder', "Input box border."));
export const inputActiveOptionBorder = registerColor('inputOption.activeBorder', { dark: '#007ACC', light: '#007ACC', hc: activeContrastBorder }, nls.localize('inputBoxActiveOptionBorder', "Border color of activated options in input fields.")); export const inputActiveOptionBorder = registerColor('inputOption.activeBorder', { dark: '#007ACC00', light: '#007ACC00', hc: '#007ACC00' }, nls.localize('inputBoxActiveOptionBorder', "Border color of activated options in input fields."));
export const inputActiveOptionBackground = registerColor('inputOption.activeBackground', { dark: transparent(focusBorder, 0.5), light: transparent(focusBorder, 0.3), hc: activeContrastBorder }, nls.localize('inputOption.activeBackground', "Background color of activated options in input fields."));
export const inputPlaceholderForeground = registerColor('input.placeholderForeground', { light: transparent(foreground, 0.5), dark: transparent(foreground, 0.5), hc: transparent(foreground, 0.7) }, nls.localize('inputPlaceholderForeground', "Input box foreground color for placeholder text.")); export const inputPlaceholderForeground = registerColor('input.placeholderForeground', { light: transparent(foreground, 0.5), dark: transparent(foreground, 0.5), hc: transparent(foreground, 0.7) }, nls.localize('inputPlaceholderForeground', "Input box foreground color for placeholder text."));
export const inputValidationInfoBackground = registerColor('inputValidation.infoBackground', { dark: '#063B49', light: '#D6ECF2', hc: Color.black }, nls.localize('inputValidationInfoBackground', "Input validation background color for information severity.")); export const inputValidationInfoBackground = registerColor('inputValidation.infoBackground', { dark: '#063B49', light: '#D6ECF2', hc: Color.black }, nls.localize('inputValidationInfoBackground', "Input validation background color for information severity."));
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { ITheme, IThemeService } from 'vs/platform/theme/common/themeService'; import { ITheme, IThemeService } from 'vs/platform/theme/common/themeService';
import { focusBorder, inputBackground, inputForeground, ColorIdentifier, selectForeground, selectBackground, selectListBackground, selectBorder, inputBorder, foreground, editorBackground, contrastBorder, inputActiveOptionBorder, listFocusBackground, listFocusForeground, listActiveSelectionBackground, listActiveSelectionForeground, listInactiveSelectionForeground, listInactiveSelectionBackground, listInactiveFocusBackground, listHoverBackground, listHoverForeground, listDropBackground, pickerGroupBorder, pickerGroupForeground, widgetShadow, inputValidationInfoBorder, inputValidationInfoBackground, inputValidationWarningBorder, inputValidationWarningBackground, inputValidationErrorBorder, inputValidationErrorBackground, activeContrastBorder, buttonForeground, buttonBackground, buttonHoverBackground, ColorFunction, badgeBackground, badgeForeground, progressBarBackground, breadcrumbsForeground, breadcrumbsFocusForeground, breadcrumbsActiveSelectionForeground, breadcrumbsBackground, editorWidgetBorder, inputValidationInfoForeground, inputValidationWarningForeground, inputValidationErrorForeground, menuForeground, menuBackground, menuSelectionForeground, menuSelectionBackground, menuSelectionBorder, menuBorder, menuSeparatorBackground, darken, listFilterWidgetOutline, listFilterWidgetNoMatchesOutline, listFilterWidgetBackground, editorWidgetBackground, treeIndentGuidesStroke, editorWidgetForeground } from 'vs/platform/theme/common/colorRegistry'; import { focusBorder, inputBackground, inputForeground, ColorIdentifier, selectForeground, selectBackground, selectListBackground, selectBorder, inputBorder, foreground, editorBackground, contrastBorder, inputActiveOptionBorder, inputActiveOptionBackground, listFocusBackground, listFocusForeground, listActiveSelectionBackground, listActiveSelectionForeground, listInactiveSelectionForeground, listInactiveSelectionBackground, listInactiveFocusBackground, listHoverBackground, listHoverForeground, listDropBackground, pickerGroupBorder, pickerGroupForeground, widgetShadow, inputValidationInfoBorder, inputValidationInfoBackground, inputValidationWarningBorder, inputValidationWarningBackground, inputValidationErrorBorder, inputValidationErrorBackground, activeContrastBorder, buttonForeground, buttonBackground, buttonHoverBackground, ColorFunction, badgeBackground, badgeForeground, progressBarBackground, breadcrumbsForeground, breadcrumbsFocusForeground, breadcrumbsActiveSelectionForeground, breadcrumbsBackground, editorWidgetBorder, inputValidationInfoForeground, inputValidationWarningForeground, inputValidationErrorForeground, menuForeground, menuBackground, menuSelectionForeground, menuSelectionBackground, menuSelectionBorder, menuBorder, menuSeparatorBackground, darken, listFilterWidgetOutline, listFilterWidgetNoMatchesOutline, listFilterWidgetBackground, editorWidgetBackground, treeIndentGuidesStroke, editorWidgetForeground } from 'vs/platform/theme/common/colorRegistry';
import { IDisposable } from 'vs/base/common/lifecycle'; import { IDisposable } from 'vs/base/common/lifecycle';
import { Color } from 'vs/base/common/color'; import { Color } from 'vs/base/common/color';
import { mixin } from 'vs/base/common/objects'; import { mixin } from 'vs/base/common/objects';
...@@ -59,11 +59,13 @@ export function attachStyler<T extends IColorMapping>(themeService: IThemeServic ...@@ -59,11 +59,13 @@ export function attachStyler<T extends IColorMapping>(themeService: IThemeServic
export interface ICheckboxStyleOverrides extends IStyleOverrides { export interface ICheckboxStyleOverrides extends IStyleOverrides {
inputActiveOptionBorderColor?: ColorIdentifier; inputActiveOptionBorderColor?: ColorIdentifier;
inputActiveOptionBackgroundColor?: ColorIdentifier;
} }
export function attachCheckboxStyler(widget: IThemable, themeService: IThemeService, style?: ICheckboxStyleOverrides): IDisposable { export function attachCheckboxStyler(widget: IThemable, themeService: IThemeService, style?: ICheckboxStyleOverrides): IDisposable {
return attachStyler(themeService, { return attachStyler(themeService, {
inputActiveOptionBorder: (style && style.inputActiveOptionBorderColor) || inputActiveOptionBorder inputActiveOptionBorder: (style && style.inputActiveOptionBorderColor) || inputActiveOptionBorder,
inputActiveOptionBackground: (style && style.inputActiveOptionBackgroundColor) || inputActiveOptionBackground
} as ICheckboxStyleOverrides, widget); } as ICheckboxStyleOverrides, widget);
} }
...@@ -85,6 +87,7 @@ export interface IInputBoxStyleOverrides extends IStyleOverrides { ...@@ -85,6 +87,7 @@ export interface IInputBoxStyleOverrides extends IStyleOverrides {
inputForeground?: ColorIdentifier; inputForeground?: ColorIdentifier;
inputBorder?: ColorIdentifier; inputBorder?: ColorIdentifier;
inputActiveOptionBorder?: ColorIdentifier; inputActiveOptionBorder?: ColorIdentifier;
inputActiveOptionBackground?: ColorIdentifier;
inputValidationInfoBorder?: ColorIdentifier; inputValidationInfoBorder?: ColorIdentifier;
inputValidationInfoBackground?: ColorIdentifier; inputValidationInfoBackground?: ColorIdentifier;
inputValidationInfoForeground?: ColorIdentifier; inputValidationInfoForeground?: ColorIdentifier;
...@@ -146,6 +149,7 @@ export function attachFindInputBoxStyler(widget: IThemable, themeService: ITheme ...@@ -146,6 +149,7 @@ export function attachFindInputBoxStyler(widget: IThemable, themeService: ITheme
inputForeground: (style && style.inputForeground) || inputForeground, inputForeground: (style && style.inputForeground) || inputForeground,
inputBorder: (style && style.inputBorder) || inputBorder, inputBorder: (style && style.inputBorder) || inputBorder,
inputActiveOptionBorder: (style && style.inputActiveOptionBorder) || inputActiveOptionBorder, inputActiveOptionBorder: (style && style.inputActiveOptionBorder) || inputActiveOptionBorder,
inputActiveOptionBackground: (style && style.inputActiveOptionBackground) || inputActiveOptionBackground,
inputValidationInfoBorder: (style && style.inputValidationInfoBorder) || inputValidationInfoBorder, inputValidationInfoBorder: (style && style.inputValidationInfoBorder) || inputValidationInfoBorder,
inputValidationInfoBackground: (style && style.inputValidationInfoBackground) || inputValidationInfoBackground, inputValidationInfoBackground: (style && style.inputValidationInfoBackground) || inputValidationInfoBackground,
inputValidationInfoForeground: (style && style.inputValidationInfoForeground) || inputValidationInfoForeground, inputValidationInfoForeground: (style && style.inputValidationInfoForeground) || inputValidationInfoForeground,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册