From 92e331031dc4e7463ff56ba043069d5e26d2acfa Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Wed, 2 Dec 2020 20:42:35 +0100
Subject: [PATCH] Prevent content player view from closing, close view on app
 terminate

---
 .../playpad/viewcontroller/main/MainViewController.java     | 1 +
 .../tobias/playpad/plugin/content/ContentPluginMain.scala   | 2 +-
 .../plugin/content/player/ContentPlayerViewController.scala | 6 ++++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java
index b2bf4ab7..ec8f51a3 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java
@@ -363,6 +363,7 @@ public class MainViewController extends NVC implements IMainViewController, Noti
 				}
 			}
 		}
+		Platform.exit();
 		return true;
 	}
 
diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPluginMain.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPluginMain.scala
index 79642595..2756703e 100644
--- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPluginMain.scala
+++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/ContentPluginMain.scala
@@ -28,7 +28,7 @@ class ContentPluginMain extends PlayPadPluginStub with SettingsListener with Pro
 	}
 
 	override def shutdown(): Unit = {
-
+		ContentPluginMain.playerViewController.getStageContainer.ifPresent(container => container.forceClose())
 	}
 
 	override def getModule: Module = module
diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/player/ContentPlayerViewController.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/player/ContentPlayerViewController.scala
index 5a71719d..161313d0 100644
--- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/player/ContentPlayerViewController.scala
+++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/player/ContentPlayerViewController.scala
@@ -1,8 +1,8 @@
 package de.tobias.playpad.plugin.content.player
 
 import de.thecodelabs.logger.Logger
-import de.thecodelabs.utils.ui.NVC
 import de.thecodelabs.utils.ui.size.IgnoreStageSizing
+import de.thecodelabs.utils.ui.{NVC, NVCStage}
 import de.tobias.playpad.plugin.content.settings.{Zone, ZoneConfiguration}
 import de.tobias.playpad.project.page.PadIndex
 import javafx.geometry.Insets
@@ -19,7 +19,9 @@ class ContentPlayerViewController extends NVC {
 	private val mediaStacks: ListBuffer[MediaPlayerStack] = ListBuffer.empty
 
 	load("view", "PlayerView")
-	applyViewControllerToStage
+	private val stageContainer: NVCStage = applyViewControllerToStage
+	stageContainer.addCloseHook(() => false)
+
 	Logger.debug("Create Player View Controller")
 
 	override def init(): Unit = {
-- 
GitLab