From 7a5d71dc36d073c8fddf30e560fa0356dbb54cd0 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 17 Oct 2019 19:01:53 +0100 Subject: [PATCH] add copy name to clipboard option --- .../views/com/muwire/gui/SearchTabView.groovy | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy b/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy index 3b686bd2..df437c51 100644 --- a/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/SearchTabView.groovy @@ -226,6 +226,9 @@ class SearchTabView { JMenuItem copyHashToClipboard = new JMenuItem("Copy hash to clipboard") copyHashToClipboard.addActionListener({mvcGroup.view.copyHashToClipboard()}) menu.add(copyHashToClipboard) + JMenuItem copyNameToClipboard = new JMenuItem("Copy name to clipboard") + copyNameToClipboard.addActionListener({mvcGroup.view.copyNameToClipboard()}) + menu.add(copyNameToClipboard) showMenu = true // show comment if any @@ -241,20 +244,36 @@ class SearchTabView { if (showMenu) menu.show(e.getComponent(), e.getX(), e.getY()) } - - def copyHashToClipboard() { + + private UIResultEvent getSelectedResult() { int[] selectedRows = resultsTable.getSelectedRows() if (selectedRows.length != 1) - return + return null int selected = selectedRows[0] if (lastSortEvent != null) selected = resultsTable.rowSorter.convertRowIndexToModel(selected) - String hash = Base64.encode(model.results[selected].infohash.getRoot()) + model.results[selected] + } + + def copyHashToClipboard() { + def result = getSelectedResult() + if (result == null) + return + String hash = Base64.encode(result.infohash.getRoot()) StringSelection selection = new StringSelection(hash) def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() clipboard.setContents(selection, null) } + def copyNameToClipboard() { + def result = getSelectedResult() + if (result == null) + return + StringSelection selection = new StringSelection(result.getName()) + def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() + clipboard.setContents(selection, null) + } + def showComment() { int selectedRow = resultsTable.getSelectedRow() if (selectedRow < 0)