fix: sftp symbolic link (#120)

This commit is contained in:
hstyi
2025-01-24 10:27:15 +08:00
committed by GitHub
parent df2e9b0743
commit ee7f3871eb
4 changed files with 12 additions and 3 deletions

View File

@@ -66,7 +66,10 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod
when (column) { when (column) {
COLUMN_NAME -> path COLUMN_NAME -> path
COLUMN_FILE_SIZE -> if (path.isDirectory) StringUtils.EMPTY else formatBytes(path.fileSize) COLUMN_FILE_SIZE -> if (path.isDirectory) StringUtils.EMPTY else formatBytes(path.fileSize)
COLUMN_TYPE -> if (path.isDirectory) I18n.getString("termora.transport.table.type.folder") else path.extension COLUMN_TYPE -> if (path.isDirectory) I18n.getString("termora.transport.table.type.folder")
else if (path.isSymbolicLink) I18n.getString("termora.transport.table.type.symbolic-link")
else path.extension
COLUMN_LAST_MODIFIED_TIME -> DateFormatUtils.format(Date(path.lastModifiedTime), "yyyy/MM/dd HH:mm") COLUMN_LAST_MODIFIED_TIME -> DateFormatUtils.format(Date(path.lastModifiedTime), "yyyy/MM/dd HH:mm")
// 如果是本地的并且还是Windows系统 // 如果是本地的并且还是Windows系统
@@ -173,6 +176,7 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod
val extension by lazy { path.extension } val extension by lazy { path.extension }
open val isDirectory by lazy { path.isDirectory() } open val isDirectory by lazy { path.isDirectory() }
open val isSymbolicLink by lazy { path.isSymbolicLink() }
open val isHidden by lazy { fileName != ".." && path.isHidden() } open val isHidden by lazy { fileName != ".." && path.isHidden() }
open val fileSize by lazy { path.fileSize() } open val fileSize by lazy { path.fileSize() }
open val lastModifiedTime by lazy { Files.getLastModifiedTime(path).toMillis() } open val lastModifiedTime by lazy { Files.getLastModifiedTime(path).toMillis() }
@@ -227,8 +231,10 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod
} }
} }
override val isDirectory: Boolean override val isDirectory by lazy { attributes.isDirectory || (isSymbolicLink && Files.isDirectory(path)) }
get() = attributes.isDirectory
override val isSymbolicLink: Boolean
get() = attributes.isSymbolicLink
override val isHidden: Boolean override val isHidden: Boolean
get() = fileName != ".." && fileName.startsWith(".") get() = fileName != ".." && fileName.startsWith(".")

View File

@@ -221,6 +221,7 @@ termora.transport.bookmarks.down=Down
termora.transport.table.filename=Filename termora.transport.table.filename=Filename
termora.transport.table.type=Type termora.transport.table.type=Type
termora.transport.table.type.folder=${termora.welcome.contextmenu.new.folder} termora.transport.table.type.folder=${termora.welcome.contextmenu.new.folder}
termora.transport.table.type.symbolic-link=Symbolic Link
termora.transport.table.size=Size termora.transport.table.size=Size
termora.transport.table.modified-time=Modified termora.transport.table.modified-time=Modified
termora.transport.table.permissions=Permissions termora.transport.table.permissions=Permissions

View File

@@ -217,6 +217,7 @@ termora.transport.bookmarks.down=下移
termora.transport.table.filename=文件名 termora.transport.table.filename=文件名
termora.transport.table.type=类型 termora.transport.table.type=类型
termora.transport.table.size=大小 termora.transport.table.size=大小
termora.transport.table.type.symbolic-link=软链接
termora.transport.table.modified-time=修改时间 termora.transport.table.modified-time=修改时间
termora.transport.table.permissions=权限 termora.transport.table.permissions=权限
termora.transport.table.owner=所有者 termora.transport.table.owner=所有者

View File

@@ -211,6 +211,7 @@ termora.transport.bookmarks.down=下移
termora.transport.table.filename=檔名 termora.transport.table.filename=檔名
termora.transport.table.type=類型 termora.transport.table.type=類型
termora.transport.table.size=大小 termora.transport.table.size=大小
termora.transport.table.type.symbolic-link=軟連結
termora.transport.table.modified-time=修改時間 termora.transport.table.modified-time=修改時間
termora.transport.table.permissions=權限 termora.transport.table.permissions=權限
termora.transport.table.owner=所有者 termora.transport.table.owner=所有者