From ea6bcb066e7bcf1997601d93560a953c3acb9356 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Sat, 5 Dec 2020 19:17:18 +0100
Subject: [PATCH] Fix drag option enable on pad loading

---
 .../playpad/layout/desktop/pad/DesktopPadDragListener.java    | 2 +-
 .../main/java/de/tobias/playpad/pad/content/PadContent.java   | 4 ++++
 .../playpad/plugin/content/pad/ContentPlayerPadContent.scala  | 3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadDragListener.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadDragListener.java
index 7ff5cd64..fff46f26 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadDragListener.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadDragListener.java
@@ -104,7 +104,7 @@ public class DesktopPadDragListener implements EventHandler<DragEvent> {
 			final PadContentRegistry registry = PlayPadPlugin.getRegistries().getPadContents();
 			final List<PadContentFactory> supportedContentTypes = registry.getPadContentConnectsForFiles(paths);
 
-			if (currentPad.getContent() != null && currentPad.getContent().isPadLoaded()) {
+			if (currentPad.getContent() != null && currentPad.getContent().isPadLoading()) {
 				return;
 			}
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
index 0431a444..6c6d943e 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/content/PadContent.java
@@ -40,6 +40,10 @@ public abstract class PadContent {
 
 	public abstract boolean isPadLoaded();
 
+	public boolean isPadLoading() {
+		return false;
+	}
+
 	/**
 	 * Load media files.
 	 */
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 29d076a0..7706ee91 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
@@ -184,6 +184,9 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte
 		loadedOptional.orElse(false)
 	}
 
+
+	override def isPadLoading: Boolean = mediaPlayers.stream().anyMatch(player => player.mediaPlayer.getStatus == MediaPlayer.Status.UNKNOWN)
+
 	/**
 	 * Load media files.
 	 */
-- 
GitLab