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