Ticket #17035: 17035-progress-monitor-v2.patch

File 17035-progress-monitor-v2.patch, 2.6 KB (added by GerdP, 5 years ago)

updated to #14594

  • src/org/openstreetmap/josm/actions/ValidateAction.java

     
    170170            }
    171171            tests = null;
    172172            if (ValidatorPrefHelper.PREF_USE_IGNORE.get()) {
     173                getProgressMonitor().setCustomText("");
    173174                getProgressMonitor().subTask(tr("Updating ignored errors ..."));
    174175                for (TestError error : errors) {
    175176                    if (canceled) return;
  • src/org/openstreetmap/josm/data/validation/Test.java

     
    7676    /** the start time to compute elapsed time when test finishes */
    7777    protected long startTime;
    7878
     79    private boolean showElementCount;
     80
    7981    /**
    8082     * Constructor
    8183     * @param name Name of the test
     
    202204        if (progressMonitor != null) {
    203205            progressMonitor.setTicksCount(selection.size());
    204206        }
     207        long cnt = 0;
    205208        for (OsmPrimitive p : selection) {
    206209            if (isCanceled()) {
    207210                break;
     
    211214            }
    212215            if (progressMonitor != null) {
    213216                progressMonitor.worked(1);
     217                cnt++;
     218                // add frequently changing info to progress monitor so that it
     219                // doesn't seem to hang when test takes long
     220                if (showElementCount && cnt % 1000 == 0) {
     221                    progressMonitor.setExtraText(tr("{0} of {1} elements done", cnt, selection.size()));
     222                }
    214223            }
    215224        }
    216225    }
     
    380389    public void clear() {
    381390        errors.clear();
    382391    }
     392
     393    protected void setShowElements(boolean b) {
     394        showElementCount = b;
     395    }
    383396}
  • src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java

     
    10921092    @Override
    10931093    public void startTest(ProgressMonitor progressMonitor) {
    10941094        super.startTest(progressMonitor);
     1095        super.setShowElements(true);
    10951096        if (indexData == null) {
    10961097            indexData = new IndexData(checks);
    10971098        }