Changeset 98


Ignore:
Timestamp:
10/11/02 14:07:36 (21 years ago)
Author:
piso
Message:

modCount

Location:
trunk/j/src/org/armedbear/j
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/j/Buffer.java

    r94 r98  
    33 *
    44 * Copyright (C) 1998-2002 Peter Graves
    5  * $Id: Buffer.java,v 1.6 2002-10-11 12:35:09 piso Exp $
     5 * $Id: Buffer.java,v 1.7 2002-10-11 14:05:14 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    6363    protected boolean supportsUndo = true;
    6464
    65     private int modificationCount;
    66     private int modificationCountWhenLastSaved;
    67     private int modificationCountWhenLastAutosaved;
     65    private int modCount;
     66    private int saveModCount; // Value of modCount when last saved.
    6867
    6968    // Autosave.
    7069    protected boolean autosaveEnabled;
    71     File autosaveFile;
     70    private File autosaveFile;
     71    private int autosaveModCount; // Value of modCount when last autosaved.
    7272
    7373    private File cache;
     
    592592    }
    593593
    594     public final int getModificationCount()
    595     {
    596         return modificationCount;
    597     }
    598 
    599     public final synchronized void setModificationCount(int count)
    600     {
    601         if (count != modificationCount) {
    602             modificationCount = count;
     594    public final int getModCount()
     595    {
     596        return modCount;
     597    }
     598
     599    public final synchronized void setModCount(int count)
     600    {
     601        if (count != modCount) {
     602            modCount = count;
    603603            srText = null;
    604604        }
    605605    }
    606606
    607     public final synchronized void incrementModificationCount()
    608     {
    609         ++modificationCount;
     607    public final synchronized void incrementModCount()
     608    {
     609        ++modCount;
    610610        srText = null;
    611611    }
    612612
    613     public final void setModificationCountWhenLastSaved(int count)
    614     {
    615         modificationCountWhenLastAutosaved = count;
     613    public final void setModCountWhenLastSaved(int count)
     614    {
     615        autosaveModCount = count;
    616616    }
    617617
     
    17491749        if (!Autosave.isAutosaveEnabled() || !autosaveEnabled)
    17501750            return false;
    1751         return modificationCount != modificationCountWhenLastAutosaved;
     1751        return modCount != autosaveModCount;
    17521752    }
    17531753
     
    17971797        autosaveFile.setEncoding(getFile().getEncoding());
    17981798        if (writeFile(autosaveFile))
    1799             modificationCountWhenLastAutosaved = modificationCount;
     1799            autosaveModCount = modCount;
    18001800        else
    18011801            Log.error("autosave writeFile failed");
     
    18231823            Debug.dumpStack();
    18241824        }
    1825         if (modificationCount > modificationCountWhenLastSaved) {
     1825        if (modCount > saveModCount) {
    18261826            // Already modified.
    1827             incrementModificationCount();
     1827            incrementModCount();
    18281828        } else {
    18291829            // First change.
    1830             setModificationCount(modificationCountWhenLastSaved + 1);
     1830            setModCount(saveModCount + 1);
    18311831            Sidebar.setUpdateFlagInAllFrames(SIDEBAR_MODIFIED_BUFFER_COUNT);
    18321832            Sidebar.repaintBufferListInAllFrames();
     
    18371837    public void unmodified()
    18381838    {
    1839         setModificationCount(0);
    1840         modificationCountWhenLastSaved = 0;
    1841         modificationCountWhenLastAutosaved = 0;
     1839        setModCount(0);
     1840        saveModCount = 0;
     1841        autosaveModCount = 0;
    18421842        Sidebar.setUpdateFlagInAllFrames(SIDEBAR_MODIFIED_BUFFER_COUNT);
    18431843        Sidebar.repaintBufferListInAllFrames();
     
    18461846    public void saved()
    18471847    {
    1848         modificationCountWhenLastSaved = modificationCount;
    1849         modificationCountWhenLastAutosaved = modificationCount;
     1848        saveModCount = modCount;
     1849        autosaveModCount = modCount;
    18501850        if (isNewFile()) {
    18511851            for (Line line = getFirstLine(); line != null; line = line.next()) {
     
    18871887    public boolean isModified()
    18881888    {
    1889         return modificationCount != modificationCountWhenLastSaved;
     1889        return modCount != saveModCount;
    18901890    }
    18911891
     
    19811981    public void resetUndo()
    19821982    {
    1983         if (supportsUndo) {
     1983        if (supportsUndo)
    19841984            undoManager.discardAllEdits();
    1985         }
    19861985    }
    19871986
  • trunk/j/src/org/armedbear/j/FindInFiles.java

    r2 r98  
    33 *
    44 * Copyright (C) 1998-2002 Peter Graves
    5  * $Id: FindInFiles.java,v 1.1.1.1 2002-09-24 16:09:38 piso Exp $
     5 * $Id: FindInFiles.java,v 1.2 2002-10-11 14:07:31 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    685685                compoundEdit.addEdit(new UndoLineEdit(buffer, pos.getLine()));
    686686                replaceOccurrence(pos);
    687                 buffer.incrementModificationCount();
     687                buffer.incrementModCount();
    688688            }
    689689            compoundEdit.end();
  • trunk/j/src/org/armedbear/j/UndoDeleteLineSeparator.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoDeleteLineSeparator.java,v 1.1.1.1 2002-09-24 16:07:44 piso Exp $
     5 * $Id: UndoDeleteLineSeparator.java,v 1.2 2002-10-11 14:07:33 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    9797            absCaretCol = editor.getAbsoluteCaretCol();
    9898            final Buffer buffer = editor.getBuffer();
    99             modificationCount = buffer.getModificationCount();
     99            modificationCount = buffer.getModCount();
    100100            modified = buffer.isModified();
    101101            first = dotLine.copy();
     
    122122            // Markers!!
    123123
    124             buffer.setModificationCount(modificationCount);
     124            buffer.setModCount(modificationCount);
    125125
    126126            buffer.needsRenumbering = true;
     
    150150            absCaretCol = editor.getAbsoluteCaretCol();
    151151            final Buffer buffer = editor.getBuffer();
    152             modificationCount = buffer.getModificationCount();
     152            modificationCount = buffer.getModCount();
    153153            modified = buffer.isModified();
    154154            line = dotLine.copy();
     
    173173            // Markers!!
    174174
    175             buffer.setModificationCount(modificationCount);
     175            buffer.setModCount(modificationCount);
    176176
    177177            buffer.needsRenumbering = true;
  • trunk/j/src/org/armedbear/j/UndoDeleteRegion.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoDeleteRegion.java,v 1.1.1.1 2002-09-24 16:08:25 piso Exp $
     5 * $Id: UndoDeleteRegion.java,v 1.2 2002-10-11 14:07:33 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    108108            }
    109109            final Buffer buffer = editor.getBuffer();
    110             modificationCount = buffer.getModificationCount();
     110            modificationCount = buffer.getModCount();
    111111            modified = buffer.isModified();
    112112        }
     
    134134                after.setPrevious(last);
    135135
    136             buffer.setModificationCount(modificationCount);
     136            buffer.setModCount(modificationCount);
    137137
    138138            buffer.needsRenumbering = true;
     
    163163            absCaretCol = editor.getAbsoluteCaretCol();
    164164            final Buffer buffer = editor.getBuffer();
    165             modificationCount = buffer.getModificationCount();
     165            modificationCount = buffer.getModCount();
    166166            modified = buffer.isModified();
    167167            line = dotLine.copy();
     
    192192            // Markers!!
    193193
    194             buffer.setModificationCount(modificationCount);
     194            buffer.setModCount(modificationCount);
    195195
    196196            buffer.needsRenumbering = true;
  • trunk/j/src/org/armedbear/j/UndoInsertLineSeparator.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoInsertLineSeparator.java,v 1.1.1.1 2002-09-24 16:08:48 piso Exp $
     5 * $Id: UndoInsertLineSeparator.java,v 1.2 2002-10-11 14:07:34 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    9797            absCaretCol = editor.getAbsoluteCaretCol();
    9898            final Buffer buffer = editor.getBuffer();
    99             modificationCount = buffer.getModificationCount();
     99            modificationCount = buffer.getModCount();
    100100            modified = buffer.isModified();
    101101            line = editor.getDotLine().copy();
     
    121121            // Markers!!
    122122
    123             buffer.setModificationCount(modificationCount);
     123            buffer.setModCount(modificationCount);
    124124
    125125            buffer.needsRenumbering = true;
     
    151151            absCaretCol = editor.getAbsoluteCaretCol();
    152152            final Buffer buffer = editor.getBuffer();
    153             modificationCount = buffer.getModificationCount();
     153            modificationCount = buffer.getModCount();
    154154            modified = buffer.isModified();
    155155            second = dotLine.copy();
     
    176176            // Markers!!
    177177
    178             buffer.setModificationCount(modificationCount);
     178            buffer.setModCount(modificationCount);
    179179
    180180            buffer.needsRenumbering = true;
  • trunk/j/src/org/armedbear/j/UndoInsertString.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoInsertString.java,v 1.1.1.1 2002-09-24 16:09:28 piso Exp $
     5 * $Id: UndoInsertString.java,v 1.2 2002-10-11 14:07:34 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    9999            absCaretCol = editor.getAbsoluteCaretCol();
    100100            isColumnSelection = editor.isColumnSelection();
    101             modificationCount = buffer.getModificationCount();
     101            modificationCount = buffer.getModCount();
    102102            modified = buffer.isModified();
    103103            line = editor.getDotLine().copy();
     
    132132                buffer.repaint();
    133133            }
    134             buffer.setModificationCount(modificationCount);
     134            buffer.setModCount(modificationCount);
    135135            editor.setDot(dotLineNumber, dotOffset);
    136136            editor.setMark(null);
     
    165165            absCaretCol = editor.getAbsoluteCaretCol();
    166166            isColumnSelection = editor.isColumnSelection();
    167             modificationCount = editor.getBuffer().getModificationCount();
     167            modificationCount = editor.getBuffer().getModCount();
    168168            modified = editor.getBuffer().isModified();
    169169        }
     
    191191                buffer.repaint();
    192192            }
    193             buffer.setModificationCount(modificationCount);
     193            buffer.setModCount(modificationCount);
    194194            editor.setDot(dotLineNumber, dotOffset);
    195195            editor.setMark(null);
  • trunk/j/src/org/armedbear/j/UndoLineEdit.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoLineEdit.java,v 1.1.1.1 2002-09-24 16:09:17 piso Exp $
     5 * $Id: UndoLineEdit.java,v 1.2 2002-10-11 14:07:35 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    128128            isColumnSelection = editor.isColumnSelection();
    129129            final Buffer buffer = editor.getBuffer();
    130             modificationCount = buffer.getModificationCount();
     130            modificationCount = buffer.getModCount();
    131131            modified = buffer.isModified();
    132132            line = buffer.getLine(changeLineNumber).copy();
     
    141141            markOffset = -1;
    142142            isColumnSelection = false;
    143             modificationCount = buffer.getModificationCount();
     143            modificationCount = buffer.getModCount();
    144144            modified = buffer.isModified();
    145145            line = buffer.getLine(changeLineNumber).copy();
     
    157157            Editor.updateInAllEditors(changeLine);
    158158
    159             buffer.setModificationCount(modificationCount);
     159            buffer.setModCount(modificationCount);
    160160
    161161            boolean wasMarked = editor.getMark() != null;
  • trunk/j/src/org/armedbear/j/UndoRemoveLine.java

    r2 r98  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: UndoRemoveLine.java,v 1.1.1.1 2002-09-24 16:08:29 piso Exp $
     5 * $Id: UndoRemoveLine.java,v 1.2 2002-10-11 14:07:35 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    101101            absCaretCol = editor.getAbsoluteCaretCol();
    102102            final Buffer buffer = editor.getBuffer();
    103             modificationCount = buffer.getModificationCount();
     103            modificationCount = buffer.getModCount();
    104104            modified = buffer.isModified();
    105105
     
    131131            // Markers!!
    132132
    133             buffer.setModificationCount(modificationCount);
     133            buffer.setModCount(modificationCount);
    134134            buffer.needsRenumbering = true;
    135135            buffer.renumber();
     
    155155            absCaretCol = editor.getAbsoluteCaretCol();
    156156            final Buffer buffer = editor.getBuffer();
    157             modificationCount = buffer.getModificationCount();
     157            modificationCount = buffer.getModCount();
    158158            modified = buffer.isModified();
    159159        }
     
    183183            // Markers!!
    184184
    185             buffer.setModificationCount(modificationCount);
     185            buffer.setModCount(modificationCount);
    186186            buffer.needsRenumbering = true;
    187187            buffer.renumber();
  • trunk/j/src/org/armedbear/j/WrapText.java

    r61 r98  
    33 *
    44 * Copyright (C) 1998-2002 Peter Graves
    5  * $Id: WrapText.java,v 1.2 2002-10-06 00:10:09 piso Exp $
     5 * $Id: WrapText.java,v 1.3 2002-10-11 14:07:35 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    183183        int offsetBefore = buffer.getAbsoluteOffset(dot);
    184184
    185         int originalModificationCount = buffer.getModificationCount();
     185        int originalModificationCount = buffer.getModCount();
    186186
    187187        // Save undo information before detabbing region (which may also move
     
    333333
    334334            // Buffer has not been modified.
    335             buffer.setModificationCount(originalModificationCount);
     335            buffer.setModCount(originalModificationCount);
    336336            return;
    337337        }
  • trunk/j/src/org/armedbear/j/XmlTree.java

    r24 r98  
    33 *
    44 * Copyright (C) 2000-2002 Peter Graves
    5  * $Id: XmlTree.java,v 1.2 2002-10-02 16:36:16 piso Exp $
     5 * $Id: XmlTree.java,v 1.3 2002-10-11 14:07:36 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    9595        if (!SwingUtilities.isEventDispatchThread())
    9696            Debug.bug("XmlTree.refresh() called from background thread!");
    97         if (modificationCount == buffer.getModificationCount())
     97        if (modificationCount == buffer.getModCount())
    9898            return;
    9999        final XmlParserImpl parser = new XmlParserImpl();
     
    101101            return;
    102102        parser.setBuffer(buffer);
    103         modificationCount = buffer.getModificationCount();
     103        modificationCount = buffer.getModCount();
    104104        final String text = buffer.getText();
    105105        if (text.length() < 7) // "<a></a>"
Note: See TracChangeset for help on using the changeset viewer.