From 30e245f7a341f01ed67cef9c96c043837a38d1db Mon Sep 17 00:00:00 2001 From: hstyi Date: Mon, 8 Sep 2025 10:56:31 +0800 Subject: [PATCH] chore: add tooltip to some buttons --- .../app/termora/transfer/BookmarkButton.kt | 2 ++ .../app/termora/transfer/TransportPanel.kt | 26 ++++++++++++++----- src/main/resources/i18n/messages.properties | 10 +++++++ .../resources/i18n/messages_ru_RU.properties | 10 +++++++ .../resources/i18n/messages_zh_CN.properties | 11 ++++++++ .../resources/i18n/messages_zh_TW.properties | 9 +++++++ 6 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/app/termora/transfer/BookmarkButton.kt b/src/main/kotlin/app/termora/transfer/BookmarkButton.kt index c5df035..d5c8fd9 100644 --- a/src/main/kotlin/app/termora/transfer/BookmarkButton.kt +++ b/src/main/kotlin/app/termora/transfer/BookmarkButton.kt @@ -66,6 +66,8 @@ class BookmarkButton : JButton(Icons.bookmarks) { }) isBookmark = false + + toolTipText = I18n.getString("termora.transport.bookmarks") } private fun showBookmarks(e: MouseEvent) { diff --git a/src/main/kotlin/app/termora/transfer/TransportPanel.kt b/src/main/kotlin/app/termora/transfer/TransportPanel.kt index e1a8bde..781f423 100644 --- a/src/main/kotlin/app/termora/transfer/TransportPanel.kt +++ b/src/main/kotlin/app/termora/transfer/TransportPanel.kt @@ -63,7 +63,7 @@ import kotlin.io.path.* import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.seconds -internal class TransportPanel( +internal open class TransportPanel( private val internalTransferManager: InternalTransferManager, val host: Host, val loader: TransportSupportLoader, @@ -131,10 +131,10 @@ internal class TransportPanel( * 工作目录 */ override var workdir: Path? = null - private set + protected set override var loading = false - private set(value) { + protected set(value) { val oldValue = field field = value if (oldValue != value) { @@ -165,6 +165,14 @@ internal class TransportPanel( toolbar.add(eyeBtn) toolbar.add(refreshBtn) + prevBtn.toolTipText = I18n.getString("termora.transport.toolbar.prev") + homeBtn.toolTipText = I18n.getString("termora.transport.toolbar.home") + nextBtn.toolTipText = I18n.getString("termora.transport.toolbar.next") + + parentBtn.toolTipText = I18n.getString("termora.transport.toolbar.parent") + eyeBtn.toolTipText = I18n.getString("termora.transport.toolbar.show-hide") + refreshBtn.toolTipText = I18n.getString("termora.transport.toolbar.refresh") + sorter.maxSortKeys = 1 table.setRowSorter(sorter) table.setAutoCreateRowSorter(false) @@ -411,7 +419,7 @@ internal class TransportPanel( } }) - addPropertyChangeListener("workdir") { evt -> reload() } + addPropertyChangeListener("workdir") { _ -> reload() } reload() } @@ -522,7 +530,8 @@ internal class TransportPanel( ) == JOptionPane.YES_OPTION ) { // 直接执行删除操作 - val future = internalTransferManager.addTransfer(validFiles, InternalTransferManager.TransferMode.Delete) + val future = + internalTransferManager.addTransfer(validFiles, InternalTransferManager.TransferMode.Delete) mountFuture(future) } } @@ -916,13 +925,18 @@ internal class TransportPanel( } } - private fun showContextmenu(rows: Array, e: MouseEvent) { + protected open fun showContextmenu(rows: Array, e: MouseEvent) { val files = rows.map { model.getPath(it) to model.getAttributes(it) } val popupMenu = TransportPopupMenu(owner, model, internalTransferManager, loader, files) popupMenu.addActionListener(PopupMenuActionListener(files)) + customizeContextmenu(rows, e, popupMenu) popupMenu.show(table, e.x, e.y) } + protected open fun customizeContextmenu(rows: Array, e: MouseEvent, popupMenu: TransportPopupMenu) { + + } + override fun getData(dataKey: DataKey): T? { return support.getData(dataKey) } diff --git a/src/main/resources/i18n/messages.properties b/src/main/resources/i18n/messages.properties index 9ffc04a..627596e 100644 --- a/src/main/resources/i18n/messages.properties +++ b/src/main/resources/i18n/messages.properties @@ -311,6 +311,14 @@ termora.tools.multiple=Send command to the current window sessions termora.transport.local=Local termora.transport.file-already-exists=The file {0} already exists + +termora.transport.toolbar.prev=Backward +termora.transport.toolbar.home=Home Folder +termora.transport.toolbar.next=Forward +termora.transport.toolbar.parent=Parent Folder +termora.transport.toolbar.show-hide=Show/Hide Folders +termora.transport.toolbar.refresh=Refresh Folder + termora.transport.bookmarks=Bookmarks Manager termora.transport.bookmarks.up=Up termora.transport.bookmarks.down=Down @@ -433,6 +441,8 @@ termora.visual-window.system-information.mem=Mem termora.visual-window.system-information.swap=Swap termora.visual-window.system-information.filesystem=Filesystem termora.visual-window.system-information.used-total=Used / Total +termora.visual-window.toggle-window=Toggle window +termora.visual-window.transport.question=More Features termora.visual-window.nvidia-smi=NVIDIA SMI diff --git a/src/main/resources/i18n/messages_ru_RU.properties b/src/main/resources/i18n/messages_ru_RU.properties index e03ed8a..ec26946 100644 --- a/src/main/resources/i18n/messages_ru_RU.properties +++ b/src/main/resources/i18n/messages_ru_RU.properties @@ -251,6 +251,14 @@ termora.transport.bookmarks=Менеджер закладок termora.transport.bookmarks.up=Вверх termora.transport.bookmarks.down=Вниз +termora.transport.toolbar.prev=Назад +termora.transport.toolbar.home=Домашняя папка +termora.transport.toolbar.next=Вперёд +termora.transport.toolbar.parent=Родительская папка +termora.transport.toolbar.show-hide=Показать/Скрыть папки +termora.transport.toolbar.refresh=Обновить + + termora.transport.table.filename=Имя файла termora.transport.table.type=Тип termora.transport.table.type.symbolic-link=Символьная Ссылка @@ -358,6 +366,8 @@ termora.visual-window.system-information.mem=Память termora.visual-window.system-information.swap=Подкачка termora.visual-window.system-information.filesystem=Файловая система termora.visual-window.system-information.used-total=Использовано / Всего +termora.visual-window.toggle-window=Переключить окно +termora.visual-window.transport.question=Больше возможностей termora.visual-window.nvidia-smi=NVIDIA SMI diff --git a/src/main/resources/i18n/messages_zh_CN.properties b/src/main/resources/i18n/messages_zh_CN.properties index 2218289..ae20869 100644 --- a/src/main/resources/i18n/messages_zh_CN.properties +++ b/src/main/resources/i18n/messages_zh_CN.properties @@ -312,6 +312,15 @@ termora.transport.bookmarks=书签管理 termora.transport.bookmarks.up=上移 termora.transport.bookmarks.down=下移 + +termora.transport.toolbar.prev=返回 +termora.transport.toolbar.home=默认目录 +termora.transport.toolbar.next=前进 +termora.transport.toolbar.parent=父目录 +termora.transport.toolbar.show-hide=显示/隐藏目录 +termora.transport.toolbar.refresh=刷新 + + termora.transport.table.filename=文件名 termora.transport.table.type=类型 termora.transport.table.size=大小 @@ -429,6 +438,8 @@ termora.visual-window.system-information.mem=内存 termora.visual-window.system-information.swap=交换 termora.visual-window.system-information.filesystem=文件系统 termora.visual-window.system-information.used-total=使用 / 大小 +termora.visual-window.toggle-window=切换窗口 +termora.visual-window.transport.question=更多功能 termora.floating-toolbar.close-in-current-tab=在当前标签页关闭 diff --git a/src/main/resources/i18n/messages_zh_TW.properties b/src/main/resources/i18n/messages_zh_TW.properties index 33d9834..6a8f361 100644 --- a/src/main/resources/i18n/messages_zh_TW.properties +++ b/src/main/resources/i18n/messages_zh_TW.properties @@ -307,6 +307,13 @@ termora.transport.bookmarks=書籤管理 termora.transport.bookmarks.up=上移 termora.transport.bookmarks.down=下移 +termora.transport.toolbar.prev=返回 +termora.transport.toolbar.home=預設目錄 +termora.transport.toolbar.next=前進 +termora.transport.toolbar.parent=父目錄 +termora.transport.toolbar.show-hide=顯示/隱藏目錄 +termora.transport.toolbar.refresh=重新整理 + termora.transport.table.filename=檔名 termora.transport.table.type=類型 termora.transport.table.size=大小 @@ -416,6 +423,8 @@ termora.visual-window.system-information.mem=內存 termora.visual-window.system-information.swap=交換 termora.visual-window.system-information.filesystem=檔案系統 termora.visual-window.system-information.used-total=使用 / 大小 +termora.visual-window.toggle-window=切換視窗 +termora.visual-window.transport.question=更多功能 termora.floating-toolbar.close-in-current-tab=在目前標籤頁關閉