Clicking an image diff will now open ir with the default image viewer
This commit is contained in:
parent
5659bf8918
commit
e550a6289c
@ -5,6 +5,7 @@ import java.awt.Desktop
|
|||||||
import java.awt.Toolkit
|
import java.awt.Toolkit
|
||||||
import java.awt.datatransfer.Clipboard
|
import java.awt.datatransfer.Clipboard
|
||||||
import java.awt.datatransfer.StringSelection
|
import java.awt.datatransfer.StringSelection
|
||||||
|
import java.io.File
|
||||||
import java.net.URI
|
import java.net.URI
|
||||||
import java.nio.file.FileSystems
|
import java.nio.file.FileSystems
|
||||||
|
|
||||||
@ -20,6 +21,12 @@ fun openUrlInBrowser(url: String) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun openFileWithExternalApp(filePath: String) {
|
||||||
|
if (!openSystemSpecific(filePath)) {
|
||||||
|
openFileJdk(filePath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun openSystemSpecific(url: String): Boolean {
|
private fun openSystemSpecific(url: String): Boolean {
|
||||||
when(getCurrentOs()) {
|
when(getCurrentOs()) {
|
||||||
OS.LINUX -> {
|
OS.LINUX -> {
|
||||||
@ -39,7 +46,7 @@ private fun openSystemSpecific(url: String): Boolean {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
fun openUrlInBrowserJdk(url: String) {
|
private fun openUrlInBrowserJdk(url: String) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Desktop.getDesktop().browse(URI(url))
|
Desktop.getDesktop().browse(URI(url))
|
||||||
@ -49,6 +56,15 @@ fun openUrlInBrowserJdk(url: String) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun openFileJdk(filePath: String) {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().open(File(filePath))
|
||||||
|
} catch (ex: Exception) {
|
||||||
|
println("Failed to open URL in browser")
|
||||||
|
ex.printStackTrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun copyInBrowser(textToCopy: String) {
|
fun copyInBrowser(textToCopy: String) {
|
||||||
try {
|
try {
|
||||||
val selection = StringSelection(textToCopy)
|
val selection = StringSelection(textToCopy)
|
||||||
|
@ -28,9 +28,7 @@ import androidx.compose.ui.text.font.FontFamily
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import app.extensions.lineDelimiter
|
import app.extensions.*
|
||||||
import app.extensions.removeLineDelimiters
|
|
||||||
import app.extensions.toStringWithSpaces
|
|
||||||
import app.git.*
|
import app.git.*
|
||||||
import app.git.diff.DiffResult
|
import app.git.diff.DiffResult
|
||||||
import app.git.diff.Hunk
|
import app.git.diff.Hunk
|
||||||
@ -237,6 +235,9 @@ fun ImageDiff(tempImagePath: Path) {
|
|||||||
bitmap = loadImageBitmap(inputStream = FileInputStream(tempImagePath.absolutePathString())),
|
bitmap = loadImageBitmap(inputStream = FileInputStream(tempImagePath.absolutePathString())),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
modifier = Modifier.fillMaxSize()
|
modifier = Modifier.fillMaxSize()
|
||||||
|
.handMouseClickable {
|
||||||
|
openFileWithExternalApp(tempImagePath.absolutePathString())
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user