Modify

Opened 12 months ago

Closed 11 months ago

Last modified 11 months ago

#7750 closed enhancement (fixed)

Conflict resolution: select member objects

Reported by: Cobra Owned by: team
Priority: major Component: Core
Version: Keywords:
Cc:

Description

It's nearly impossible to resolve conflicts especially for relations without being able to visually identify the affected ways or nodes. The same is true for nodes of ways.

Therefore I'd like to have the possibility of selecting objects in the "member" and "nodes" tab of the conflict resolution dialog.

Attachments (0)

Change History (9)

comment:1 Changed 12 months ago by skyper

This will only work if #4494 is fixed and would nicly work with #4493.

comment:2 Changed 11 months ago by Don-vip

  • Resolution set to fixed
  • Status changed from new to closed

In 5297/josm:

fix #4493, fix #7750: conflict dialog, nodes and members tab: allow selection via double-click, allow zoom via contexual menu, plus various fix in EDT violations

comment:3 Changed 11 months ago by skyper

  • Resolution fixed deleted
  • Status changed from closed to reopened

I am not able to select (and zoom) nodes with id:0. Tested with attachment:ticket:7333:samples.osm.tar.bz2

r5300

comment:4 Changed 11 months ago by Don-vip

  • Resolution set to fixed
  • Status changed from reopened to closed

In 5301/josm:

fix #4493, fix #7750 - conflict manager: select and zoom primitives with id:0

comment:5 Changed 11 months ago by skyper

  • Resolution fixed deleted
  • Status changed from closed to reopened

Sorry, but the node (id:0) is not highlighted. Only after I zoom on it highlighting turns on (r5309).

EDT: It is also missing in the selection list.

Last edited 11 months ago by skyper (previous) (diff)

comment:6 Changed 11 months ago by Don-vip

  • Resolution set to fixed
  • Status changed from reopened to closed

In 5310/josm:

fix #7750 - Conflict dialog: Really selects id:0 primitives without zooming

comment:7 follow-up: Changed 11 months ago by skyper

I also noticed following exception on the console using sample files from #7266 double-clicking on the node in the conflict dialogue but maybe it is already fixed:

JOSM expected to find primitive [node -4] in dataset but it is not there. Please report this at http://josm.openstreetmap.de/. This is not a critical error, it should be safe to continue in your work.
java.lang.Exception
	at org.openstreetmap.josm.data.osm.DataSet.getPrimitiveByIdChecked(DataSet.java:806)
	at org.openstreetmap.josm.data.osm.DataSet.addSelected(DataSet.java:654)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:596)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:616)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:625)
	at org.openstreetmap.josm.gui.widgets.OsmPrimitivesTable$DblClickHandler.setSelection(OsmPrimitivesTable.java:103)
	at org.openstreetmap.josm.gui.widgets.OsmPrimitivesTable$DblClickHandler.mouseClicked(OsmPrimitivesTable.java:123)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
	at java.awt.Component.processMouseEvent(Component.java:6139)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:5901)
	at java.awt.Container.processEvent(Container.java:2105)
	at java.awt.Component.dispatchEventImpl(Component.java:4497)
	at java.awt.Container.dispatchEventImpl(Container.java:2163)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4134)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
	at java.awt.Container.dispatchEventImpl(Container.java:2149)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
	at java.awt.EventQueue.access$000(EventQueue.java:96)
	at java.awt.EventQueue$1.run(EventQueue.java:608)
	at java.awt.EventQueue$1.run(EventQueue.java:606)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
	at java.awt.EventQueue$2.run(EventQueue.java:622)
	at java.awt.EventQueue$2.run(EventQueue.java:620)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
	at java.awt.Dialog$1.run(Dialog.java:1072)
	at java.awt.Dialog$3.run(Dialog.java:1126)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Dialog.java:1124)
	at java.awt.Component.show(Component.java:1492)
	at java.awt.Component.setVisible(Component.java:1444)
	at java.awt.Window.setVisible(Window.java:842)
	at java.awt.Dialog.setVisible(Dialog.java:1011)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.setVisible(ConflictResolutionDialog.java:61)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.resolve(ConflictDialog.java:147)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.access$000(ConflictDialog.java:57)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$ResolveAction.actionPerformed(ConflictDialog.java:350)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6136)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:5901)
	at java.awt.Container.processEvent(Container.java:2105)
	at java.awt.Component.dispatchEventImpl(Component.java:4497)
	at java.awt.Container.dispatchEventImpl(Container.java:2163)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
	at java.awt.Container.dispatchEventImpl(Container.java:2149)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
	at java.awt.EventQueue.access$000(EventQueue.java:96)
	at java.awt.EventQueue$1.run(EventQueue.java:608)
	at java.awt.EventQueue$1.run(EventQueue.java:606)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
	at java.awt.EventQueue$2.run(EventQueue.java:622)
	at java.awt.EventQueue$2.run(EventQueue.java:620)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

comment:8 in reply to: ↑ 7 Changed 11 months ago by Don-vip

Replying to skyper:

maybe it is already fixed

Yes :) But thanks for your investigations !

comment:9 Changed 11 months ago by skyper

By the way, I would say this is a major enhancement and at least one or two major tickets with exception within conflicts dialogue/resolution are fixed thanks to your work and should be mentioned under Changelog.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed .
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.