Skip to content

Commit 71ecd65

Browse files
committed
feat: add an Open SSH button for SSH on tab header menu. close #643
1 parent 643909d commit 71ecd65

16 files changed

+34
-9
lines changed

Shawn.Utils

Ui/Model/ProtocolActionHelper.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,18 +151,30 @@ public static List<ProtocolAction> GetActions(this ProtocolBase server, bool for
151151
AppStartupHelper.InstallDesktopShortcutByUlid(server.DisplayName, new[] { server.Id }, iconPath);
152152
}));
153153

154-
if (forTabHeader)
154+
155+
if (server is SSH ssh)
155156
{
156-
if (server is SSH ssh)
157+
actions.Add(new ProtocolAction(IoC.Translate("Open SFTP"), () =>
157158
{
158-
actions.Add(new ProtocolAction(IoC.Translate("Create desktop shortcut"), () =>
159+
var protocolClone = ssh.Clone();
160+
// open SFTP when SSH is connected.
161+
var tmpRunner = ProtocolHelper.GetRunner(IoC.Get<ProtocolConfigurationService>(), protocolClone, SFTP.ProtocolName);
162+
var sftp = new SFTP
159163
{
160-
var iconPath = AppStartupHelper.MakeIcon(server.Id, server.IconImg);
161-
AppStartupHelper.InstallDesktopShortcutByUlid(server.DisplayName, new[] { server.Id }, iconPath);
162-
}));
163-
}
164+
ColorHex = ssh.ColorHex,
165+
IconBase64 = ssh.IconBase64,
166+
DisplayName = ssh.DisplayName + " (SFTP)",
167+
Address = ssh.Address,
168+
Port = ssh.Port,
169+
UserName = ssh.UserName,
170+
Password = ssh.Password,
171+
PrivateKey = ssh.PrivateKey
172+
};
173+
IoC.Get<SessionControlService>().ConnectWithTab(sftp, tmpRunner, "");
174+
}));
164175
}
165176

177+
166178
#endregion Build Actions
167179

168180
return actions;

Ui/Resources/Languages/cs-cz.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">Použít soukromý klíč</s:String>
138138
<s:String x:Key="Private key">Soukromý klíč</s:String>
139139
<s:String x:Key="Open SFTP when connected">Při připojení otevřít SFTP</s:String>
140+
<s:String x:Key="Open SFTP">Otevřete SFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">Vzdálená plocha na celou obrazovku</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">Vypnout</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">Zapnout (jeden monitor)</s:String>

Ui/Resources/Languages/de-de.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">Benutze privaten Schlüssel</s:String>
138138
<s:String x:Key="Private key">Privater Schlüssel</s:String>
139139
<s:String x:Key="Open SFTP when connected">Öffnen Sie SFTP beim Anschluss</s:String>
140+
<s:String x:Key="Open SFTP">Öffnen Sie SFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">Vollbild</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">Deaktivieren</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">Aktivieren (Einzel-Monitor)</s:String>

Ui/Resources/Languages/en-us.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">Use private key</s:String>
138138
<s:String x:Key="Private key">Private key</s:String>
139139
<s:String x:Key="Open SFTP when connected">Open SFTP when connected</s:String>
140+
<s:String x:Key="Open SFTP">Open SFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">Full screen remote desktop</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">Disable</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">Enable (single monitor)</s:String>

Ui/Resources/Languages/fr-fr.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">utiliser la clé privée</s:String>
138138
<s:String x:Key="Private key">Clé privée</s:String>
139139
<s:String x:Key="Open SFTP when connected">Ouvrir SFTP lorsqu'il est connecté</s:String>
140+
<s:String x:Key="Open SFTP">Ouvrir SFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">Plein écran</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">Désactiver</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">Activer (moniteur unique)</s:String>

Ui/Resources/Languages/gl-es.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">Usar chave privada</s:String>
138138
<s:String x:Key="Private key">Chave privada</s:String>
139139
<s:String x:Key="Open SFTP when connected">Abrir SFTP cando se conecte</s:String>
140+
<s:String x:Key="Open SFTP">Abre SFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">Pantalla completa do escritorio remoto</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">Deshabilitar</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">Habilitar (unha soa pantalla)</s:String>

Ui/Resources/Languages/glossary.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ Run bat after disconnected;Run bat after disconnected(e.g. run 'C:\CloseSshTunne
136136
Use private key;Use private key;使用私钥连接;Použít soukromý klíč;Benutze privaten Schlüssel;utiliser la clé privée;Usar chave privada;;使用私密金鑰連線;Usar chave privada;Użyj klucza prywatnego;Использовать закрытый ключ
137137
Private key;Private key;私钥;Soukromý klíč;Privater Schlüssel;Clé privée;Chave privada;;私密金鑰;Chave privada;Klucz prywatny;Закрытый ключ
138138
Open SFTP when connected;Open SFTP when connected;同时打开 SFTP;Při připojení otevřít SFTP;Öffnen Sie SFTP beim Anschluss;Ouvrir SFTP lorsqu'il est connecté;Abra o SFTP quando conectado;;同時連線 SFTP;Abrir SFTP cando se conecte;Otwórz SFTP podczas połączenia;Открыть SFTP при подключении
139+
Open SFTP;Open SFTP;打开 SFTP;;;;;;;;;
139140
server_editor_display_full_screen_flag;Full screen remote desktop;全屏模式;Vzdálená plocha na celou obrazovku;Vollbild;Plein écran;Área de trabalho remota em tela cheia;;全螢幕;Pantalla completa do escritorio remoto;Tryb pełnoekranowy;Полноэкранный удаленный рабочий стол
140141
server_editor_display_full_screen_flag_window;Disable;禁用;Vypnout;Deaktivieren;Désactiver;Desativar;;停用;Deshabilitar;Dezaktywuj;Выключить
141142
server_editor_display_full_screen_flag_full_screen;Enable (single monitor);允许(单显示器);Zapnout (jeden monitor);Aktivieren (Einzel-Monitor);Activer (moniteur unique);Ativar (monitor único);;啟用 (單一顯示器);Habilitar (unha soa pantalla);Aktywuj (jeden monitor);Включить (один монитор)

Ui/Resources/Languages/glossary_translated_by_google.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ Run bat after disconnected;Run bat after disconnected(e.g. run 'C:\CloseSshTunne
136136
Use private key;Use private key;使用私钥连接;Použít soukromý klíč;Benutze privaten Schlüssel;utiliser la clé privée;Usar chave privada;秘密キーを使用する;使用私密金鑰連線;Usar chave privada;Użyj klucza prywatnego;Использовать закрытый ключ
137137
Private key;Private key;私钥;Soukromý klíč;Privater Schlüssel;Clé privée;Chave privada;秘密鍵;私密金鑰;Chave privada;Klucz prywatny;Закрытый ключ
138138
Open SFTP when connected;Open SFTP when connected;同时打开 SFTP;Při připojení otevřít SFTP;Öffnen Sie SFTP beim Anschluss;Ouvrir SFTP lorsqu'il est connecté;Abra o SFTP quando conectado;接続時にSFTPを開く;同時連線 SFTP;Abrir SFTP cando se conecte;Otwórz SFTP podczas połączenia;Открыть SFTP при подключении
139+
Open SFTP;Open SFTP;打开 SFTP;Otevřete SFTP;Öffnen Sie SFTP;Ouvrir SFTP;Abrir SFTP;オープンSFTP;打開SFTP;Abre SFTP;Otwórz SFTP;Открыть SFTP
139140
server_editor_display_full_screen_flag;Full screen remote desktop;全屏模式;Vzdálená plocha na celou obrazovku;Vollbild;Plein écran;Área de trabalho remota em tela cheia;全画面リモートデスクトップ;全螢幕;Pantalla completa do escritorio remoto;Tryb pełnoekranowy;Полноэкранный удаленный рабочий стол
140141
server_editor_display_full_screen_flag_window;Disable;禁用;Vypnout;Deaktivieren;Désactiver;Desativar;無効にする;停用;Deshabilitar;Dezaktywuj;Выключить
141142
server_editor_display_full_screen_flag_full_screen;Enable (single monitor);允许(单显示器);Zapnout (jeden monitor);Aktivieren (Einzel-Monitor);Activer (moniteur unique);Ativar (monitor único);有効にする (シングルモニター);啟用 (單一顯示器);Habilitar (unha soa pantalla);Aktywuj (jeden monitor);Включить (один монитор)

Ui/Resources/Languages/ja-jp.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
<s:String x:Key="Use private key">秘密キーを使用する</s:String>
138138
<s:String x:Key="Private key">秘密鍵</s:String>
139139
<s:String x:Key="Open SFTP when connected">接続時にSFTPを開く</s:String>
140+
<s:String x:Key="Open SFTP">オープンSFTP</s:String>
140141
<s:String x:Key="server_editor_display_full_screen_flag">全画面リモートデスクトップ</s:String>
141142
<s:String x:Key="server_editor_display_full_screen_flag_window">無効にする</s:String>
142143
<s:String x:Key="server_editor_display_full_screen_flag_full_screen">有効にする (シングルモニター)</s:String>

0 commit comments

Comments
 (0)