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