Changeset 12951 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2017-10-08T17:52:06+02:00 (7 years ago)
Author:
Don-vip
Message:

fix #14665 - Validator incorrectly folds first-level categories when ignoring elements + avoid repaint of complete mapview, invalidate validator layer instead

Location:
trunk/src/org/openstreetmap/josm/gui/dialogs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java

    r12846 r12951  
    5050import org.openstreetmap.josm.gui.SideButton;
    5151import org.openstreetmap.josm.gui.dialogs.validator.ValidatorTreePanel;
     52import org.openstreetmap.josm.gui.layer.Layer;
    5253import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
    5354import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
     
    319320            tree.resetErrors();
    320321            OsmValidator.saveIgnoredErrors();
    321             MainApplication.getMap().repaint();
     322            MainApplication.getLayerManager().getLayersOfType(ValidatorLayer.class).forEach(Layer::invalidate);
    322323        }
    323324    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java

    r12667 r12951  
    232232
    233233                errorsByDescription.forEach((description, errors) -> {
     234                    boolean emptyDescription = description == null || description.isEmpty();
    234235                    // Message node
    235236                    final String msg;
    236237                    if (groupNode != null) {
    237238                        msg = tr("{0} ({1})", description, errors.size());
    238                     } else if (description == null || description.isEmpty()) {
     239                    } else if (emptyDescription) {
    239240                        msg = tr("{0} ({1})", message, errors.size());
    240241                    } else {
     
    248249                    }
    249250
    250                     if (oldSelectedRows.contains(description)) {
     251                    if (oldSelectedRows.contains(description) || (emptyDescription && oldSelectedRows.contains(message))) {
    251252                        if (groupNode != null) {
    252253                            expandedPaths.add(new TreePath(new Object[] {rootNode, severityNode, groupNode, messageNode}));
     
    381382     */
    382383    public void resetErrors() {
    383         List<TestError> e = new ArrayList<>(errors);
    384         setErrors(e);
     384        setErrors(new ArrayList<>(errors));
    385385    }
    386386
Note: See TracChangeset for help on using the changeset viewer.