Changeset 1293


Ignore:
Timestamp:
04/08/19 11:16:39 (5 years ago)
Author:
bln4
Message:

Fixed bug relating to FrameCreator under 'OverrideExistingFrames' mode that was causing multiple unnecessary messages frames from stacking framesets and messages.

Location:
trunk/src/org/expeditee
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/actions/Misc.java

    r1274 r1293  
    11621162
    11631163        public static void moveToPublic(Frame frame) {
    1164                 FrameIO.moveFrameset(frame.getFramesetName(), FrameIO.PUBLIC_PATH);
     1164                FrameIO.moveFrameset(frame.getFramesetName(), FrameIO.PUBLIC_PATH, false);
    11651165        }
    11661166
    11671167        public static void moveToPrivate(Frame frame) {
    1168                 FrameIO.moveFrameset(frame.getFramesetName(), FrameIO.FRAME_PATH);
     1168                FrameIO.moveFrameset(frame.getFramesetName(), FrameIO.FRAME_PATH, false);
    11691169        }
    11701170
  • trunk/src/org/expeditee/gui/Browser.java

    r1287 r1293  
    427427
    428428                        // Finally remove the messages frameset
    429                         FrameIO.moveFrameset("messages", FrameIO.MESSAGES_PATH);
     429                        FrameIO.moveFrameset("messages", FrameIO.MESSAGES_PATH, false);
    430430
    431431                        /*
  • trunk/src/org/expeditee/gui/FrameCreator.java

    r1288 r1293  
    9595                                        FrameIO.EnableCache();
    9696                                        FrameIO.deleteFrameset(framesetName);
    97                                         FrameIO.moveFrameset(framesetName, framesetDir.toAbsolutePath().toString() + File.separator, path);
     97                                        FrameIO.moveFrameset(framesetName, framesetDir.toAbsolutePath().toString() + File.separator, path, true);
    9898                                        _current.setPath(path);
     99                                        framesetDir.toFile().deleteOnExit();
    99100                                } catch (IOException e) {
    100101                                        e.printStackTrace();
     
    306307
    307308                        _current.addItem(toAdd);
    308                         // _current.addAllItems(items);
     309                       
     310                        _lastY = toAdd.getY() + toAdd.getBoundsHeight() / 2;
     311                        _maxX = Math.max(toAdd.getX() + toAdd.getBoundsWidth(), _maxX);
     312                       
    309313                        if (bSave)
    310314                                save();
    311 
    312                         _lastY = toAdd.getY() + toAdd.getBoundsHeight() / 2;
    313                         _maxX = Math.max(toAdd.getX() + toAdd.getBoundsWidth(), _maxX);
    314315
    315316                        return true;
  • trunk/src/org/expeditee/gui/FrameIO.java

    r1289 r1293  
    3636import java.nio.file.Path;
    3737import java.nio.file.Paths;
     38import java.nio.file.StandardCopyOption;
    3839import java.sql.Time;
    3940import java.util.Arrays;
     
    17241725
    17251726        public static boolean deleteFrameset(String framesetName) {
    1726                 return moveFrameset(framesetName, FrameIO.TRASH_PATH);
    1727         }
    1728 
    1729         public static boolean moveFrameset(String framesetName,
    1730                         String destinationFolder) {
     1727                return moveFrameset(framesetName, FrameIO.TRASH_PATH, true);
     1728        }
     1729
     1730        public static boolean moveFrameset(String framesetName, String destinationFolder, boolean override) {
    17311731                if (!FrameIO.canAccessFrameset(framesetName)) {
    17321732                        return false;
     
    17371737                // Search all the available directories for the directory
    17381738                for (String path : FolderSettings.FrameDirs.getAbsoluteDirs()) {
    1739                         return moveFrameset(framesetName, path, destinationFolder);
     1739                        return moveFrameset(framesetName, path, destinationFolder, override);
    17401740                }
    17411741                return false;
    17421742        }
    17431743
    1744         public static boolean moveFrameset(String framesetName, String path, String destinationFolder) {
     1744        public static boolean moveFrameset(String framesetName, String path, String destinationFolder, boolean override) {
    17451745                String source = path + framesetName.toLowerCase() + File.separator;
    17461746                File framesetDirectory = new File(source);
     
    17581758                        // destination add
    17591759                        // a number to the end
    1760                         while (dest.exists()) {
     1760                        while (dest.exists() && !override) {
    17611761                                dest = new File(destPath + ++copyNumber + File.separator);
    17621762                        }
    17631763                        try {
    1764                                 copyFileTree(framesetDirectory.toPath(), dest.toPath());       
     1764                                moveFileTree(framesetDirectory.toPath(), dest.toPath());       
    17651765                        } catch (IOException e) {
    17661766                                e.printStackTrace();
     
    19621962                                Path p = Paths.get(toCopy.getAbsolutePath());
    19631963                                if (!p.getFileName().toString().equals(".res") && !p.getFileName().toString().equals("about")) {
    1964                                         copyFileTree(p.toAbsolutePath(), personalResources.resolve(p.getFileName()));
     1964                                        moveFileTree(p.toAbsolutePath(), personalResources.resolve(p.getFileName()));
    19651965                                }
    19661966                        }
     
    19931993        }
    19941994       
    1995         private static void copyFileTree(Path source, Path target) throws IOException {
    1996                 Files.copy(source, target);
     1995        private static void moveFileTree(Path source, Path target) throws IOException {
    19971996                if (source.toFile().isDirectory()) {
     1997                        if (!target.toFile().exists()) {
     1998                                Files.copy(source, target);
     1999                        }
    19982000                        File[] files = source.toFile().listFiles();
    19992001                        for (File file: files) {
    20002002                                Path asPath = Paths.get(file.getAbsolutePath());
    2001                                 copyFileTree(asPath, target.resolve(asPath.getFileName()));
    2002                         }
     2003                                moveFileTree(asPath, target.resolve(asPath.getFileName()));
     2004                        }
     2005                } else {
     2006                        Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
    20032007                }
    20042008        }
Note: See TracChangeset for help on using the changeset viewer.