mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-16 02:12:58 +08:00
fix: compression not working & popup not closing
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
package app.termora.terminal.panel.vw
|
||||
|
||||
import app.termora.*
|
||||
import app.termora.actions.AnAction
|
||||
import app.termora.actions.AnActionEvent
|
||||
import app.termora.actions.DataProviders
|
||||
import app.termora.actions.*
|
||||
import app.termora.plugin.internal.badge.Badge
|
||||
import app.termora.plugin.internal.ssh.SSHTerminalTab
|
||||
import app.termora.plugin.internal.ssh.SSHTerminalTab.Companion.SSHSession
|
||||
@@ -39,7 +37,7 @@ import kotlin.time.Duration.Companion.milliseconds
|
||||
|
||||
|
||||
internal class TransferVisualWindow(tab: SSHTerminalTab, visualWindowManager: VisualWindowManager) :
|
||||
SSHVisualWindow(tab, "Transfer", visualWindowManager) {
|
||||
SSHVisualWindow(tab, "Transfer", visualWindowManager), DataProvider {
|
||||
|
||||
companion object {
|
||||
private val log = LoggerFactory.getLogger(TransferVisualWindow::class.java)
|
||||
@@ -65,7 +63,7 @@ internal class TransferVisualWindow(tab: SSHTerminalTab, visualWindowManager: Vi
|
||||
private val downloadBtn = JButton(Icons.download)
|
||||
private val badgePresentation = Badge.getInstance(tab.windowScope)
|
||||
.addBadge(downloadBtn).apply { visible = false }
|
||||
|
||||
private val support = DataProviderSupport()
|
||||
|
||||
init {
|
||||
initViews()
|
||||
@@ -82,6 +80,8 @@ internal class TransferVisualWindow(tab: SSHTerminalTab, visualWindowManager: Vi
|
||||
|
||||
|
||||
add(panel, BorderLayout.CENTER)
|
||||
|
||||
support.addData(TransportViewer.MyTransferManager, transferManager)
|
||||
}
|
||||
|
||||
private fun initEvents() {
|
||||
@@ -240,6 +240,10 @@ internal class TransferVisualWindow(tab: SSHTerminalTab, visualWindowManager: Vi
|
||||
super.dispose()
|
||||
}
|
||||
|
||||
override fun <T : Any> getData(dataKey: DataKey<T>): T? {
|
||||
return support.getData(dataKey)
|
||||
}
|
||||
|
||||
override fun toolbarButtons(): List<Pair<JButton, Position>> {
|
||||
return listOf(downloadBtn to Position.Left, questionBtn to Position.Right)
|
||||
}
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package app.termora.transfer
|
||||
|
||||
import app.termora.Application
|
||||
import app.termora.ApplicationScope
|
||||
import app.termora.I18n
|
||||
import app.termora.OptionPane
|
||||
import app.termora.*
|
||||
import app.termora.plugin.ExtensionManager
|
||||
import app.termora.transfer.TransportPanel.Companion.isLocallyFileSystem
|
||||
import com.formdev.flatlaf.extras.components.FlatPopupMenu
|
||||
import kotlinx.coroutines.launch
|
||||
import org.apache.commons.io.IOUtils
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import org.apache.sshd.sftp.client.fs.SftpFileSystem
|
||||
@@ -149,7 +147,12 @@ internal class TransportPopupMenu(
|
||||
}
|
||||
|
||||
private fun initEvents() {
|
||||
transferMenu.addActionListener { fireActionPerformed(it, ActionCommand.Transfer) }
|
||||
transferMenu.addActionListener {
|
||||
swingCoroutineScope.launch {
|
||||
fireActionPerformed(it, ActionCommand.Transfer)
|
||||
}
|
||||
}
|
||||
|
||||
deleteMenu.addActionListener {
|
||||
if (OptionPane.showConfirmDialog(
|
||||
owner,
|
||||
|
||||
Reference in New Issue
Block a user