Changeset 1690 in josm for trunk/src/org/openstreetmap/josm/gui/conflict/ConflictResolver.java
- Timestamp:
- 23.06.2009 22:03:37 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/conflict/ConflictResolver.java
r1654 r1690 23 23 import org.openstreetmap.josm.gui.conflict.nodes.NodeListMergeModel; 24 24 import org.openstreetmap.josm.gui.conflict.nodes.NodeListMerger; 25 import org.openstreetmap.josm.gui.conflict.properties.OperationCancelledException; 25 26 import org.openstreetmap.josm.gui.conflict.properties.PropertiesMergeModel; 26 27 import org.openstreetmap.josm.gui.conflict.properties.PropertiesMerger; … … 145 146 this.their = their; 146 147 propertiesMerger.getModel().populate(my, their); 148 if (propertiesMerger.getModel().hasVisibleStateConflict()) { 149 tabbedPane.setEnabledAt(1, false); 150 tabbedPane.setEnabledAt(2, false); 151 tabbedPane.setEnabledAt(3, false); 152 return; 153 } 147 154 tabbedPane.setEnabledAt(0, true); 148 155 tagMerger.getModel().populate(my, their); … … 165 172 tabbedPane.setEnabledAt(3, true); 166 173 } 174 167 175 } 168 176 … … 173 181 * @return the resolution command 174 182 */ 175 public Command buildResolveCommand() {183 public Command buildResolveCommand() throws OperationCancelledException { 176 184 ArrayList<Command> commands = new ArrayList<Command>(); 177 if (tagMerger.getModel().getNumResolvedConflicts() > 0) { 178 commands.add(tagMerger.getModel().buildResolveCommand(my, their)); 179 } 180 commands.addAll(propertiesMerger.getModel().buildResolveCommand(my, their)); 181 if (my instanceof Way && nodeListMerger.getModel().isFrozen()) { 182 NodeListMergeModel model =(NodeListMergeModel)nodeListMerger.getModel(); 183 commands.add(model.buildResolveCommand((Way)my, (Way)their)); 184 } else if (my instanceof Relation && relationMemberMerger.getModel().isFrozen()) { 185 RelationMemberListMergeModel model =(RelationMemberListMergeModel)relationMemberMerger.getModel(); 186 commands.add(model.buildResolveCommand((Relation)my, (Relation)their)); 187 } 188 if (isResolvedCompletely()) { 189 commands.add( 190 new VersionConflictResolveCommand(my, their) 191 ); 185 if (propertiesMerger.getModel().hasVisibleStateConflict()) { 186 if (propertiesMerger.getModel().isDecidedVisibleState()) { 187 commands.addAll(propertiesMerger.getModel().buildResolveCommand(my, their)); 188 } 189 } else { 190 if (tagMerger.getModel().getNumResolvedConflicts() > 0) { 191 commands.add(tagMerger.getModel().buildResolveCommand(my, their)); 192 } 193 commands.addAll(propertiesMerger.getModel().buildResolveCommand(my, their)); 194 if (my instanceof Way && nodeListMerger.getModel().isFrozen()) { 195 NodeListMergeModel model =(NodeListMergeModel)nodeListMerger.getModel(); 196 commands.add(model.buildResolveCommand((Way)my, (Way)their)); 197 } else if (my instanceof Relation && relationMemberMerger.getModel().isFrozen()) { 198 RelationMemberListMergeModel model =(RelationMemberListMergeModel)relationMemberMerger.getModel(); 199 commands.add(model.buildResolveCommand((Relation)my, (Relation)their)); 200 } 201 if (isResolvedCompletely()) { 202 commands.add( 203 new VersionConflictResolveCommand(my, their) 204 ); 205 } 192 206 } 193 207 return new SequenceCommand(tr("Conflict Resolution"), commands);
Note: See TracChangeset
for help on using the changeset viewer.
