From 4f436a636cb486d147fb8249de9b4afd67bd798b Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sun, 13 Oct 2019 20:00:08 +0100 Subject: [PATCH] implement drop on MW -> share files/directories --- .../views/com/muwire/gui/MainFrameView.groovy | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 79b5a10f..ee76ee96 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -18,6 +18,7 @@ import javax.swing.JSplitPane import javax.swing.JTable import javax.swing.ListSelectionModel import javax.swing.SwingConstants +import javax.swing.TransferHandler import javax.swing.border.Border import javax.swing.table.DefaultTableCellRenderer @@ -34,6 +35,7 @@ import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets import java.awt.Toolkit +import java.awt.datatransfer.DataFlavor import java.awt.datatransfer.StringSelection import java.awt.event.MouseAdapter import java.awt.event.MouseEvent @@ -400,6 +402,22 @@ class MainFrameView { } void mvcGroupInit(Map args) { + + def mainFrame = builder.getVariable("main-frame") + mainFrame.setTransferHandler(new TransferHandler() { + public boolean canImport(TransferHandler.TransferSupport support) { + return support.isDataFlavorSupported(DataFlavor.javaFileListFlavor) + } + public boolean importData(TransferHandler.TransferSupport support) { + def files = support.getTransferable().getTransferData(DataFlavor.javaFileListFlavor) + files.each { + model.core.eventBus.publish(new FileSharedEvent(file : it)) + } + showUploadsWindow.call() + true + } + }) + def downloadsTable = builder.getVariable("downloads-table") def selectionModel = downloadsTable.getSelectionModel() selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)