From cf63be68e878b7818b70e3a645e859373a1607bf Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sun, 16 Jun 2019 08:38:47 +0100 Subject: [PATCH] copy search to clipboard --- .../views/com/muwire/gui/MainFrameView.groovy | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index f11dfc0b..315103e3 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -331,6 +331,26 @@ class MainFrameView { showPopupMenu(sharedFilesMenu, e) } }) + + // searches table + def searchesTable = builder.getVariable("searches-table") + JPopupMenu searchTableMenu = new JPopupMenu() + JMenuItem copySearchToClipboard = new JMenuItem("Copy search to clipboard") + copySearchToClipboard.addActionListener({mvcGroup.view.copySearchToClipboard(searchesTable)}) + searchTableMenu.add(copySearchToClipboard) + searchesTable.addMouseListener(new MouseAdapter() { + @Override + public void mouseReleased(MouseEvent e) { + if (e.isPopupTrigger()) + showPopupMenu(searchTableMenu, e) + } + @Override + public void mousePressed(MouseEvent e) { + if (e.isPopupTrigger()) + showPopupMenu(searchTableMenu, e) + } + }) + } def showPopupMenu(JPopupMenu menu, MouseEvent event) { @@ -348,6 +368,16 @@ class MainFrameView { def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() clipboard.setContents(selection, null) } + + def copySearchToClipboard(JTable searchesTable) { + int selected = searchesTable.getSelectedRow() + if (selected < 0) + return + String search = model.searches[selected].search + StringSelection selection = new StringSelection(search) + def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() + clipboard.setContents(selection, null) + } int selectedDownloaderRow() { int selected = builder.getVariable("downloads-table").getSelectedRow()