diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala index 39d2762cfcd92e594b8bb7a1a4997223be464fee..215e2d236d725b293a36adf8626b677882f99be5 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala @@ -7,7 +7,7 @@ import de.tobias.playpad.pad.fade.{Fadeable, LinearFadeController} import de.tobias.playpad.pad.mediapath.MediaPath import de.tobias.playpad.pad.{Pad, PadStatus} import de.tobias.playpad.plugin.content.ContentPluginMain -import de.tobias.playpad.plugin.content.settings.{Zone, ContentPlayerPluginConfiguration} +import de.tobias.playpad.plugin.content.settings.{ContentPlayerPluginConfiguration, Zone} import de.tobias.playpad.plugin.content.util._ import de.tobias.playpad.profile.Profile import javafx.application.Platform @@ -19,6 +19,7 @@ import nativecontentplayerwindows.ContentPlayer import java.nio.file.Files import java.util +import java.util.UUID import java.util.stream.Collectors import scala.jdk.CollectionConverters._ @@ -281,10 +282,10 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte val zoneConfiguration = Profile.currentProfile().getCustomSettings(ContentPluginMain.zoneConfigurationKey).asInstanceOf[ContentPlayerPluginConfiguration] val customSettings = pad.getPadSettings.getCustomSettings - val selectedZoneNames = customSettings.getOrDefault( + val selectedZoneIds = customSettings.getOrDefault( ContentPlayerPadContentFactory.zones, - zoneConfiguration.zones.stream().map(zone => zone.getName).collect(Collectors.toList()) - ).asInstanceOf[util.List[String]] - zoneConfiguration.zones.asScala.filter(zone => selectedZoneNames.contains(zone.getName)).toSeq + zoneConfiguration.zones.stream().map(zone => zone.id).collect(Collectors.toList()) + ).asInstanceOf[util.List[UUID]] + zoneConfiguration.zones.asScala.filter(zone => selectedZoneIds.contains(zone.id)).toSeq } } diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContentSettingsViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContentSettingsViewController.scala index f59d502c278560ddd4aa1c66acf9d8dc64ec8b3c..4419b1e1677d33acd6fb1183e17f65bc4691d2a5 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContentSettingsViewController.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContentSettingsViewController.scala @@ -57,7 +57,7 @@ class ContentPlayerPadContentSettingsViewController(val pad: Pad) extends PadSet val customSettings = pad.getPadSettings.getCustomSettings customSettings.put(ContentPlayerPadContentFactory.lastFrame, lastFrameCheckbox.isSelected) - val selectedZoneNames = zoneListView.getCheckModel.getCheckedItems.asScala.map(zone => zone.getName) + val selectedZoneNames = zoneListView.getCheckModel.getCheckedItems.asScala.map(zone => zone.id) customSettings.put(ContentPlayerPadContentFactory.zones, new util.ArrayList(selectedZoneNames.asJavaCollection)) } diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/ContentPlayerPluginConfiguration.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/ContentPlayerPluginConfiguration.scala index 3580f5881255a91595b1d8f9e21225aef903d9c1..febbe097823de5f48a1b9f98abf4e950ad9ddd4f 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/ContentPlayerPluginConfiguration.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/ContentPlayerPluginConfiguration.scala @@ -1,8 +1,7 @@ package de.tobias.playpad.plugin.content.settings import java.util -import java.util.{List => JavaList} - +import java.util.{UUID, List => JavaList} import de.thecodelabs.storage.settings.annotation.{FilePath, Key} import de.tobias.playpad.Displayable import javafx.beans.property.{SimpleStringProperty, StringProperty} @@ -20,6 +19,8 @@ class ContentPlayerPluginConfiguration { } class Zone extends Displayable { + @Key + var id: UUID = UUID.randomUUID() @Key private var name: String = _ @Key