From 975fbe53de9cf980665ab4d5809a148880985a9f Mon Sep 17 00:00:00 2001 From: Florian Kargl Date: Sat, 20 Aug 2022 15:03:49 +0200 Subject: [PATCH] Allow selection of relations in relation membership table via middle click --- .../dialogs/properties/PropertiesDialog.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java b/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java index 5fd62166f4e..7c04314cba8 100644 --- a/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java +++ b/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java @@ -999,6 +999,25 @@ public Collection getSelection() { public class MouseClickWatch extends MouseAdapter { @Override public void mouseClicked(MouseEvent e) { + if (e.getSource() == membershipTable && e.getButton() == MouseEvent.BUTTON2) { + int row = membershipTable.rowAtPoint(e.getPoint()); + if (row > -1) { + final Relation relation = (Relation) membershipData.getValueAt(row, 0); + DataSet ds = OsmDataManager.getInstance().getActiveDataSet(); + + if (ds != null) { + if (e.isShiftDown()) { + ds.addSelected(relation); + } else if (e.isControlDown()) { + ds.toggleSelected(relation); + } else { + ds.setSelected(relation); + } + } + } + return; + } + if (e.getClickCount() < 2) { // single click, clear selection in other table not clicked in if (e.getSource() == tagTable) {