package com.intellij.lang.javascript.flex.flashbuilder; import com.intellij.lang.javascript.flex.FlexBundle; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.LabeledComponent; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.util.io.FileUtil; import javax.swing.*; import java.io.File; public class AskPathDialog extends DialogWrapper { private JPanel myMainPanel; private LabeledComponent<TextFieldWithBrowseButton> myPathComponent; protected AskPathDialog(final String title, final String label, final String initialPath) { super(true); setTitle(title); myPathComponent.setText(label); myPathComponent.getComponent().setText(FileUtil.toSystemDependentName(initialPath)); myPathComponent.getComponent().addBrowseFolderListener(null, null, null, FileChooserDescriptorFactory.createSingleFolderDescriptor()); init(); } protected JComponent createCenterPanel() { return myMainPanel; } protected void doOKAction() { final File dir = new File(getPath()); if (dir.isDirectory() && dir.list().length > 0) { if (Messages.YES != Messages .showYesNoDialog(myMainPanel, FlexBundle.message("folder.not.empty", dir.getPath()), getTitle(), Messages.getWarningIcon())) { return; } } super.doOKAction(); } public String getPath() { return FileUtil.toSystemIndependentName(myPathComponent.getComponent().getText().trim()); } }