Ignore:
Timestamp:
12/09/13 14:42:44 (11 years ago)
Author:
jts21
Message:

EXA save format working + automatically converting save files to it's own format
Pictures are no longer XRayables, working fine except for a bug with cropping, and some problems with the default image that I need to fix.
FramePicture/FrameImage/FrameBitmap are disabled because they need to be changed to work with the modified Picture format but I don't know what they do so couldn't test them (will need to look into fixing that)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/FrameIO.java

    r570 r589  
    2222import org.expeditee.agents.ExistingFramesetException;
    2323import org.expeditee.io.Conversion;
     24import org.expeditee.io.ExaReader;
     25import org.expeditee.io.ExaWriter;
    2426import org.expeditee.io.ExpReader;
    2527import org.expeditee.io.ExpWriter;
     
    275277                        return null;
    276278
    277                 // check for the new file name format
     279                // check for the exa file name format
    278280                String fullPath = source + Conversion.getFrameNumber(frameName)
     281                                + ExaReader.EXTENTION;
     282                tester = new File(fullPath);
     283               
     284                if (tester.exists())
     285                        return fullPath;
     286               
     287                // check for the exp file name format
     288                fullPath = source + Conversion.getFrameNumber(frameName)
    279289                                + ExpReader.EXTENTION;
    280290                tester = new File(fullPath);
     
    283293                        return fullPath;
    284294
    285                 // check for oldfile name format
     295                // check for kms file name format
    286296                fullPath = source + Conversion.getFramesetName(frameName) + "."
    287297                                + Conversion.getFrameNumber(frameName);
     
    354364                        FrameReader reader;
    355365
    356                         if (fullPath.endsWith(ExpReader.EXTENTION)) {
     366                        if(fullPath.endsWith(ExaReader.EXTENTION)) {
     367                                reader = new ExaReader(frameName);
     368                        } else if (fullPath.endsWith(ExpReader.EXTENTION)) {
    357369                                reader = new ExpReader(frameName);
    358370                        } else {
     
    817829                // with a
    818830                // break to indicate the end of a session
     831               
     832                System.out.println(toSave.hasChanged());
     833                System.out.println(toSave.isSaved());
    819834
    820835                if (toSave == null || !toSave.hasChanged() || toSave.isSaved()) {
     
    860875                        checkBackup = false;
    861876                }
    862 
    863                 FrameWriter writer = null;
     877               
     878                FrameWriter writer = new ExaWriter();
    864879                int savedVersion;
     880                boolean eraseOldFile;
     881
    865882                try {
     883                       
    866884                        // if its a new frame or an existing Exp frame...
    867                         if (fullPath == null || fullPath.endsWith(ExpReader.EXTENTION)) {
    868                                 writer = new ExpWriter();
    869                                 savedVersion = ExpReader.getVersion(fullPath);
    870                         } else {
    871                                 writer = new KMSWriter();
    872                                 savedVersion = KMSReader.getVersion(fullPath);
    873                         }
     885                if(fullPath == null || fullPath.endsWith(ExaReader.EXTENTION)) {
     886                        savedVersion = ExaReader.getVersion(fullPath);
     887                        eraseOldFile = false;
     888                } else if (fullPath.endsWith(ExpReader.EXTENTION)) {
     889                        // writer = new ExpWriter();
     890                        savedVersion = ExpReader.getVersion(fullPath);
     891                        // delete the old file since we're replacing it with exa format
     892                        eraseOldFile = true;
     893                } else {
     894                        // writer = new KMSWriter();
     895                        savedVersion = KMSReader.getVersion(fullPath);
     896                        // delete the old file since we're replacing it with exa format
     897                        eraseOldFile = true;
     898                }
    874899
    875900                        // Check if the frame doesnt exist
     
    959984                        // FrameGraphics.setMode(FrameGraphics.MODE_XRAY, true);
    960985                        writer.writeFrame(toSave);
     986                       
     987                        // Now that we've written the file, erase the old format file
     988                        if(eraseOldFile && !getFrameFullPathName(toSave.getPath(), toSave.getName()).equals(fullPath)) {
     989                                MessageBay.displayMessage("Converted " + toSave.getName() + " to EXA format");
     990                                new File(fullPath).delete();
     991                        }
     992                       
    961993                        // FrameGraphics.setMode(oldMode, true);
    962994                        toSave.setSaved();
     
    14921524                String filename = PUBLIC_PATH + Conversion.getFramesetName(frameName)
    14931525                                + File.separator + Conversion.getFrameNumber(frameName)
    1494                                 + ExpReader.EXTENTION;
     1526                                + ExaReader.EXTENTION;
    14951527
    14961528                File file = new File(filename);
     
    14981530                if (file.exists()) {
    14991531                        // Check the versions
    1500                         int savedVersion = ExpReader.getVersion(filename);
     1532                        int savedVersion = ExaReader.getVersion(filename);
    15011533
    15021534                        if (savedVersion > version) {
     
    15161548                                                + nextNum;
    15171549                                filename = PUBLIC_PATH + Conversion.getFramesetName(frameName)
    1518                                                 + File.separator + nextNum + ExpReader.EXTENTION;
     1550                                                + File.separator + nextNum + ExaReader.EXTENTION;
    15191551
    15201552                                // Show the messages alerting the user
Note: See TracChangeset for help on using the changeset viewer.