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 e8f67631f964225e4daafa8fce98f5f107f7aad4..67dfcc1425177a017202d444277022733bc6e987 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
@@ -54,7 +54,7 @@ public class DesktopPadDragListener implements EventHandler<DragEvent> {
 		this.padView.setOnDragOver(this::dragOver);
 		this.padView.setOnDragExited(event -> dragExited());
 		this.padView.setOnDragDropped(this::dragDropped);
-		this.padView.setOnDragDetected(this::dragDetacted);
+		this.padView.setOnDragDetected(this::dragDetected);
 	}
 
 	void removeListener() {
@@ -76,52 +76,52 @@ public class DesktopPadDragListener implements EventHandler<DragEvent> {
 	}
 
 	private void dragOver(DragEvent event) {
-		if (Profile.currentProfile().getProfileSettings().isLocked()) {
+		if (Profile.currentProfile().getProfileSettings().isLocked() || checkLiveMode()) {
 			return;
 		}
 
 		if (event.getGestureSource() != this && event.getDragboard().hasFiles()) {
-			File file = event.getDragboard().getFiles().get(0);
-			if (file.isFile()) {
-				// Check Live Mode
-				if (checkLiveMode()) {
-					return;
-				}
+			handleFileDropOver(event);
+		} else if (event.getDragboard().hasContent(dataFormat)) {
+			handlePadDragOver(event);
+		}
+		event.consume();
+	}
 
-				// Build In Filesupport
-				PadContentRegistry registry = PlayPadPlugin.getRegistries().getPadContents();
-				Set<PadContentFactory> connects = registry.getPadContentConnectsForFile(file.toPath());
+	private void handleFileDropOver(DragEvent event) {
+		final File file = event.getDragboard().getFiles().get(0);
+		if (file.isFile()) {
 
-				if (!connects.isEmpty()) {
-					if (fileHud == null) {
-						fileHud = new FileDragOptionView(padView);
-					}
-					fileHud.showOptions(connects);
+			// built-in file support
+			PadContentRegistry registry = PlayPadPlugin.getRegistries().getPadContents();
+			Set<PadContentFactory> connects = registry.getPadContentConnectsForFile(file.toPath());
 
-					event.acceptTransferModes(TransferMode.LINK);
-					return;
+			if (!connects.isEmpty()) {
+				if (fileHud == null) {
+					fileHud = new FileDragOptionView(padView);
 				}
+				fileHud.showOptions(connects);
+
+				event.acceptTransferModes(TransferMode.LINK);
 			}
 		}
+	}
 
-		// Drag and Drop von Pads
-		if (event.getDragboard().hasContent(dataFormat)) {
-			PadIndex index = (PadIndex) event.getDragboard().getContent(dataFormat);
-			if (!currentPad.getPadIndex().equals(index)) {
-
-				Collection<PadDragMode> connects = PlayPadPlugin.getRegistries().getDragModes().getComponents();
+	private void handlePadDragOver(DragEvent event) {
+		PadIndex index = (PadIndex) event.getDragboard().getContent(dataFormat);
+		if (!currentPad.getPadIndex().equals(index)) {
 
-				if (!connects.isEmpty()) {
-					if (padHud == null) {
-						padHud = new PadDragOptionView(padView);
-					}
-					padHud.showDropOptions(connects);
+			Collection<PadDragMode> connects = PlayPadPlugin.getRegistries().getDragModes().getComponents();
 
-					event.acceptTransferModes(TransferMode.MOVE);
+			if (!connects.isEmpty()) {
+				if (padHud == null) {
+					padHud = new PadDragOptionView(padView);
 				}
+				padHud.showDropOptions(connects);
+
+				event.acceptTransferModes(TransferMode.MOVE);
 			}
 		}
-		event.consume();
 	}
 
 	private void dragExited() {
@@ -135,72 +135,81 @@ public class DesktopPadDragListener implements EventHandler<DragEvent> {
 
 	// Drag Content ist los gelassen am Ziel
 	private void dragDropped(DragEvent event) {
-		Project project = PlayPadPlugin.getInstance().getCurrentProject();
+		final Project project = PlayPadPlugin.getInstance().getCurrentProject();
 
-		Dragboard db = event.getDragboard();
+		final Dragboard dragboard = event.getDragboard();
 		boolean success = false;
 
 		// File Handling
-		if (db.hasFiles()) {
-			File file = db.getFiles().get(0);
-
-			final PadContentFactory connect = fileHud.getSelectedConnect();
-			if (connect != null) {
-				// stop pad if playing
-				if (currentPad.getContent() != null && currentPad.getStatus().equals(PadStatus.PLAY)) {
-					currentPad.getContent().stop();
-					currentPad.stop();
-				}
+		if (dragboard.hasFiles()) {
+			handleFileDragDropped(dragboard);
+		}
 
-				if (currentPad.getContent() == null || !currentPad.getContent().getType().equals(connect.getType())) {
-					currentPad.setContentType(connect.getType());
-				}
+		// Pad DnD
+		if (dragboard.hasContent(dataFormat)) {
+			success = handlePadDragDropped(project, dragboard, success);
+		}
+		// Event Completion
+		event.setDropCompleted(success);
+		event.consume();
+	}
 
-				if (currentPad.isPadVisible()) {
-					currentPad.getController().getView().showBusyView(true);
-				}
+	private void handleFileDragDropped(Dragboard dragboard) {
+		File file = dragboard.getFiles().get(0);
 
-				if (currentPad.getContent() instanceof Playlistable) {
-					this.currentPad.addPath(file.toPath());
-				} else {
-					this.currentPad.setPath(file.toPath());
-				}
+		final PadContentFactory connect = fileHud.getSelectedConnect();
+		if (connect != null) {
+			// stop pad if playing
+			if (currentPad.getContent() != null && currentPad.getStatus().equals(PadStatus.PLAY)) {
+				currentPad.getContent().stop();
+				currentPad.stop();
+			}
 
-				if (currentPad.getController() != null) {
-					final IPadView padView = currentPad.getController().getView();
-					padView.setContentView(currentPad);
-					padView.addDefaultElements(currentPad);
-				}
+			if (currentPad.getContent() == null || !currentPad.getContent().getType().equals(connect.getType())) {
+				currentPad.setContentType(connect.getType());
+			}
+
+			if (currentPad.isPadVisible()) {
+				currentPad.getController().getView().showBusyView(true);
+			}
+
+			if (currentPad.getContent() instanceof Playlistable) {
+				this.currentPad.addPath(file.toPath());
+			} else {
+				this.currentPad.setPath(file.toPath());
+			}
+
+			if (currentPad.getController() != null) {
+				final IPadView padView = currentPad.getController().getView();
+				padView.setContentView(currentPad);
+				padView.addDefaultElements(currentPad);
 			}
 		}
+	}
 
-		// Pad DnD
-		if (db.hasContent(dataFormat)) {
-			Object data = db.getContent(dataFormat);
-			if (data instanceof PadIndex) {
-				PadIndex srcIndex = (PadIndex) data;
-				PadIndex newIndex = currentPad.getPadIndex(); // Lister ist auf Ziel Pad, daher ist der Index von currentPad
-
-				// Drag handle
-				PadDragMode mode = padHud.getSelectedPadDragMode();
-				success = mode.handle(srcIndex, newIndex, project);
-				padHud.hide();
-
-				// Update der Pad Views nach dem DnD
-				IMainViewController mainViewController = PlayPadPlugin.getInstance().getMainViewController();
-				mainViewController.showPage(mainViewController.getPage());
-
-				if (project.getProjectReference().isSync()) {
-					CommandManager.execute(Commands.PAD_MOVE);
-				}
+	private boolean handlePadDragDropped(Project project, Dragboard dragboard, boolean success) {
+		Object data = dragboard.getContent(dataFormat);
+		if (data instanceof PadIndex) {
+			PadIndex srcIndex = (PadIndex) data;
+			PadIndex newIndex = currentPad.getPadIndex(); // Lister ist auf Ziel Pad, daher ist der Index von currentPad
+
+			// Drag handle
+			PadDragMode mode = padHud.getSelectedPadDragMode();
+			success = mode.handle(srcIndex, newIndex, project);
+			padHud.hide();
+
+			// Update der Pad Views nach dem DnD
+			IMainViewController mainViewController = PlayPadPlugin.getInstance().getMainViewController();
+			mainViewController.showPage(mainViewController.getPage());
+
+			if (project.getProjectReference().isSync()) {
+				CommandManager.execute(Commands.PAD_MOVE);
 			}
 		}
-		// Event Completion
-		event.setDropCompleted(success);
-		event.consume();
+		return success;
 	}
 
-	private void dragDetacted(MouseEvent event) {
+	private void dragDetected(MouseEvent event) {
 		if (connect.getEditMode() == DesktopEditMode.DRAG) {
 			if (checkLiveMode()) {
 				return;
@@ -234,9 +243,7 @@ public class DesktopPadDragListener implements EventHandler<DragEvent> {
 	private boolean checkLiveMode() {
 		GlobalSettings globalSettings = PlayPadPlugin.getInstance().getGlobalSettings();
 		if (currentPad.getProject() != null) {
-			if (globalSettings.isLiveMode() && globalSettings.isLiveModeFile() && currentPad.getProject().getActivePlayers() > 0) {
-				return true;
-			}
+			return globalSettings.isLiveMode() && globalSettings.isLiveModeFile() && currentPad.getProject().getActivePlayers() > 0;
 		}
 		return false;
 	}
diff --git a/PlayWall/src/main/java/de/tobias/playpad/view/PadDragOptionView.java b/PlayWall/src/main/java/de/tobias/playpad/view/PadDragOptionView.java
index 205250172cbe517acfb7cb51d1f052de96eae133..7dac34cde41953601b45c78688458d1418ed47ec 100644
--- a/PlayWall/src/main/java/de/tobias/playpad/view/PadDragOptionView.java
+++ b/PlayWall/src/main/java/de/tobias/playpad/view/PadDragOptionView.java
@@ -100,7 +100,7 @@ public class PadDragOptionView {
 			parent.getChildren().add(optionPane);
 			optionPane.getChildren().clear();
 
-			for (PadDragMode connect : options.stream().sorted().toArray(value -> new PadDragMode[value])) {
+			for (PadDragMode connect : options.stream().sorted().toArray(PadDragMode[]::new)) {
 				Label label = new Label();
 				label.getStyleClass().add("dnd-file-option");