resize&shortcuts #25
@ -37,6 +37,8 @@ class RootController : Controller() {
 | 
			
		||||
 | 
			
		||||
    private lateinit var con: Connection
 | 
			
		||||
 | 
			
		||||
    private lateinit var selectedTextureModel: GUIModel
 | 
			
		||||
 | 
			
		||||
    private var lastExportDir: String = System.getProperty("user.home")
 | 
			
		||||
    lateinit var selectedTexture: Texture
 | 
			
		||||
    fun isSelectedTextureInitialized() = ::selectedTexture.isInitialized
 | 
			
		||||
@ -221,7 +223,6 @@ class RootController : Controller() {
 | 
			
		||||
            sdf.format(data.addedOn.time)
 | 
			
		||||
        )
 | 
			
		||||
        mvc.setTags(data.tags.toList().observable())
 | 
			
		||||
        selectedTexture = data
 | 
			
		||||
        mvc.setVisibleMetaTags(true)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -232,12 +233,12 @@ class RootController : Controller() {
 | 
			
		||||
    fun deleteTexture(data: Texture) {
 | 
			
		||||
        val dialogDelete = JFXOkayCancelAlert(
 | 
			
		||||
            "Löschen",
 | 
			
		||||
            "Textur ${data.name} wirklich löschen?",
 | 
			
		||||
            "Textur ${selectedTextureModel.data.name} wirklich löschen?",
 | 
			
		||||
            "-fx-button-type: RAISED; -fx-background-color: #2b7bbb; -fx-text-fill: #000000;"
 | 
			
		||||
        )
 | 
			
		||||
        dialogDelete.okayAction = EventHandler {
 | 
			
		||||
            con.deleteTexture(data)
 | 
			
		||||
            mvc.removeTextureFromView(data)
 | 
			
		||||
            con.deleteTexture(selectedTextureModel.data)
 | 
			
		||||
            mvc.removeTextureFromView(selectedTextureModel.data)
 | 
			
		||||
        }
 | 
			
		||||
        dialogDelete.cancelAction = EventHandler {
 | 
			
		||||
            // Do nothing
 | 
			
		||||
@ -253,14 +254,20 @@ class RootController : Controller() {
 | 
			
		||||
        val uuid = UUID.randomUUID()
 | 
			
		||||
        val newTexture = Texture(
 | 
			
		||||
            uuid,
 | 
			
		||||
            selectedTexture.name,
 | 
			
		||||
            selectedTextureModel.data.name,
 | 
			
		||||
            chips.toTypedArray(),
 | 
			
		||||
            selectedTexture.format,
 | 
			
		||||
            selectedTexture.resolution,
 | 
			
		||||
            selectedTexture.addedOn,
 | 
			
		||||
            selectedTexture.textureHash
 | 
			
		||||
            selectedTextureModel.data.format,
 | 
			
		||||
            selectedTextureModel.data.resolution,
 | 
			
		||||
            selectedTextureModel.data.addedOn,
 | 
			
		||||
            selectedTextureModel.data.textureHash
 | 
			
		||||
        )
 | 
			
		||||
        con.updateTexture(selectedTexture, newTexture, con.getTextureFile(selectedTexture.textureHash))
 | 
			
		||||
        try {
 | 
			
		||||
            con.updateTexture(selectedTextureModel.data, newTexture, con.getTextureFile(selectedTextureModel.data.textureHash))
 | 
			
		||||
            selectedTextureModel.setTexture(newTexture)
 | 
			
		||||
            selectedTextureModel.data = newTexture
 | 
			
		||||
        } catch (e: Exception) {
 | 
			
		||||
            println(e)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@ -270,6 +277,14 @@ class RootController : Controller() {
 | 
			
		||||
        queryElements(mvc.getTags())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * set the last selected texture-GUIModell
 | 
			
		||||
     * @param model the last selected element
 | 
			
		||||
     */
 | 
			
		||||
    fun setSelectedTexture(model: GUIModel){
 | 
			
		||||
        selectedTextureModel = model
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    companion object {
 | 
			
		||||
        fun switchStartupToMain() {
 | 
			
		||||
            Platform.runLater {
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ enum class TextureFormat {
 | 
			
		||||
data class Texture(
 | 
			
		||||
    val id : UUID,
 | 
			
		||||
    val name : String,
 | 
			
		||||
    val tags : Array<String>,
 | 
			
		||||
    var tags : Array<String>,
 | 
			
		||||
    val format : TextureFormat,
 | 
			
		||||
    val resolution : Pair<Int, Int>,
 | 
			
		||||
    val addedOn : Calendar,
 | 
			
		||||
 | 
			
		||||
@ -22,9 +22,12 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
 | 
			
		||||
    private var exportItem = MenuItem("exportiern")
 | 
			
		||||
    private var deleteItem = MenuItem("löschen")
 | 
			
		||||
 | 
			
		||||
    private lateinit var texture: Texture
 | 
			
		||||
 | 
			
		||||
    private val gmc =  find(GUIModelController::class)
 | 
			
		||||
 | 
			
		||||
    init {
 | 
			
		||||
        texture = data
 | 
			
		||||
        super.setPadding(Insets(5.0, 5.0, 5.0, 5.0))
 | 
			
		||||
        super.getChildren().addAll(image, label)
 | 
			
		||||
        super.setOnContextMenuRequested { p0 -> contextMenu.show(this@GUIModel, p0.screenX, p0.screenY) }
 | 
			
		||||
@ -38,6 +41,8 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
 | 
			
		||||
                gmc.lastSelected = this
 | 
			
		||||
            }
 | 
			
		||||
            gmc.previewSelectedAction(data)
 | 
			
		||||
            gmc.setSelected(this)
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        label.paddingTop = 5.0
 | 
			
		||||
@ -62,4 +67,8 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
 | 
			
		||||
        contextMenu.items.add(deleteItem)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setTexture(data: Texture){
 | 
			
		||||
        texture = data
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -3,7 +3,7 @@ package org.hso.texturesyncclient.model
 | 
			
		||||
import org.hso.texturesyncclient.controller.RootController
 | 
			
		||||
import tornadofx.Controller
 | 
			
		||||
 | 
			
		||||
class GUIModelController: Controller() {
 | 
			
		||||
class GUIModelController : Controller() {
 | 
			
		||||
 | 
			
		||||
    private val rootc = find(RootController::class)
 | 
			
		||||
 | 
			
		||||
@ -21,4 +21,8 @@ class GUIModelController: Controller() {
 | 
			
		||||
    fun previewSelectedAction(data: Texture) {
 | 
			
		||||
        rootc.showDetail(data)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setSelected(model: GUIModel) {
 | 
			
		||||
        rootc.setSelectedTexture(model)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user