chore: improve editor

This commit is contained in:
hstyi
2025-06-29 12:08:24 +08:00
committed by hstyi
parent 70fc5e3228
commit 287f6973f0
13 changed files with 166 additions and 8 deletions

View File

@@ -33,6 +33,10 @@ object Icons {
val empty by lazy { DynamicIcon("icons/empty.svg") }
val changelog by lazy { DynamicIcon("icons/changelog.svg", "icons/changelog_dark.svg") }
val add by lazy { DynamicIcon("icons/add.svg", "icons/add_dark.svg") }
val softWrap by lazy { DynamicIcon("icons/softWrap.svg", "icons/softWrap_dark.svg") }
val scrollUp by lazy { DynamicIcon("icons/scrollUp.svg", "icons/scrollUp_dark.svg") }
val reformatCode by lazy { DynamicIcon("icons/reformatCode.svg", "icons/reformatCode_dark.svg") }
val scrollDown by lazy { DynamicIcon("icons/scrollDown.svg", "icons/scrollDown_dark.svg") }
val locate by lazy { DynamicIcon("icons/locate.svg", "icons/locate_dark.svg") }
val percentage by lazy { DynamicIcon("icons/percentage.svg", "icons/percentage_dark.svg") }
val text by lazy { DynamicIcon("icons/text.svg", "icons/text_dark.svg") }

View File

@@ -882,6 +882,11 @@ class TransportPanel(
private inner class EditTransferListener : TransferListener, Disposable {
private val transferIds = mutableSetOf<String>()
private val sftp get() = DatabaseManager.getInstance().sftp
private val parentDisposable = Disposer.newDisposable()
init {
Disposer.register(this, parentDisposable)
}
override fun onTransferChanged(
transfer: Transfer,
@@ -915,13 +920,22 @@ class TransportPanel(
}
}
val disposed = AtomicBoolean(false)
Disposer.register(disposable, object : Disposable {
override fun dispose() {
job.cancel()
disposed.compareAndSet(false, true)
}
})
Disposer.register(parentDisposable, object : Disposable {
override fun dispose() {
job.cancel()
if (disposed.compareAndSet(false, true)) {
Disposer.dispose(disposable)
}
}
})
Disposer.register(this, disposable)
}
private fun startEditor(localPath: Path): Disposable {