diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java b/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
index 68626a7..2d3fdf4 100644
|
a
|
b
|
public class ConflictResolver extends JPanel implements PropertyChangeListener {
|
| 346 | 346 | } |
| 347 | 347 | |
| 348 | 348 | /** |
| | 349 | * Adds all registered listeners by this conflict resolver |
| | 350 | * @see #unregisterListeners() |
| | 351 | */ |
| | 352 | public void registerListeners() { |
| | 353 | nodeListMerger.registerListeners(); |
| | 354 | relationMemberMerger.registerListeners(); |
| | 355 | } |
| | 356 | |
| | 357 | /** |
| 349 | 358 | * Removes all registered listeners by this conflict resolver |
| 350 | 359 | */ |
| 351 | 360 | public void unregisterListeners() { |
| 352 | | nodeListMerger.unlinkAsListener(); |
| 353 | | relationMemberMerger.unlinkAsListener(); |
| | 361 | nodeListMerger.unregisterListeners(); |
| | 362 | relationMemberMerger.unregisterListeners(); |
| 354 | 363 | } |
| 355 | 364 | |
| 356 | 365 | /** |
diff --git a/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java b/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java
index fd0753e..152e17c 100644
|
a
|
b
|
public abstract class ListMerger<T extends PrimitiveId> extends JPanel implement
|
| 882 | 882 | ); |
| 883 | 883 | } |
| 884 | 884 | |
| 885 | | public void unlinkAsListener() { |
| 886 | | myEntriesTable.unlinkAsListener(); |
| 887 | | mergedEntriesTable.unlinkAsListener(); |
| 888 | | theirEntriesTable.unlinkAsListener(); |
| | 885 | /** |
| | 886 | * Adds all registered listeners by this merger |
| | 887 | * @see #unregisterListeners() |
| | 888 | */ |
| | 889 | public void registerListeners() { |
| | 890 | myEntriesTable.registerListeners(); |
| | 891 | mergedEntriesTable.registerListeners(); |
| | 892 | theirEntriesTable.registerListeners(); |
| | 893 | } |
| | 894 | |
| | 895 | /** |
| | 896 | * Removes all registered listeners by this merger |
| | 897 | */ |
| | 898 | public void unregisterListeners() { |
| | 899 | myEntriesTable.unregisterListeners(); |
| | 900 | mergedEntriesTable.unregisterListeners(); |
| | 901 | theirEntriesTable.unregisterListeners(); |
| 889 | 902 | } |
| 890 | 903 | |
| 891 | 904 | protected final <P extends OsmPrimitive> OsmDataLayer findLayerFor(P primitive) { |
diff --git a/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java b/src/org/openstreetmap/josm/gui/dialogs/ConflictResolutionDialog.java
index ee637b7..fcd2344 100644
|
a
|
b
|
public class ConflictResolutionDialog extends JDialog implements PropertyChangeL
|
| 51 | 51 | } |
| 52 | 52 | |
| 53 | 53 | @Override |
| | 54 | public void addNotify() { |
| | 55 | super.addNotify(); |
| | 56 | registerListeners(); |
| | 57 | } |
| | 58 | |
| | 59 | @Override |
| 54 | 60 | public void setVisible(boolean isVisible) { |
| 55 | 61 | String geom = getClass().getName() + ".geometry"; |
| 56 | 62 | if (isVisible) { |
| … |
… |
public class ConflictResolutionDialog extends JDialog implements PropertyChangeL
|
| 61 | 67 | if (isShowing()) { // Avoid IllegalComponentStateException like in #8775 |
| 62 | 68 | new WindowGeometry(this).remember(geom); |
| 63 | 69 | } |
| 64 | | unregisterListeners(); |
| 65 | 70 | } |
| 66 | 71 | super.setVisible(isVisible); |
| 67 | 72 | } |
| … |
… |
public class ConflictResolutionDialog extends JDialog implements PropertyChangeL
|
| 98 | 103 | |
| 99 | 104 | private void registerListeners() { |
| 100 | 105 | resolver.addPropertyChangeListener(applyResolutionAction); |
| | 106 | resolver.registerListeners(); |
| 101 | 107 | } |
| 102 | 108 | |
| 103 | 109 | private void unregisterListeners() { |
| … |
… |
public class ConflictResolutionDialog extends JDialog implements PropertyChangeL
|
| 125 | 131 | |
| 126 | 132 | resolver.addPropertyChangeListener(this); |
| 127 | 133 | HelpUtil.setHelpContext(this.getRootPane(), ht("Dialog/Conflict")); |
| 128 | | |
| 129 | | registerListeners(); |
| 130 | 134 | } |
| 131 | 135 | |
| 132 | 136 | /** |
diff --git a/src/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTable.java b/src/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTable.java
index fe872d0..cafd6aa 100644
|
a
|
b
|
public abstract class OsmPrimitivesTable extends JosmTable {
|
| 82 | 82 | protected JPopupMenu buildPopupMenu() { |
| 83 | 83 | JPopupMenu menu = new JPopupMenu(); |
| 84 | 84 | zoomToAction = buildZoomToAction(); |
| 85 | | Main.getLayerManager().addLayerChangeListener(zoomToAction); |
| 86 | | Main.getLayerManager().addActiveLayerChangeListener(zoomToAction); |
| 87 | 85 | getSelectionModel().addListSelectionListener(zoomToAction); |
| 88 | 86 | menu.add(zoomToAction); |
| 89 | 87 | return menu; |
| 90 | 88 | } |
| 91 | 89 | |
| 92 | | public void unlinkAsListener() { |
| | 90 | /** |
| | 91 | * Adds all registered listeners by this table |
| | 92 | * @see #unregisterListeners() |
| | 93 | */ |
| | 94 | public void registerListeners() { |
| | 95 | Main.getLayerManager().addLayerChangeListener(zoomToAction); |
| | 96 | Main.getLayerManager().addActiveLayerChangeListener(zoomToAction); |
| | 97 | } |
| | 98 | |
| | 99 | /** |
| | 100 | * Removes all registered listeners by this table |
| | 101 | */ |
| | 102 | public void unregisterListeners() { |
| 93 | 103 | Main.getLayerManager().removeLayerChangeListener(zoomToAction); |
| 94 | 104 | Main.getLayerManager().removeActiveLayerChangeListener(zoomToAction); |
| 95 | 105 | } |