mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-16 02:12:58 +08:00
refactor: transfer
This commit is contained in:
@@ -4,21 +4,22 @@ import app.termora.DialogWrapper
|
||||
import app.termora.Disposable
|
||||
import app.termora.Disposer
|
||||
import app.termora.OptionPane
|
||||
import app.termora.sftp.absolutePathString
|
||||
import org.apache.commons.vfs2.FileObject
|
||||
import java.awt.Dimension
|
||||
import java.awt.Window
|
||||
import java.awt.event.WindowAdapter
|
||||
import java.awt.event.WindowEvent
|
||||
import java.io.File
|
||||
import java.nio.file.Path
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JOptionPane
|
||||
import javax.swing.UIManager
|
||||
import kotlin.io.path.absolutePathString
|
||||
import kotlin.io.path.name
|
||||
|
||||
|
||||
class EditorDialog(file: FileObject, owner: Window, myDisposable: Disposable) : DialogWrapper(null) {
|
||||
class EditorDialog(file: Path, owner: Window, myDisposable: Disposable) : DialogWrapper(null) {
|
||||
|
||||
private val filename = file.name.baseName
|
||||
private val filename = file.name
|
||||
private val filepath = File(file.absolutePathString())
|
||||
private val editorPanel = EditorPanel(this, filepath)
|
||||
|
||||
|
||||
@@ -3,13 +3,13 @@ package app.termora.plugins.editor
|
||||
import app.termora.plugin.Extension
|
||||
import app.termora.plugin.ExtensionSupport
|
||||
import app.termora.plugin.Plugin
|
||||
import app.termora.sftp.SFTPEditFileExtension
|
||||
import app.termora.transfer.TransportEditFileExtension
|
||||
|
||||
class EditorPlugin : Plugin {
|
||||
private val support = ExtensionSupport()
|
||||
|
||||
init {
|
||||
support.addExtension(SFTPEditFileExtension::class.java) { MySFTPEditFileExtension.instance }
|
||||
support.addExtension(TransportEditFileExtension::class.java) { MyTransportEditFileExtension.instance }
|
||||
}
|
||||
|
||||
override fun getAuthor(): String {
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
package app.termora.plugins.editor
|
||||
|
||||
import app.termora.Disposable
|
||||
import app.termora.Disposer
|
||||
import app.termora.sftp.SFTPEditFileExtension
|
||||
import app.termora.sftp.absolutePathString
|
||||
import org.apache.commons.vfs2.FileObject
|
||||
import java.awt.Window
|
||||
import javax.swing.SwingUtilities
|
||||
|
||||
class MySFTPEditFileExtension private constructor() : SFTPEditFileExtension {
|
||||
companion object {
|
||||
val instance = MySFTPEditFileExtension()
|
||||
}
|
||||
|
||||
override fun edit(owner: Window, file: FileObject): Disposable {
|
||||
val disposable = Disposer.newDisposable()
|
||||
SwingUtilities.invokeLater { EditorDialog(file, owner, disposable).isVisible = true }
|
||||
return disposable
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package app.termora.plugins.editor
|
||||
|
||||
import app.termora.Disposable
|
||||
import app.termora.Disposer
|
||||
import app.termora.transfer.TransportEditFileExtension
|
||||
import java.awt.Window
|
||||
import java.nio.file.Path
|
||||
import javax.swing.SwingUtilities
|
||||
|
||||
class MyTransportEditFileExtension private constructor() : TransportEditFileExtension {
|
||||
companion object {
|
||||
val instance = MyTransportEditFileExtension()
|
||||
}
|
||||
|
||||
override fun edit(owner: Window, path: Path): Disposable {
|
||||
val disposable = Disposer.newDisposable()
|
||||
SwingUtilities.invokeLater { EditorDialog(path, owner, disposable).isVisible = true }
|
||||
return disposable
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user