diff --git a/src/main/kotlin/app/termora/transport/FileSystemTableModel.kt b/src/main/kotlin/app/termora/transport/FileSystemTableModel.kt index 4b8aa84..3ead015 100644 --- a/src/main/kotlin/app/termora/transport/FileSystemTableModel.kt +++ b/src/main/kotlin/app/termora/transport/FileSystemTableModel.kt @@ -66,7 +66,10 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod when (column) { COLUMN_NAME -> path 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") // 如果是本地的并且还是Windows系统 @@ -173,6 +176,7 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod val extension by lazy { path.extension } open val isDirectory by lazy { path.isDirectory() } + open val isSymbolicLink by lazy { path.isSymbolicLink() } open val isHidden by lazy { fileName != ".." && path.isHidden() } open val fileSize by lazy { path.fileSize() } open val lastModifiedTime by lazy { Files.getLastModifiedTime(path).toMillis() } @@ -227,8 +231,10 @@ class FileSystemTableModel(private val fileSystem: FileSystem) : DefaultTableMod } } - override val isDirectory: Boolean - get() = attributes.isDirectory + override val isDirectory by lazy { attributes.isDirectory || (isSymbolicLink && Files.isDirectory(path)) } + + override val isSymbolicLink: Boolean + get() = attributes.isSymbolicLink override val isHidden: Boolean get() = fileName != ".." && fileName.startsWith(".") diff --git a/src/main/resources/i18n/messages.properties b/src/main/resources/i18n/messages.properties index 65e2ed1..e7ab915 100644 --- a/src/main/resources/i18n/messages.properties +++ b/src/main/resources/i18n/messages.properties @@ -221,6 +221,7 @@ termora.transport.bookmarks.down=Down termora.transport.table.filename=Filename termora.transport.table.type=Type 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.modified-time=Modified termora.transport.table.permissions=Permissions diff --git a/src/main/resources/i18n/messages_zh_CN.properties b/src/main/resources/i18n/messages_zh_CN.properties index 9e54d14..7964140 100644 --- a/src/main/resources/i18n/messages_zh_CN.properties +++ b/src/main/resources/i18n/messages_zh_CN.properties @@ -217,6 +217,7 @@ termora.transport.bookmarks.down=下移 termora.transport.table.filename=文件名 termora.transport.table.type=类型 termora.transport.table.size=大小 +termora.transport.table.type.symbolic-link=软链接 termora.transport.table.modified-time=修改时间 termora.transport.table.permissions=权限 termora.transport.table.owner=所有者 diff --git a/src/main/resources/i18n/messages_zh_TW.properties b/src/main/resources/i18n/messages_zh_TW.properties index a8ba220..27b6593 100644 --- a/src/main/resources/i18n/messages_zh_TW.properties +++ b/src/main/resources/i18n/messages_zh_TW.properties @@ -211,6 +211,7 @@ termora.transport.bookmarks.down=下移 termora.transport.table.filename=檔名 termora.transport.table.type=類型 termora.transport.table.size=大小 +termora.transport.table.type.symbolic-link=軟連結 termora.transport.table.modified-time=修改時間 termora.transport.table.permissions=權限 termora.transport.table.owner=所有者