Package se.runa.os

Source Code of se.runa.os.OSX

package se.runa.os;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import javax.swing.tree.TreePath;

import se.runa.ui.FileTreeModel;

/**
*
* @author frebjo
*/
public class OSX extends OS {

    private Logger logger = Logger.getLogger(getClass().getName());

    @Override
    public boolean showInFileTree(File file) {
  return super.showInFileTree(file)
    && !new File(file, "Contents").exists()
    && !file.equals(new File("/Volumes/OSX/net")); // FIXME
    }

    @Override
    public boolean showInFileTable(File file) {
  return !file.getName().equals(".DS_Store")
    && super.showInFileTable(file);
    }

    @Override
    public boolean doOpen(File file) {
  return super.doOpen(file) || file.getName().endsWith(".app");
    }

    @Override
    public boolean isEditable(File file) {
  return super.isEditable(file)
    && !file.getParentFile().getAbsolutePath().equals("/Volumes");
    }

    @Override
    public boolean isMac() {
  return true;
    }

    @Override
    public File[] getRootFiles() {
  return new File("/Volumes").listFiles();
    }

    @Override
    public TreePath createTreePath(File file) {
  logger.info(file.toString());
  List<File> files = new ArrayList<File>();
  File parent = file;
  do {
      files.add(0, parent);
      parent = parent.getParentFile();
  } while (!parent.equals(new File("/Volumes")));
  files.add(0, new FileTreeModel());
  return new TreePath(files.toArray());
    }

    public static void main(String[] args) {
  System.out.println(new OSX().createTreePath(new File(
    "/Volumes/WINXP/tmp")));
    }
}
TOP

Related Classes of se.runa.os.OSX

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.