show alert if export fails
This commit is contained in:
parent
39c358c00f
commit
be11f35159
@ -4,6 +4,7 @@ import javafx.application.Platform
|
|||||||
import javafx.collections.ObservableList
|
import javafx.collections.ObservableList
|
||||||
import javafx.event.EventHandler
|
import javafx.event.EventHandler
|
||||||
import javafx.stage.DirectoryChooser
|
import javafx.stage.DirectoryChooser
|
||||||
|
import org.hso.texturesyncclient.alerts.JFXInfoAlert
|
||||||
import org.hso.texturesyncclient.alerts.JFXOkayCancelAlert
|
import org.hso.texturesyncclient.alerts.JFXOkayCancelAlert
|
||||||
import org.hso.texturesyncclient.controller.net.AutoConnect
|
import org.hso.texturesyncclient.controller.net.AutoConnect
|
||||||
import org.hso.texturesyncclient.controller.net.Connection
|
import org.hso.texturesyncclient.controller.net.Connection
|
||||||
@ -26,11 +27,11 @@ import javax.imageio.ImageIO
|
|||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
|
import java.io.IOException
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class RootController : Controller() {
|
class RootController : Controller() {
|
||||||
|
|
||||||
private val mvc: MainViewController by inject()
|
private val mvc: MainViewController by inject()
|
||||||
@ -175,15 +176,32 @@ class RootController : Controller() {
|
|||||||
directoryChooser.title = "Export Verzeichnis wählen"
|
directoryChooser.title = "Export Verzeichnis wählen"
|
||||||
directoryChooser.initialDirectory = File(lastExportDir)
|
directoryChooser.initialDirectory = File(lastExportDir)
|
||||||
|
|
||||||
|
|
||||||
|
val alertExport = JFXInfoAlert(
|
||||||
|
"Exporterien fehlgeschlagen",
|
||||||
|
"Mögliche Ursachen:" +
|
||||||
|
"\n-Datei existiert bereits" +
|
||||||
|
"\n-Ordner nicht beschreibbar",
|
||||||
|
"-fx-button-type: RAISED; -fx-background-color: #2b7bbb; -fx-text-fill: #000000;"
|
||||||
|
)
|
||||||
|
|
||||||
val dir = directoryChooser.showDialog(primaryStage)
|
val dir = directoryChooser.showDialog(primaryStage)
|
||||||
if (dir != null) {
|
if (dir != null) {
|
||||||
val extension = if (data.format == TextureFormat.PNG) ".png" else ".jpeg" //get file format
|
val extension = if (data.format == TextureFormat.PNG) ".png" else ".jpeg" //get file format
|
||||||
val filePath = "$dir/${data.name}$extension" //build absolute exported texture path
|
val filePath = "$dir/${data.name}$extension" //build absolute exported texture path
|
||||||
val exportedFile = File(filePath) //create file
|
val exportedFile = File(filePath) //create file
|
||||||
val fileout = FileOutputStream(exportedFile)
|
|
||||||
fileout.write(con.getTextureFile(data.textureHash)) //write bytes in file
|
|
||||||
fileout.close()
|
|
||||||
|
|
||||||
|
if (exportedFile.exists()) {
|
||||||
|
alertExport.showAndWait()
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
val fileout = FileOutputStream(exportedFile)
|
||||||
|
fileout.write(con.getTextureFile(data.textureHash)) //write bytes in file fileout.close()
|
||||||
|
fileout.close()
|
||||||
|
} catch (e: IOException) {
|
||||||
|
alertExport.showAndWait()
|
||||||
|
}
|
||||||
|
}
|
||||||
lastExportDir = dir.absolutePath //store last user chosen dir
|
lastExportDir = dir.absolutePath //store last user chosen dir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,7 +218,12 @@ class RootController : Controller() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
mvc.setMeta(data.name, "${data.resolution.first.toString()}px x ${data.resolution.second.toString()}px", data.format.toString(), sdf.format(data.addedOn.time))
|
mvc.setMeta(
|
||||||
|
data.name,
|
||||||
|
"${data.resolution.first.toString()}px x ${data.resolution.second.toString()}px",
|
||||||
|
data.format.toString(),
|
||||||
|
sdf.format(data.addedOn.time)
|
||||||
|
)
|
||||||
mvc.setTags(data.tags.toList().observable())
|
mvc.setTags(data.tags.toList().observable())
|
||||||
selectedTexture = data
|
selectedTexture = data
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user