Ignore:
Timestamp:
2010-02-04T21:04:02+01:00 (14 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.