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/properties/PropertiesMergeModel.java

    r2846 r2936  
    5353 
    5454    static public final String RESOLVED_COMPLETELY_PROP = PropertiesMergeModel.class.getName() + ".resolvedCompletely"; 
     55    static public final String DELETE_PRIMITIVE_PROP = PropertiesMergeModel.class.getName() + ".deletePrimitive"; 
    5556 
    5657    private OsmPrimitive my; 
     
    287288    } 
    288289 
     290    private boolean getMergedDeletedState(MergeDecisionType decision) { 
     291        switch (decision) { 
     292        case KEEP_MINE: 
     293            return myDeletedState; 
     294        case KEEP_THEIR: 
     295            return theirDeletedState; 
     296        default: 
     297            return false; 
     298        } 
     299    } 
     300 
    289301    /** 
    290302     * decides the conflict between two deleted states 
     
    295307    public void decideDeletedStateConflict(MergeDecisionType decision) throws IllegalArgumentException{ 
    296308        CheckParameterUtil.ensureParameterNotNull(decision, "decision"); 
     309 
     310        boolean oldMergedDeletedState = getMergedDeletedState(this.deletedMergeDecision); 
     311        boolean newMergedDeletedState = getMergedDeletedState(decision); 
     312 
    297313        this.deletedMergeDecision = decision; 
    298314        setChanged(); 
    299315        notifyObservers(); 
    300316        fireCompletelyResolved(); 
     317 
     318        if (oldMergedDeletedState != newMergedDeletedState) { 
     319            support.firePropertyChange(DELETE_PRIMITIVE_PROP, oldMergedDeletedState, newMergedDeletedState); 
     320        } 
    301321    } 
    302322 
     
    478498                        dependent.size(), dependent.size(), way.getId()) 
    479499                        + "</html>", 
    480                 tr("Undelete additional nodes?"), 
    481                 JOptionPane.YES_NO_OPTION, 
    482                 JOptionPane.QUESTION_MESSAGE, 
    483                 null, 
    484                 options, 
    485                 options[0] 
     500                        tr("Undelete additional nodes?"), 
     501                        JOptionPane.YES_NO_OPTION, 
     502                        JOptionPane.QUESTION_MESSAGE, 
     503                        null, 
     504                        options, 
     505                        options[0] 
    486506        ); 
    487507 
     
    512532                        dependent.size(), dependent.size(), r.getId()) 
    513533                        + "</html>", 
    514                 tr("Undelete dependent primitives?"), 
    515                 JOptionPane.YES_NO_OPTION, 
    516                 JOptionPane.QUESTION_MESSAGE, 
    517                 null, 
    518                 options, 
    519                 options[0] 
     534                        tr("Undelete dependent primitives?"), 
     535                        JOptionPane.YES_NO_OPTION, 
     536                        JOptionPane.QUESTION_MESSAGE, 
     537                        null, 
     538                        options, 
     539                        options[0] 
    520540        ); 
    521541 
Note: See TracChangeset for help on using the changeset viewer.