in sample/src/main/kotlin/org/jetbrains/desktop/sample/linux/SkikoSampleLinux.kt [565:593]
fun onDataTransfer(content: DataTransferContent, app: Application): EventHandlerResult {
when (content.mimeType) {
URI_LIST_MIME_TYPE -> {
val files = content.data.decodeToString().trimEnd().split("\r\n")
Logger.info { "Pasted ${files.size} files:" }
for (file in files) {
val path = URI(file).path
Logger.info { path }
}
}
TEXT_MIME_TYPE -> {
deleteSelection()
val pastedText = content.data.decodeToString()
text.insert(cursorOffset, pastedText)
cursorOffset += pastedText.length
selectionStartOffset = null
selectionEndOffset = null
if (textInputEnabled) {
app.textInputUpdate(createTextInputContext(changeCausedByInputMethod = false))
}
}
PNG_MIME_TYPE -> {
pastedImage = Image.makeFromEncoded(content.data)
}
}
return EventHandlerResult.Stop
}