From 95f4a18b63aaa80654e612544f10ece0ab792205 Mon Sep 17 00:00:00 2001
From: tobias <tobias.ullerich@icloud.com>
Date: Fri, 8 Jul 2016 21:08:25 +0200
Subject: [PATCH] Disable the opportunity to open pad settings multiple times
 for one pad

---
 .../viewcontroller/pad/PadViewController.java | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
index e39abcda..1f112d73 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/pad/PadViewController.java
@@ -54,6 +54,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 	private PadPositionListener padPositionListener;
 
 	private PadDragListener padDragListener;
+	private transient PadSettingsViewController padSettingsViewController;
 
 	public PadViewController() {
 		view = new PadView(this);
@@ -183,13 +184,15 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 			}
 
 			Stage owner = mvc.getStage();
-			PadSettingsViewController controller = new PadSettingsViewController(pad, owner);
-			controller.getStage().setOnHiding(ev ->
-			{
-				if (view != null && pad != null)
-					view.setTriggerLabelActive(pad.hasTriggerItems());
-			});
-			controller.getStage().show();
+			if (padSettingsViewController == null) {
+				padSettingsViewController = new PadSettingsViewController(pad, owner);
+				padSettingsViewController.getStage().setOnHiding(ev ->
+				{
+					if (view != null && pad != null)
+						view.setTriggerLabelActive(pad.hasTriggerItems());
+				});
+			}
+			padSettingsViewController.getStage().show();
 		}
 	}
 
@@ -230,7 +233,7 @@ public class PadViewController implements EventHandler<ActionEvent>, IPadViewCon
 	@Override
 	public void setPad(Pad pad) {
 		unconnectPad();
-		
+
 		this.pad = pad;
 
 		view.setPreviewContent(pad);
-- 
GitLab