right-click menu, fix selectedResults()

auto-update
Zlatin Balevsky 2021-10-05 02:08:36 +01:00
parent d69143a107
commit 83577671ef
No known key found for this signature in database
GPG Key ID: A72832072D525E41
1 changed files with 36 additions and 11 deletions

View File

@ -111,10 +111,44 @@ class BrowseView {
} }
} }
// right-click menu
def mouseListener = new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e)
}
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e)
}
}
// results tree // results tree
JTree resultsTree = builder.getVariable("results-tree") JTree resultsTree = builder.getVariable("results-tree")
resultsTree.addTreeExpansionListener(treeExpansions) resultsTree.addTreeExpansionListener(treeExpansions)
resultsTree.setCellRenderer(new ResultTreeRenderer()) resultsTree.setCellRenderer(new ResultTreeRenderer())
resultsTree.addMouseListener(mouseListener)
resultsTree.addTreeSelectionListener({
model.downloadActionEnabled = false
model.viewCertificatesActionEnabled = false
model.viewCommentActionEnabled = false
model.viewCollectionsActionEnabled = false
TreePath[] selected = resultsTree.selectionModel.getSelectionPaths()
if (selected == null || selected.length == 0) {
return
}
model.downloadActionEnabled = true
if (selected.length == 1) {
def userObject = selected[0].getLastPathComponent().getUserObject()
if (userObject instanceof UIResultEvent) {
UIResultEvent result = (UIResultEvent) userObject
model.viewCommentActionEnabled = result.comment != null
model.viewCollectionsActionEnabled = !result.collections.isEmpty()
model.viewCertificatesActionEnabled = result.certificates > 0
}
}
})
// results table // results table
def centerRenderer = new DefaultTableCellRenderer() def centerRenderer = new DefaultTableCellRenderer()
@ -161,16 +195,7 @@ class BrowseView {
model.downloadActionEnabled = downloadActionEnabled model.downloadActionEnabled = downloadActionEnabled
}) })
resultsTable.addMouseListener(new MouseAdapter() { resultsTable.addMouseListener(mouseListener)
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e)
}
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger())
showMenu(e)
}
})
p.putClientProperty("focusListener", new FocusListener()) p.putClientProperty("focusListener", new FocusListener())
} }
@ -298,8 +323,8 @@ class BrowseView {
List<UIResultEvent> rv = new ArrayList<>() List<UIResultEvent> rv = new ArrayList<>()
for (TreePath path : tree.getSelectionPaths()) { for (TreePath path : tree.getSelectionPaths()) {
TreeUtil.getLeafs(path.getLastPathComponent(), rv) TreeUtil.getLeafs(path.getLastPathComponent(), rv)
return rv
} }
return rv
} else { } else {
int[] rows = resultsTable.getSelectedRows() int[] rows = resultsTable.getSelectedRows()
if (rows.length == 0) if (rows.length == 0)