/
githubmirror
/
tabby
Обзор
Документация
Войти
/
githubmirror
/
tabby
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tabby-settings/src/buttonProvider.ts
43 строки
1 KB
Eugene Pankov
Translation infrastructure
08 янв 2022, 18:03
Не верифицирован
08 янв 2022, 18:03
0814d44
Код
Авторство
О чём код?
import { Injectable } from '@angular/core' import { ToolbarButtonProvider, ToolbarButton, AppService, HostAppService, HotkeysService, TranslateService } from 'tabby-core' import { SettingsTabComponent } from './components/settingsTab.component' /** @hidden */ @Injectable() export class ButtonProvider extends ToolbarButtonProvider { constructor ( hostApp: HostAppService, hotkeys: HotkeysService, private app: AppService, private translate: TranslateService, ) { super() hostApp.settingsUIRequest$.subscribe(() => this.open()) hotkeys.hotkey$.subscribe(async (hotkey) => { if (hotkey === 'settings') { this.open() } }) } provide (): ToolbarButton[] { return [{ icon: require('./icons/cog.svg'), title: this.translate.instant('Settings'), touchBarNSImage: 'NSTouchBarComposeTemplate', weight: 10, click: (): void => this.open(), }] } open (): void { const settingsTab = this.app.tabs.find(tab => tab instanceof SettingsTabComponent) if (settingsTab) { this.app.selectTab(settingsTab) } else { this.app.openNewTabRaw({ type: SettingsTabComponent }) } } }