package org.rr.jeborker.gui.action;
import java.awt.event.ActionEvent;
import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
import org.rr.commons.mufs.IResourceHandler;
import org.rr.commons.mufs.ResourceHandlerFactory;
import org.rr.commons.swing.SwingUtils;
import org.rr.jeborker.gui.MainController;
import org.rr.jeborker.gui.resources.ImageResourceBundle;
public class FileSystemTreeRefreshAction extends AbstractAction {
private String path;
FileSystemTreeRefreshAction(String path) {
String name = Bundle.getString("FileSystemTreeRefreshAction.name");
putValue(MNEMONIC_KEY, SwingUtils.getMnemonicKeyCode(name));
putValue(Action.NAME, SwingUtils.removeMnemonicMarker(name));
putValue(Action.SMALL_ICON, ImageResourceBundle.getResourceAsImageIcon("refresh_16.png"));
putValue(ApplicationAction.NON_THREADED_ACTION_KEY, Boolean.TRUE); //No threading
}
@Override
public void actionPerformed(ActionEvent e) {
MainController controller = MainController.getController();
if(path != null) {
IResourceHandler resourceToRefresh = ResourceHandlerFactory.getResourceHandler(path);
controller.getMainTreeHandler().refreshFileSystemTreeEntry(resourceToRefresh);
} else {
List<IResourceHandler> selectedTreeItems = controller.getMainTreeHandler().getSelectedTreeItems();
for(IResourceHandler selectedTreeItem : selectedTreeItems) {
controller.getMainTreeHandler().refreshFileSystemTreeEntry(selectedTreeItem);
}
}
}
}