package me.dsnet.quickopener.actions.popup; import com.sessonad.oscommands.commands.Commands; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.AbstractAction; import javax.swing.Icon; import org.openide.awt.ActionID; import org.openide.awt.ActionReference; import org.openide.awt.ActionReferences; import org.openide.awt.ActionRegistration; import org.openide.util.NbBundle; /** * * @author SessonaD */ //@ActionID(category = "Tools",id = "com.sessonad.quickopener.actions.popup.CustomFileSystemPopupAction") //@ActionRegistration(displayName = "#CTL_CustomFileSystemPopupAction") //@ActionReferences({ // @ActionReference(path = "Shortcuts", name = "O-5") //}) @NbBundle.Messages("CTL_CustomFileSystemPopupAction=Open filesystem in...") public class CustomFileSystemPopupAction extends AbstractAction implements ActionListener{ public CustomFileSystemPopupAction() { } public CustomFileSystemPopupAction(String name) { super(name); } public CustomFileSystemPopupAction(String name, Icon icon) { super(name, icon); } @Override public void actionPerformed(ActionEvent e) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { try { DialogCustomFileSystem dialogue=new DialogCustomFileSystem(null, true); //center on screen final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); final int x = (screenSize.width - dialogue.getWidth()) / 2; final int y = (screenSize.height - dialogue.getHeight()) / 2; dialogue.setLocation(x, y); dialogue.setVisible(true); String userCommand = (dialogue.getReturnStatus()==DialogCustomFileSystem.RET_OK)?dialogue.getCommand():null; if (userCommand != null && !userCommand.isEmpty()) { File userFile=new File(userCommand); Commands.getPlatform().browseInFileSystem(userFile); } } catch (Exception ex) {} } }); } }