feat(settings): Eugeny/tabby#8680 configurable priotity on quick connect profile selector option

This commit is contained in:
Clem 2023-07-18 14:10:31 +02:00
parent aba773b546
commit d36b2b21c9
4 changed files with 20 additions and 0 deletions

View file

@ -54,3 +54,4 @@ hacks:
disableVibrancyWhileDragging: false
enableFluentBackground: false
language: null
defaultQuickConnectProvider: "ssh"

View file

@ -183,6 +183,7 @@ export class ProfilesService {
freeInputPattern: this.translate.instant('Connect to "%s"...'),
description: `(${provider.name.toUpperCase()})`,
icon: 'fas fa-arrow-right',
weight: provider.id !== this.config.store.defaultQuickConnectProvider ? 1 : 0,
callback: query => {
const profile = provider.quickConnect(query)
resolve(profile)

View file

@ -149,6 +149,20 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
option(ngValue='wt', translation) Windows Terminal
option(ngValue='cygwin', translation) Cygwin
.form-line
.header
.title(translate) Default "Connect to" type
.description(translate) Default connection type used by quick connect feature (ex. SSH, Telnet)
select.form-control(
[(ngModel)]='config.store.defaultQuickConnectProvider',
(ngModelChange)='config.save()',
)
option(
*ngFor='let provider of getQuickConnectProviders()',
[ngValue]='provider.id'
) {{provider.name}}
.form-line.content-box
.header
.title(translate) Default profile settings

View file

@ -312,4 +312,8 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
isProfileBlacklisted (profile: PartialProfile<Profile>): boolean {
return profile.id && this.config.store.profileBlacklist.includes(profile.id)
}
getQuickConnectProviders (): ProfileProvider<Profile>[] {
return this.profileProviders.filter(x => x.supportsQuickConnect)
}
}