mirror of
https://github.com/Eugeny/tabby.git
synced 2026-08-24 10:14:31 -05:00
Add SFTP context menu download for files (#10971)
This commit is contained in:
+1
-2
@@ -710,7 +710,7 @@ msgstr "Abaixo"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:43
|
||||
msgid "Download"
|
||||
msgstr "Transferir"
|
||||
msgstr "Download"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Draw bold text in bright colors"
|
||||
@@ -2571,4 +2571,3 @@ msgstr "Diminuir zoom"
|
||||
msgctxt "[Dynamic] port forwarding"
|
||||
msgid "id.port-forwarding.dynamic"
|
||||
msgstr "Dinâmico"
|
||||
|
||||
|
||||
@@ -170,6 +170,26 @@ export class SFTPPanelComponent {
|
||||
}
|
||||
}
|
||||
|
||||
async downloadItem (item: SFTPFile): Promise<void> {
|
||||
if (item.isDirectory) {
|
||||
await this.downloadFolder(item)
|
||||
return
|
||||
}
|
||||
|
||||
if (item.isSymlink) {
|
||||
const target = path.resolve(this.path, await this.sftp.readlink(item.fullPath))
|
||||
const stat = await this.sftp.stat(target)
|
||||
if (stat.isDirectory) {
|
||||
await this.downloadFolder(item)
|
||||
return
|
||||
}
|
||||
await this.download(item.fullPath, stat.mode, stat.size)
|
||||
return
|
||||
}
|
||||
|
||||
await this.download(item.fullPath, item.mode, item.size)
|
||||
}
|
||||
|
||||
async openCreateDirectoryModal (): Promise<void> {
|
||||
const modal = this.ngbModal.open(SFTPCreateDirectoryModalComponent)
|
||||
const directoryName = await modal.result.catch(() => null)
|
||||
|
||||
@@ -39,6 +39,13 @@ export class CommonSFTPContextMenu extends SFTPContextMenuItemProvider {
|
||||
})
|
||||
}
|
||||
|
||||
if (!item.isDirectory) {
|
||||
items.push({
|
||||
click: () => panel.downloadItem(item),
|
||||
label: this.translate.instant('Download'),
|
||||
})
|
||||
}
|
||||
|
||||
items.push({
|
||||
click: async () => {
|
||||
if ((await this.platform.showMessageBox({
|
||||
|
||||
Reference in New Issue
Block a user