Ignore:
Timestamp:
04.02.2010 21:04:02 (2 years ago)
Author:
jttt
Message:

Fixed #4408 confict manager: do not have to solve tag- and element-conficts when deleting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java

    r2846 r2936  
    99import java.beans.PropertyChangeListener; 
    1010import java.util.ArrayList; 
    11 import java.util.logging.Logger; 
     11import java.util.List; 
    1212 
    1313import javax.swing.ImageIcon; 
     
    6767    static public final String THEIR_PRIMITIVE_PROP = ConflictResolver.class.getName() + ".theirPrimitive"; 
    6868 
    69     private static final Logger logger = Logger.getLogger(ConflictResolver.class.getName()); 
     69    //private static final Logger logger = Logger.getLogger(ConflictResolver.class.getName()); 
    7070 
    7171    private JTabbedPane tabbedPane = null; 
     
    7474    private RelationMemberMerger relationMemberMerger; 
    7575    private PropertiesMerger propertiesMerger; 
     76    private final List<IConflictResolver> conflictResolvers = new ArrayList<IConflictResolver>(); 
    7677    private OsmPrimitive my; 
    7778    private OsmPrimitive their; 
     
    119120        setLayout(new BorderLayout()); 
    120121        add(tabbedPane, BorderLayout.CENTER); 
     122 
     123        conflictResolvers.add(propertiesMerger); 
     124        conflictResolvers.add(tagMerger); 
     125        conflictResolvers.add(nodeListMerger); 
     126        conflictResolvers.add(relationMemberMerger); 
    121127    } 
    122128 
     
    174180        } else if (evt.getPropertyName().equals(ListMergeModel.FROZEN_PROP)) { 
    175181            boolean frozen = (Boolean)evt.getNewValue(); 
    176             if (frozen && evt.getSource() == nodeListMerger.getModel()) { 
    177                 tabbedPane.setTitleAt(2, tr("Nodes(resolved)")); 
    178                 tabbedPane.setToolTipTextAt(2, tr("Merged node list frozen. No pending conflicts in the node list of this way")); 
    179                 tabbedPane.setIconAt(2, mergeComplete); 
    180             } else { 
    181                 tabbedPane.setTitleAt(2, tr("Nodes(with conflicts)")); 
    182                 tabbedPane.setToolTipTextAt(2,tr("Pending conflicts in the node list of this way")); 
    183                 tabbedPane.setIconAt(2, mergeIncomplete); 
    184             } 
    185             if (frozen && evt.getSource() == relationMemberMerger.getModel()) { 
    186                 tabbedPane.setTitleAt(3, tr("Members(resolved)")); 
    187                 tabbedPane.setToolTipTextAt(3, tr("Merged member list frozen. No pending conflicts in the member list of this relation")); 
    188                 tabbedPane.setIconAt(3, mergeComplete); 
    189             } else { 
    190                 tabbedPane.setTitleAt(3, tr("Members(with conflicts)")); 
    191                 tabbedPane.setToolTipTextAt(3, tr("Pending conflicts in the member list of this relation")); 
    192                 tabbedPane.setIconAt(3, mergeIncomplete); 
     182            if (evt.getSource() == nodeListMerger.getModel() && my instanceof Way) { 
     183                if (frozen) { 
     184                    tabbedPane.setTitleAt(2, tr("Nodes(resolved)")); 
     185                    tabbedPane.setToolTipTextAt(2, tr("Merged node list frozen. No pending conflicts in the node list of this way")); 
     186                    tabbedPane.setIconAt(2, mergeComplete); 
     187                } else { 
     188                    tabbedPane.setTitleAt(2, tr("Nodes(with conflicts)")); 
     189                    tabbedPane.setToolTipTextAt(2,tr("Pending conflicts in the node list of this way")); 
     190                    tabbedPane.setIconAt(2, mergeIncomplete); 
     191                } 
     192            } else if (evt.getSource() == relationMemberMerger.getModel() && my instanceof Relation) { 
     193                if (frozen) { 
     194                    tabbedPane.setTitleAt(3, tr("Members(resolved)")); 
     195                    tabbedPane.setToolTipTextAt(3, tr("Merged member list frozen. No pending conflicts in the member list of this relation")); 
     196                    tabbedPane.setIconAt(3, mergeComplete); 
     197                } else { 
     198                    tabbedPane.setTitleAt(3, tr("Members(with conflicts)")); 
     199                    tabbedPane.setToolTipTextAt(3, tr("Pending conflicts in the member list of this relation")); 
     200                    tabbedPane.setIconAt(3, mergeIncomplete); 
     201                } 
    193202            } 
    194203            updateResolvedCompletely(); 
     
    205214            } 
    206215            updateResolvedCompletely(); 
     216        } else if (PropertiesMergeModel.DELETE_PRIMITIVE_PROP.equals(evt.getPropertyName())) { 
     217            for (IConflictResolver resolver: conflictResolvers) { 
     218                resolver.deletePrimitive((Boolean) evt.getNewValue()); 
     219            } 
    207220        } 
    208221    } 
Note: See TracChangeset for help on using the changeset viewer.