/******************************************************************************** * Copyright (C) 2019 TypeFox and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { injectable, inject, postConstruct } from 'inversify'; import { ContextKeyService, ContextKey } from '@theia/core/lib/browser/context-key-service'; @injectable() export class NavigatorContextKeyService { @inject(ContextKeyService) protected readonly contextKeyService: ContextKeyService; protected _explorerViewletVisible: ContextKey; get explorerViewletVisible(): ContextKey { return this._explorerViewletVisible; } protected _explorerViewletFocus: ContextKey; /** True if Explorer view has keyboard focus. */ get explorerViewletFocus(): ContextKey { return this._explorerViewletFocus; } protected _filesExplorerFocus: ContextKey; /** True if File Explorer section has keyboard focus. */ get filesExplorerFocus(): ContextKey { return this._filesExplorerFocus; } protected _explorerResourceIsFolder: ContextKey; get explorerResourceIsFolder(): ContextKey { return this._explorerResourceIsFolder; } @postConstruct() protected init(): void { this._explorerViewletVisible = this.contextKeyService.createKey('explorerViewletVisible', false); this._explorerViewletFocus = this.contextKeyService.createKey('explorerViewletFocus', false); this._filesExplorerFocus = this.contextKeyService.createKey('filesExplorerFocus', false); this._explorerResourceIsFolder = this.contextKeyService.createKey('explorerResourceIsFolder', false); } }