From 5ca0c8b00d93b0c7173b4e5ba6298b969c0243b9 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Fri, 14 Jun 2019 18:08:56 +0100 Subject: [PATCH] wip on unshare selected files popup menu --- .../com/muwire/gui/MainFrameController.groovy | 4 +++ .../views/com/muwire/gui/MainFrameView.groovy | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy b/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy index 81bbb194..7e541868 100644 --- a/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy +++ b/gui/griffon-app/controllers/com/muwire/gui/MainFrameController.groovy @@ -181,6 +181,10 @@ class MainFrameController { model.hashSearch = true } + void unshareSelectedFiles() { + println "unsharing selected files" + } + void mvcGroupInit(Map args) { application.addPropertyChangeListener("core", {e-> core = e.getNewValue() diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 208fc074..c8002bbd 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -10,6 +10,8 @@ import javax.swing.Box import javax.swing.BoxLayout import javax.swing.JFileChooser import javax.swing.JLabel +import javax.swing.JMenuItem +import javax.swing.JPopupMenu import javax.swing.JSplitPane import javax.swing.ListSelectionModel import javax.swing.SwingConstants @@ -26,6 +28,8 @@ import java.awt.FlowLayout import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets +import java.awt.event.MouseAdapter +import java.awt.event.MouseEvent import java.nio.charset.StandardCharsets import javax.annotation.Nonnull @@ -293,6 +297,27 @@ class MainFrameView { // shared files table def sharedFilesTable = builder.getVariable("shared-files-table") sharedFilesTable.columnModel.getColumn(1).setCellRenderer(new SizeRenderer()) + + JPopupMenu sharedFilesMenu = new JPopupMenu() + JMenuItem unshareSelectedFiles = new JMenuItem("Unshare selected files") + unshareSelectedFiles.addActionListener({mvcGroup.controller.unshareSelectedFiles()}) + sharedFilesMenu.add(unshareSelectedFiles) + sharedFilesTable.addMouseListener(new MouseAdapter() { + @Override + public void mouseReleased(MouseEvent e) { + if (e.isPopupTrigger()) + showPopupMenu(sharedFilesMenu, e) + } + @Override + public void mousePressed(MouseEvent e) { + if (e.isPopupTrigger()) + showPopupMenu(sharedFilesMenu, e) + } + }) + } + + def showPopupMenu(JPopupMenu menu, MouseEvent event) { + menu.show(event.getComponent(), event.getX(), event.getY()) } int selectedDownloaderRow() {