From 89a8c8fe1aaa9c622fd94e957c14cced0d895374 Mon Sep 17 00:00:00 2001
From: tobias <tobias.ullerich@icloud.com>
Date: Thu, 11 Aug 2016 21:40:12 +0200
Subject: [PATCH] Implement multiple page dragging

---
 .../DesktopMenuToolbarViewController.java     |  1 +
 .../layout/desktop/PageButtonDragHandler.java | 23 +++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 PlayWall/src/de/tobias/playpad/layout/desktop/PageButtonDragHandler.java

diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
index adc1a04d..f29403b6 100644
--- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
+++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java
@@ -193,6 +193,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro
 		for (int i = 0; i < openProject.getSettings().getPageCount(); i++) {
 			Button button = new Button(Localization.getString(Strings.UI_Window_Main_PageButton, (i + 1)));
 			button.setUserData(i);
+			button.setOnDragOver(new PageButtonDragHandler(mainViewController, i));
 			button.setFocusTraversable(false);
 			button.setOnAction(this);
 			pageHBox.getChildren().add(button);
diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/PageButtonDragHandler.java b/PlayWall/src/de/tobias/playpad/layout/desktop/PageButtonDragHandler.java
new file mode 100644
index 00000000..64b67e72
--- /dev/null
+++ b/PlayWall/src/de/tobias/playpad/layout/desktop/PageButtonDragHandler.java
@@ -0,0 +1,23 @@
+package de.tobias.playpad.layout.desktop;
+
+import de.tobias.playpad.viewcontroller.main.IMainViewController;
+import javafx.event.EventHandler;
+import javafx.scene.input.DragEvent;
+
+public class PageButtonDragHandler implements EventHandler<DragEvent> {
+
+	private IMainViewController controller;
+	private int page;
+
+	public PageButtonDragHandler(IMainViewController controller, int page) {
+		this.controller = controller;
+		this.page = page;
+	}
+
+	public void handle(DragEvent event) {
+		if (event.getEventType() == DragEvent.DRAG_OVER) {
+			controller.showPage(page);
+		}
+	}
+
+}
-- 
GitLab