public ApkStep(ExportSignedPackageWizard wizard) { myWizard = wizard; myApkPathLabel.setLabelFor(myApkPathField); myProguardConfigFilePathLabel.setLabelFor(myProguardConfigFilePathField); myApkPathField .getButton() .addActionListener( new SaveFileListener( myContentPanel, myApkPathField, AndroidBundle.message("android.extract.package.choose.dest.apk")) { @Override protected String getDefaultLocation() { Module module = myWizard.getFacet().getModule(); return getContentRootPath(module); } }); myProguardConfigFilePathField .getButton() .addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final String path = myProguardConfigFilePathField.getText().trim(); VirtualFile defaultFile = path != null && path.length() > 0 ? LocalFileSystem.getInstance().findFileByPath(path) : null; final AndroidFacet facet = myWizard.getFacet(); if (defaultFile == null && facet != null) { defaultFile = AndroidRootUtil.getMainContentRoot(facet); } final VirtualFile file = FileChooser.chooseFile( myContentPanel, FileChooserDescriptorFactory.createSingleFileNoJarsDescriptor(), defaultFile); if (file != null) { myProguardConfigFilePathField.setText( FileUtil.toSystemDependentName(file.getPath())); } } }); myProguardCheckBox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final boolean enabled = myProguardCheckBox.isSelected(); myProguardConfigFilePathLabel.setEnabled(enabled); myProguardConfigFilePathField.setEnabled(enabled); } }); }
public GoGeneratorPeer() { mySdkPath .getButton() .addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { FileChooser.chooseFile( FileChooserDescriptorFactory.createSingleFolderDescriptor(), null, mySdkPath, null, new Consumer<VirtualFile>() { @Override public void consume(@NotNull VirtualFile file) { mySdkPath.setText(FileUtil.toSystemDependentName(file.getPath())); } }); } }); gopathPath .getButton() .addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { FileChooser.chooseFile( FileChooserDescriptorFactory.createSingleFolderDescriptor(), null, gopathPath, null, new Consumer<VirtualFile>() { @Override public void consume(@NotNull VirtualFile file) { gopathPath.setText(FileUtil.toSystemDependentName(file.getPath())); } }); } }); mySdkPath.setText(FileUtil.toSystemDependentName(GoSettings.getInstance().goRoot)); if (mySdkPath.getText().equals("")) { mySdkPath.setText(GoSdkUtil.getSysGoRootPath()); } gopathPath.setText(FileUtil.toSystemDependentName(GoSettings.getInstance().goPath)); if (gopathPath.getText().equals("")) { gopathPath.setText(GoSdkUtil.getSysGoPathPath().split(File.pathSeparator)[0]); } }
public GoRunConfigurationEditorForm(final Project project) { applicationName .getButton() .addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { TreeFileChooser fileChooser = TreeFileChooserFactory.getInstance(project) .createFileChooser( "Go Application Chooser", null, GoFileType.INSTANCE, new TreeFileChooser.PsiFileFilter() { public boolean accept(PsiFile file) { if (!(file instanceof GoFile)) { return false; } GoFile goFile = (GoFile) file; return goFile.getPackage().isMainPackage(); } }, true, false); fileChooser.showDialog(); PsiFile selectedFile = fileChooser.getSelectedFile(); if (selectedFile != null) { setChosenFile(selectedFile.getVirtualFile()); } } }); buildDirectoryPathBrowser.addBrowseFolderListener( "Go executable build path", "Go executable build path", project, new FileChooserDescriptor(false, true, false, false, false, false)); workingDirectoryBrowser.addBrowseFolderListener( "Application working directory", "Application working directory", project, new FileChooserDescriptor(false, true, false, false, false, false)); buildBeforeRunCheckBox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { buildDirectoryPathBrowser.setEnabled(buildBeforeRunCheckBox.isSelected()); } }); }
public Dart2JSSettingsDialog(@Nullable Project project, String jsFilePath) { super(project, true); myOutputFilePath.setText(FileUtil.toSystemDependentName(jsFilePath)); myCheckedMode.setSelected( PropertiesComponent.getInstance().getBoolean("dart2js.checked.mode", false)); myMinify.setSelected(PropertiesComponent.getInstance().getBoolean("dart2js.minify", false)); myCheckedMode.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { PropertiesComponent.getInstance() .setValue("dart2js.checked.mode", Boolean.toString(myCheckedMode.isSelected())); } }); myMinify.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { PropertiesComponent.getInstance() .setValue("dart2js.minify", Boolean.toString(myMinify.isSelected())); } }); myOutputFilePath .getButton() .addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final FileChooserDescriptor descriptor = new FileChooserDescriptor(false, true, false, false, false, false); final VirtualFile file = FileChooser.chooseFile(descriptor, myMainPanel, null, null); if (file != null) { myOutputFilePath.setText(FileUtil.toSystemDependentName(file.getPath())); } } }); setTitle("Dart2JS"); init(); }
public DirDiffPanel(DirDiffTableModel model, DirDiffWindow wnd) { myModel = model; myDiffWindow = wnd; mySourceDirField.setText(model.getSourceDir().getPath()); myTargetDirField.setText(model.getTargetDir().getPath()); mySourceDirField.setBorder(JBUI.Borders.emptyRight(8)); myTargetDirField.setBorder(JBUI.Borders.emptyRight(12)); mySourceDirLabel.setIcon(model.getSourceDir().getIcon()); myTargetDirLabel.setIcon(model.getTargetDir().getIcon()); myTargetDirLabel.setBorder(JBUI.Borders.emptyLeft(8)); myModel.setTable(myTable); myModel.setPanel(this); Disposer.register(this, myModel); myTable.setModel(myModel); new TableSpeedSearch(myTable); final DirDiffTableCellRenderer renderer = new DirDiffTableCellRenderer(); myTable.setExpandableItemsEnabled(false); myTable.setDefaultRenderer(Object.class, renderer); myTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); final Project project = myModel.getProject(); myTable .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { final int lastIndex = e.getLastIndex(); final int firstIndex = e.getFirstIndex(); final DirDiffElementImpl last = myModel.getElementAt(lastIndex); final DirDiffElementImpl first = myModel.getElementAt(firstIndex); if (last == null || first == null) { update(false); return; } if (last.isSeparator()) { final int ind = lastIndex + ((lastIndex < firstIndex) ? 1 : -1); myTable.getSelectionModel().addSelectionInterval(ind, ind); } else if (first.isSeparator()) { final int ind = firstIndex + ((firstIndex < lastIndex) ? 1 : -1); myTable.getSelectionModel().addSelectionInterval(ind, ind); } else { update(false); } myDiffWindow.setTitle(myModel.getTitle()); } }); if (model.isOperationsEnabled()) { new AnAction("Change diff operation") { @Override public void actionPerformed(AnActionEvent e) { changeOperationForSelection(); } }.registerCustomShortcutSet(CustomShortcutSet.fromString("SPACE"), myTable); new ClickListener() { @Override public boolean onClick(@NotNull MouseEvent e, int clickCount) { if (e.getButton() == MouseEvent.BUTTON3) return false; if (myTable.getRowCount() > 0) { final int row = myTable.rowAtPoint(e.getPoint()); final int col = myTable.columnAtPoint(e.getPoint()); if (row != -1 && col == ((myTable.getColumnCount() - 1) / 2)) { changeOperationForSelection(); } } return true; } }.installOn(myTable); } myTable.addKeyListener( new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { final int keyCode = e.getKeyCode(); int row; if (keyCode == KeyEvent.VK_DOWN) { row = getNextRow(); } else if (keyCode == KeyEvent.VK_UP) { row = getPrevRow(); } else { row = -1; } if (row != -1) { selectRow(row, e.isShiftDown()); e.consume(); } } }); final TableColumnModel columnModel = myTable.getColumnModel(); final TableColumn operationColumn = columnModel.getColumn((columnModel.getColumnCount() - 1) / 2); operationColumn.setMaxWidth(JBUI.scale(25)); operationColumn.setMinWidth(JBUI.scale(25)); for (int i = 0; i < columnModel.getColumnCount(); i++) { final String name = myModel.getColumnName(i); final TableColumn column = columnModel.getColumn(i); if (DirDiffTableModel.COLUMN_DATE.equals(name)) { column.setMaxWidth(JBUI.scale(90)); column.setMinWidth(JBUI.scale(90)); } else if (DirDiffTableModel.COLUMN_SIZE.equals(name)) { column.setMaxWidth(JBUI.scale(120)); column.setMinWidth(JBUI.scale(120)); } } final DirDiffToolbarActions actions = new DirDiffToolbarActions(myModel, myDiffPanel); final ActionManager actionManager = ActionManager.getInstance(); final ActionToolbar toolbar = actionManager.createActionToolbar("DirDiff", actions, true); registerCustomShortcuts(actions, myTable); myToolBarPanel.add(toolbar.getComponent(), BorderLayout.CENTER); final JBLabel label = new JBLabel( "Use Space button or mouse click to change operation for the selected elements." + " Enter to perform.", SwingConstants.CENTER); label.setForeground(UIUtil.getInactiveTextColor()); UIUtil.applyStyle(UIUtil.ComponentStyle.MINI, label); DataManager.registerDataProvider(myFilesPanel, this); myTable.addMouseListener( new PopupHandler() { @Override public void invokePopup(Component comp, int x, int y) { final JPopupMenu popupMenu = actionManager .createActionPopupMenu( "DirDiffPanel", (ActionGroup) actionManager.getAction("DirDiffMenu")) .getComponent(); popupMenu.show(comp, x, y); } }); myFilesPanel.add(label, BorderLayout.SOUTH); final JBLoadingPanel loadingPanel = new JBLoadingPanel(new BorderLayout(), wnd.getDisposable()); loadingPanel.addListener( new JBLoadingPanelListener.Adapter() { boolean showHelp = true; @Override public void onLoadingFinish() { if (showHelp && myModel.isOperationsEnabled() && myModel.getRowCount() > 0) { final long count = PropertiesComponent.getInstance().getOrInitLong("dir.diff.space.button.info", 0); if (count < 3) { JBPopupFactory.getInstance() .createBalloonBuilder(new JLabel(" Use Space button to change operation")) .setFadeoutTime(5000) .setContentInsets(JBUI.insets(15)) .createBalloon() .show( new RelativePoint(myTable, new Point(myTable.getWidth() / 2, 0)), Balloon.Position.above); PropertiesComponent.getInstance() .setValue("dir.diff.space.button.info", String.valueOf(count + 1)); } } showHelp = false; } }); loadingPanel.add(myComponent, BorderLayout.CENTER); myTable.putClientProperty(myModel.DECORATOR, loadingPanel); myTable.addComponentListener( new ComponentAdapter() { @Override public void componentShown(ComponentEvent e) { myTable.removeComponentListener(this); myModel.reloadModel(false); } }); myRootPanel.removeAll(); myRootPanel.add(loadingPanel, BorderLayout.CENTER); myFilter = new FilterComponent("dir.diff.filter", 15, false) { @Override public void filter() { fireFilterUpdated(); } @Override protected void onEscape(KeyEvent e) { e.consume(); focusTable(); } @Override protected JComponent getPopupLocationComponent() { return UIUtil.findComponentOfType( super.getPopupLocationComponent(), JTextComponent.class); } }; myModel.addModelListener( new DirDiffModelListener() { @Override public void updateStarted() { myFilter.setEnabled(false); } @Override public void updateFinished() { myFilter.setEnabled(true); } }); myFilter.getTextEditor().setColumns(10); myFilter.setFilter(myModel.getSettings().getFilter()); // oldFilter = myFilter.getText(); oldFilter = myFilter.getFilter(); myFilterPanel.add(myFilter, BorderLayout.CENTER); myFilterLabel.setLabelFor(myFilter); final Callable<DiffElement> srcChooser = myModel.getSourceDir().getElementChooser(project); final Callable<DiffElement> trgChooser = myModel.getTargetDir().getElementChooser(project); mySourceDirField.setEditable(false); myTargetDirField.setEditable(false); if (srcChooser != null && myModel.getSettings().enableChoosers) { mySourceDirField.setButtonEnabled(true); mySourceDirField.addActionListener( new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { try { final Callable<DiffElement> chooser = myModel.getSourceDir().getElementChooser(project); if (chooser == null) return; final DiffElement newElement = chooser.call(); if (newElement != null) { if (!StringUtil.equals(mySourceDirField.getText(), newElement.getPath())) { myModel.setSourceDir(newElement); mySourceDirField.setText(newElement.getPath()); String shortcutsText = KeymapUtil.getShortcutsText( RefreshDirDiffAction.REFRESH_SHORTCUT.getShortcuts()); myModel.clearWithMessage( "Source or Target has been changed." + " Please run Refresh (" + shortcutsText + ")"); } } } catch (Exception ignored) { } } }); } else { Dimension preferredSize = mySourceDirField.getPreferredSize(); mySourceDirField.setButtonEnabled(false); mySourceDirField.getButton().setVisible(false); mySourceDirField.setPreferredSize(preferredSize); } if (trgChooser != null && myModel.getSettings().enableChoosers) { myTargetDirField.setButtonEnabled(true); myTargetDirField.addActionListener( new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { try { final Callable<DiffElement> chooser = myModel.getTargetDir().getElementChooser(project); if (chooser == null) return; final DiffElement newElement = chooser.call(); if (newElement != null) { myModel.setTargetDir(newElement); myTargetDirField.setText(newElement.getPath()); } } catch (Exception ignored) { } } }); } else { Dimension preferredSize = myTargetDirField.getPreferredSize(); myTargetDirField.setButtonEnabled(false); myTargetDirField.getButton().setVisible(false); myTargetDirField.setPreferredSize(preferredSize); } myDiffRequestProcessor = new MyDiffRequestProcessor(project); Disposer.register(this, myDiffRequestProcessor); myDiffPanel.add(myDiffRequestProcessor.getComponent(), BorderLayout.CENTER); myPrevNextDifferenceIterable = new MyPrevNextDifferenceIterable(); }