List of usage examples for com.intellij.openapi.fileChooser FileChooserDescriptor setTitle
public void setTitle(@Nls(capitalization = Nls.Capitalization.Title) String title)
From source file:org.twodividedbyzero.idea.findbugs.gui.preferences.ConfigurationPanel.java
License:Open Source License
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings({ "SIC_INNER_SHOULD_BE_STATIC_ANON", "REC_CATCH_EXCEPTION" }) private void importPreferences() { @SuppressWarnings("AnonymousInnerClassMayBeStatic") final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, true, false, true, false) { @Override/*from www. j a v a 2 s.com*/ public boolean isFileVisible(final VirtualFile file, final boolean showHiddenFiles) { return super.isFileVisible(file, showHiddenFiles) && (file.isDirectory() || "xml".equals(file.getExtension()) || file.getFileType() == StdFileTypes.ARCHIVE); } @Override public boolean isFileSelectable(final VirtualFile file) { return file.getFileType() == StdFileTypes.XML; } }; descriptor.setDescription("Please select the configuration file (usually named findbugs.xml) to import."); descriptor.setTitle("Import Configuration"); final VirtualFile[] files = FileChooser.chooseFiles(descriptor, this, getProject(), null); if (files.length != 1) { return; } final PersistencePreferencesBean prefs; try { final Document document = JDOMUtil.loadDocument(files[0].getInputStream()); if (SonarProfileImporter.isValid(document)) { prefs = SonarProfileImporter.doImport(getProject(), document); if (prefs == null) { return; } } else { if (!SonarImporterUtil.PERSISTENCE_ROOT_NAME.equals(document.getRootElement().getName())) { Messages.showErrorDialog(this, "The file format is invalid.", "Invalid File"); return; } prefs = XmlSerializer.deserialize(document, PersistencePreferencesBean.class); } if (!validatePreferences(prefs)) { return; } } catch (final Exception ex) { LOGGER.warn(ex); final String msg = ex.getLocalizedMessage(); FindBugsPluginImpl.showToolWindowNotifier(getProject(), "Import failed! " + (msg != null && !msg.isEmpty() ? msg : ex.toString()), MessageType.WARNING); return; } _pluginConfig.importPreferences(getProject(), prefs, new PluginConfiguration.ImportCallback() { public void validated(final PersistencePreferencesBean prefs) { _plugin.loadState(prefs); _plugin.getPreferences().setModified(true); updatePreferences(); } }); }
From source file:org.twodividedbyzero.idea.findbugs.gui.settings.FilterPane.java
License:Open Source License
private void doAdd(@Nullable final Project project) { final FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createMultipleFilesNoJarsDescriptor(); descriptor.setTitle(StringUtil.capitalizeWords(title, true)); descriptor.setDescription(description); descriptor.withFileFilter(new Condition<VirtualFile>() { @Override/*from w w w . j av a 2 s .c o m*/ public boolean value(final VirtualFile virtualFile) { return XmlFileType.DEFAULT_EXTENSION.equalsIgnoreCase(virtualFile.getExtension()); } }); final VirtualFile[] files = FileChooser.chooseFiles(descriptor, this, project, null); if (files.length > 0) { for (final VirtualFile virtualFile : files) { final File file = VfsUtilCore.virtualToIoFile(virtualFile); addFileImpl(file); } getModel().fireTableDataChanged(); } }
From source file:org.twodividedbyzero.idea.findbugs.gui.settings.PluginTablePane.java
License:Open Source License
private void doAddWithFileChooser(@Nullable final Project project) { final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, true, true, false, true); descriptor.setTitle(ResourcesLoader.getString("plugins.choose.title")); descriptor.setDescription(ResourcesLoader.getString("plugins.choose.description")); descriptor.withFileFilter(new Condition<VirtualFile>() { @Override/*from w w w. jav a 2 s . c o m*/ public boolean value(final VirtualFile virtualFile) { return "jar".equalsIgnoreCase(virtualFile.getExtension()); } }); final VirtualFile[] files = FileChooser.chooseFiles(descriptor, this, project, null); if (files.length > 0) { // collect current plugin settings final Set<PluginSettings> settings = New.set(); for (final PluginInfo plugin : getModel().rows) { settings.add(plugin.settings); } // unload all plugin for (final Plugin plugin : Plugin.getAllPlugins()) { if (!plugin.isCorePlugin()) { FindBugsCustomPluginUtil.unload(plugin); } } // load choosed plugins StringBuilder errors = new StringBuilder(); for (final VirtualFile virtualFile : files) { final File file = VfsUtilCore.virtualToIoFile(virtualFile); Plugin plugin = null; try { plugin = FindBugsCustomPluginUtil.loadTemporary(file); final PluginSettings pluginSettings = new PluginSettings(); pluginSettings.id = plugin.getPluginId(); pluginSettings.bundled = false; pluginSettings.enabled = true; // enable ; do not use plugin.isEnabledByDefault(); pluginSettings.url = FindBugsCustomPluginUtil.getAsString(plugin); for (final PluginSettings other : settings) { if (other.id.equals(pluginSettings.id)) { pluginSettings.enabled = false; } } settings.add(pluginSettings); } catch (final Exception e) { LOGGER.warn(String.valueOf(file), e); errors.append("\n - ").append(e.getMessage()); } finally { if (plugin != null) { FindBugsCustomPluginUtil.unload(plugin); } } } // reload all plugins load(settings); if (errors.length() > 0) { Messages.showErrorDialog(this, ResourcesLoader.getString("plugins.load.error.text") + errors.toString(), StringUtil.capitalizeWords(ResourcesLoader.getString("plugins.load.error.title"), true)); } } }
From source file:org.visage.ideaplugin.run.VisageRunSettingsPanel.java
License:Open Source License
public VisageRunSettingsPanel() { workingDirectoryBrowseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor(); descriptor.setTitle("Choose working directory"); VirtualFile[] avirtualfile = FileChooser.chooseFiles(workingDirectoryBrowseButton, descriptor); if (avirtualfile.length != 0) workingDirectoryText.setText(avirtualfile[0].getPath()); }//from w w w. j a va2 s . co m }); }
From source file:randori.plugin.library.RandoriLibraryRootsComponentDescriptor.java
License:Apache License
@NotNull public FileChooserDescriptor createAttachFilesChooserDescriptor(String libraryName) { //final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, true, true, false, true, true); final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, true, true, false, false, true) { @Override// ww w .j ava 2 s . c o m public boolean isFileSelectable(VirtualFile file) { return file.isDirectory() || "rbl".equalsIgnoreCase(file.getExtension()) || "swc".equalsIgnoreCase(file.getExtension()); } @Override public boolean isFileVisible(VirtualFile file, boolean showHiddenFiles) { return super.isFileVisible(file, showHiddenFiles) || file.isDirectory() || isFileSelectable(file); } }; descriptor.setTitle(StringUtil.isEmpty(libraryName) ? ProjectBundle.message("library.attach.files.action") : ProjectBundle.message("library.attach.files.to.library.action", libraryName)); descriptor.setDescription(CHOOSE_LIBRARY_FILE_DESCRIPTION); return descriptor; }
From source file:ro.catalin.prata.testflightuploader.view.TFUploader.java
License:Apache License
public TFUploader() { // update the list updateListOfTeams(KeysManager.instance().getTeamList()); uploadButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { performUploadValidation();//from ww w . j av a 2s . c o m } }); teamList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { // if the Add new Team item is selected, open a dialog with name and token input fields if (teamList.getSelectedIndex() == 0) { AddTeamDialog dialog = new AddTeamDialog(new AddTeamDialog.AddTeamListener() { @Override public void onTeamAdded(Team newTeam) { // add the new team to the list KeysManager.instance().addTeam(newTeam); // update the list updateListOfTeams(KeysManager.instance().getTeamList()); } }); dialog.pack(); dialog.setVisible(true); } } }); deleteTeamButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (teamList.getSelectedIndex() > 0) { // remove the selected team from the list KeysManager.instance().removeTeamAtIndex(teamList.getSelectedIndex()); // update the list updateListOfTeams(KeysManager.instance().getTeamList()); } } }); browseButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // create a new file type with the apk extension to be used for file type filtering FileType type = FileTypeManager.getInstance().getFileTypeByExtension("apk"); // create a descriptor for the file chooser FileChooserDescriptor descriptor = Utils.createSingleFileDescriptor(type); descriptor.setTitle("Android Apk File"); descriptor.setDescription("Please chose the project Apk file to be uploaded to Test Flight"); // by default open the first opened project root directory VirtualFile fileToSelect = ProjectManager.getInstance().getOpenProjects()[0].getBaseDir(); // open the file chooser FileChooser.chooseFiles(descriptor, null, fileToSelect, new FileChooser.FileChooserConsumer() { @Override public void cancelled() { // do nothing for now... } @Override public void consume(List<VirtualFile> virtualFiles) { String filePath = virtualFiles.get(0).getPath(); // the file was selected so add it to the text field apkFilePathTextField.setText(filePath); // save the file path KeysManager.instance().setApkFilePath(filePath); } }); } }); setApiKeyButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // open an input dialog for the api key String apiKey = Messages.showInputDialog(ProjectManager.getInstance().getOpenProjects()[0], "<HTML>This token gives you access to the upload API. You can get it from <a href=\"https://testflightapp.com/account/#api\">here</a>.</HTML>", "Upload API Token", null, KeysManager.instance().getApiKey(), null); // save the api key after a minor validation if (apiKey != null && apiKey.length() > 3) { KeysManager.instance().setApiKey(apiKey); } } }); teamList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { distributionsListTextArea.setText(""); if (teamList.getSelectedIndex() > 0) { distributionsListTextArea.setText(KeysManager.instance().getTeamList() .get(teamList.getSelectedIndex()).getDistributionList()); distributionsListTextArea.setEnabled(true); } else { distributionsListTextArea.setEnabled(false); } } }); distributionsListTextArea.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { super.focusLost(e); if (teamList.getSelectedIndex() > 0) { KeysManager.instance().getTeamList().get(teamList.getSelectedIndex()) .setDistributionList(distributionsListTextArea.getText()); } } }); buildVersionHelpBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // build version info button was pressed, display the about text... Messages.showInfoMessage( "This feature let you change the version code/name of the build after it is sent to Test Flight.\n" + "If you change the values of the build version code or name, it will be saved in your main manifest file. \n" + "This can be useful to remind you to increment the build number after sending the apk to TestFlight. \n \n" + "Please note that the change is made after the build is sent to Test Flight.", "Android Build Version Code/Name Update"); } }); buildVersionCheck.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (buildVersionCheck.isSelected()) { setBuildFeatureComponentsVisible(true); } else { setBuildFeatureComponentsVisible(false); } } }); moduleCombo.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { // if a module is selected, save the module KeysManager.instance().setSelectedModuleName((String) moduleCombo.getSelectedItem()); // update the apk path Module module = ModulesManager.instance().getModuleByName((String) moduleCombo.getSelectedItem()); apkFilePathTextField.setText(ModulesManager.instance().getAndroidApkPath(module)); // update the build version fields too updateBuildVersionFields(); } }); // setup the previously saved values on the UI or the default ones setupValuesOnUI(); }
From source file:ru.artlebedev.idea.plugins.parser.editor.settings.ParserProjectConfigurationForm.java
License:Apache License
public void setUp(final Project project) { pathList = new JList(model); pathList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); pathList.addListSelectionListener(this); JScrollPane pane = new JScrollPane(pathList); GridConstraints myConstraints = new GridConstraints(); myConstraints.setFill(GridConstraints.FILL_BOTH); listPlace.add(pane, myConstraints);/*www.j a v a 2s . c om*/ // pane.set removeButton.setActionCommand("remove"); removeButton.addActionListener(this); MouseListener addClickListener = new MouseAdapter() { public void mouseClicked(MouseEvent mouseEvent) { FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor(); descriptor.setTitle("Parser class path"); descriptor.setDescription("Pick up a directory to add it to parser class path"); VirtualFile[] files = FileChooser.chooseFiles(project, descriptor); if (files.length != 0) { model.addElement(files[0].getPath()); } } }; addButton.addMouseListener(addClickListener); }