update texture to server when tags are changed
This commit is contained in:
parent
da153091bd
commit
ed558106e5
|
@ -35,6 +35,8 @@ class RootController : Controller() {
|
|||
|
||||
private lateinit var con: Connection
|
||||
|
||||
private lateinit var selectedTexture: Texture
|
||||
|
||||
private var lastExportDir: String = System.getProperty("user.home")
|
||||
|
||||
/**
|
||||
|
@ -100,7 +102,7 @@ class RootController : Controller() {
|
|||
println(e)
|
||||
println("[file] Connection to Server NOT successful")
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
println("[file] no address in settings file")
|
||||
}
|
||||
} else {
|
||||
|
@ -190,6 +192,7 @@ class RootController : Controller() {
|
|||
mvc.setPreview3DTexture(con.getTexturePreview(data.textureHash))
|
||||
mvc.setMeta(data.name, data.resolution.toString(), "")
|
||||
mvc.setTags(data.tags.toList().observable())
|
||||
selectedTexture = data
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -212,4 +215,19 @@ class RootController : Controller() {
|
|||
dialogDelete.showAndWait()
|
||||
}
|
||||
|
||||
|
||||
fun updateTexture(chips: ObservableList<String>) {
|
||||
val uuid = UUID.randomUUID()
|
||||
val newTexture = Texture(
|
||||
uuid,
|
||||
selectedTexture.name,
|
||||
chips.toTypedArray(),
|
||||
selectedTexture.format,
|
||||
selectedTexture.resolution,
|
||||
selectedTexture.addedOn,
|
||||
selectedTexture.textureHash
|
||||
)
|
||||
con.updateTexture(selectedTexture, newTexture, con.getTextureFile(selectedTexture.textureHash))
|
||||
}
|
||||
|
||||
}
|
|
@ -15,6 +15,8 @@ import tornadofx.*
|
|||
|
||||
class DetailView: View() {
|
||||
|
||||
private val mvc: MainViewController by inject()
|
||||
|
||||
val preview = Preview3D()
|
||||
val metaLabel = Label("Auflösung: 8MP\nName: Texture.png\nAndere: was anderes")
|
||||
val cvTags = JFXChipView<String>()
|
||||
|
@ -74,10 +76,5 @@ class DetailView: View() {
|
|||
"-jfx-button-type: RAISED;" +
|
||||
"-fx-font-size: 25px"
|
||||
}
|
||||
|
||||
btnImport.setOnAction {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -19,6 +19,7 @@ class MainViewController : Controller() {
|
|||
private val preview = mv.detailView.preview
|
||||
private val metaLabel = mv.detailView.metaLabel
|
||||
private val cvTags = mv.detailView.cvTags
|
||||
private var lockUpdate: Boolean = false //lock update func when the system changes the detailview chipview
|
||||
|
||||
// FolderView functions
|
||||
fun addElement(element: GUIModel) {
|
||||
|
@ -40,12 +41,17 @@ class MainViewController : Controller() {
|
|||
}
|
||||
|
||||
fun setTags(chips: ObservableList<String>) {
|
||||
lockUpdate = false //dont trigger update with onChange
|
||||
cvTags.chips.clear()
|
||||
cvTags.chips.addAll(chips)
|
||||
lockUpdate = true //allow update with onChange
|
||||
}
|
||||
|
||||
fun updateTags() {
|
||||
println(cvTags.chips)
|
||||
if (lockUpdate) { //the chipView was changed by the user
|
||||
println("Tags changed")
|
||||
rootc.updateTexture(cvTags.chips)
|
||||
}
|
||||
}
|
||||
|
||||
// DetailView actions
|
||||
|
@ -70,7 +76,8 @@ class MainViewController : Controller() {
|
|||
|
||||
fun removeTextureFromView(data: Texture) {
|
||||
// stream all children nodes, filter them as GUIModel with data.id == data.id, for any found object if it's still present remove it from the folderView
|
||||
folderView.children.stream().filter { x -> (x as GUIModel).data.id == data.id }.findAny().ifPresent{ x -> folderView.children.remove(x)}
|
||||
folderView.children.stream().filter { x -> (x as GUIModel).data.id == data.id }.findAny()
|
||||
.ifPresent { x -> folderView.children.remove(x) }
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue