From 58e7c119bdc1ecd84c67dc710b3361f17c1b9da2 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Fri, 27 Nov 2020 20:24:00 +0100
Subject: [PATCH] Fix media path showing on empty path

---
 .../option/pad/GeneralPadTabViewController.java        | 10 +++++++++-
 PlayWall/src/main/resources/lang/ui_de.properties      |  1 +
 .../src/main/resources/view/option/pad/GeneralTab.fxml |  2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/GeneralPadTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/GeneralPadTabViewController.java
index a840e2a6..d3527514 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/GeneralPadTabViewController.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/GeneralPadTabViewController.java
@@ -11,6 +11,7 @@ import de.tobias.playpad.pad.TimeMode;
 import de.tobias.playpad.pad.content.PadContentFactory;
 import de.tobias.playpad.viewcontroller.PadSettingsTabViewController;
 import de.tobias.playpad.viewcontroller.cell.EnumCell;
+import javafx.beans.binding.Bindings;
 import javafx.beans.value.ChangeListener;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -23,6 +24,8 @@ public class GeneralPadTabViewController extends PadSettingsTabViewController {
 
 	@FXML
 	private Label pathLabel;
+	@FXML
+	private Button showPathButton;
 
 	@FXML
 	private TextField titleTextField;
@@ -45,7 +48,12 @@ public class GeneralPadTabViewController extends PadSettingsTabViewController {
 		load("view/option/pad", "GeneralTab", Localization.getBundle());
 		this.pad = pad;
 
-		pathLabel.setText(pad.getPath().toString());
+		if (pad.getPath() != null) {
+			pathLabel.setText(pad.getPath().toString());
+		} else {
+			pathLabel.setText(Localization.getString("padSettings.gen.label.media.empty"));
+		}
+		showPathButton.disableProperty().bind(Bindings.isEmpty(pad.getPaths()));
 
 		if (pad.getStatus() == PadStatus.PLAY || pad.getStatus() == PadStatus.PAUSE) {
 			deleteButton.setDisable(true);
diff --git a/PlayWall/src/main/resources/lang/ui_de.properties b/PlayWall/src/main/resources/lang/ui_de.properties
index 8cb40732..5abd2697 100755
--- a/PlayWall/src/main/resources/lang/ui_de.properties
+++ b/PlayWall/src/main/resources/lang/ui_de.properties
@@ -121,6 +121,7 @@ padSettings.button.delete=L\u00F6schen
 padSettings.button.path.show=Pfad zeigen
 padSettings.button.path.choose=Pfad w\u00E4hlen
 padSettings.gen.label.media=Medien:
+padSettings.gen.label.media.empty=<Keine Auswahl>
 padSettings.gen.label.title=Titel:
 padSettings.gen.label.volume=Lautst\u00E4rke:
 padSettings.gen.label.timeDisplay=Zeitanzeige:
diff --git a/PlayWall/src/main/resources/view/option/pad/GeneralTab.fxml b/PlayWall/src/main/resources/view/option/pad/GeneralTab.fxml
index 50a93bc5..897ebd58 100644
--- a/PlayWall/src/main/resources/view/option/pad/GeneralTab.fxml
+++ b/PlayWall/src/main/resources/view/option/pad/GeneralTab.fxml
@@ -10,7 +10,7 @@
                 <Label alignment="CENTER_RIGHT" prefWidth="150.0" text="%padSettings.gen.label.media"/>
                 <Label fx:id="pathLabel" text="Label" textOverrun="CENTER_ELLIPSIS"/>
                 <VBox HBox.hgrow="ALWAYS"/>
-                <Button mnemonicParsing="false" onAction="#showPathButtonHandler" text="%padSettings.button.path.show"/>
+                <Button fx:id="showPathButton" mnemonicParsing="false" onAction="#showPathButtonHandler" text="%padSettings.button.path.show"/>
             </children>
         </HBox>
         <HBox spacing="14.0">
-- 
GitLab