From 84107cab9924b8cc1d2e1073c750471a3f3ef2fb Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Mon, 30 Nov 2020 20:29:40 +0100 Subject: [PATCH] Highlight player zone on settings selection --- .../content/ContentPlayerViewController.scala | 18 ++++++++++++++++-- .../PlayerInstanceSettingsViewController.scala | 4 ++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala index 2a504412..f24e07c0 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPlayerViewController.scala @@ -26,8 +26,10 @@ class ContentPlayerViewController extends NVC { setLayoutX(playerInstance.x) setLayoutY(playerInstance.y) - setWidth(playerInstance.width) - setHeight(playerInstance.height) + setMinWidth(playerInstance.width) + setMaxWidth(playerInstance.width) + setMinHeight(playerInstance.height) + setMaxHeight(playerInstance.height) def addActivePad(padIndex: PadIndex): Unit = activePlayers.addOne(padIndex) @@ -56,6 +58,14 @@ class ContentPlayerViewController extends NVC { } } + def highlight(on: Boolean): Unit = { + if (on) { + setBackground(new Background(new BackgroundFill(Color.RED, CornerRadii.EMPTY, Insets.EMPTY))) + } else { + setBackground(null) + } + } + override def toString: String = f"MediaPlayerStack: ${getChildren.stream().map(view => f"MediaView: ${view.getUserData}").collect(Collectors.joining(", "))}" } @@ -131,4 +141,8 @@ class ContentPlayerViewController extends NVC { def removeActivePadFromList(padIndex: PadIndex, zones: Seq[PlayerInstance]): Unit = mediaPlayers .filter(mediaPlayer => zones.contains(mediaPlayer.playerInstance)) .foreach(mediaPlayer => mediaPlayer.removeActivePad(padIndex)) + + def highlight(zone: PlayerInstance, on: Boolean): Unit = { + mediaPlayers.filter(mediaPlayer => zone == mediaPlayer.playerInstance).head.highlight(on) + } } diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala index d185990d..9c253800 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/settings/PlayerInstanceSettingsViewController.scala @@ -47,11 +47,15 @@ class PlayerInstanceSettingsViewController extends GlobalSettingsTabViewControll } }) listView.getSelectionModel.selectedItemProperty().addListener((_, oldValue, newValue) => { + val playerViewController = ContentPluginMain.playerViewController + if (oldValue != null) { saveSettingsToPlayerInstance(oldValue) + playerViewController.highlight(oldValue, on = false) } if (newValue != null) { showSettingsOfPlayerInstance(newValue) + playerViewController.highlight(newValue, on = true) } else { clearTextFields() } -- GitLab