diff --git a/images/src/org/intellij/images/ImagesBundle.properties b/images/src/org/intellij/images/ImagesBundle.properties
index 37ddc5e45914..a6d4876ef429 100644
--- a/images/src/org/intellij/images/ImagesBundle.properties
+++ b/images/src/org/intellij/images/ImagesBundle.properties
@@ -22,7 +22,7 @@ settings.preffered.smart.zoom.width=Preferred minimum wi&dth for smart zooming (
settings.preffered.smart.zoom.height=Preferred minimum &height for smart zooming (pixels):
show.grid.lines=Show &Grid lines by default
show.transparency.chessboard=Show &transparency chessboard by default
-enable.mousewheel.zooming=Use &mouse wheel for image zooming (Ctrl+Wheel)
+enable.mousewheel.zooming=Use &mouse wheel for image zooming ({0}+Wheel)
smart.zoom=Enable smart &zooming for small images
chessboard.cell.size=Chessboard cell &size (pixels):
show.grid.every=Show Grid line after &every (pixels):
diff --git a/images/src/org/intellij/images/options/impl/OptionsUIForm.java b/images/src/org/intellij/images/options/impl/OptionsUIForm.java
index af9efa329267..913fb3cd96a1 100644
--- a/images/src/org/intellij/images/options/impl/OptionsUIForm.java
+++ b/images/src/org/intellij/images/options/impl/OptionsUIForm.java
@@ -49,207 +49,212 @@ import java.awt.event.ItemListener;
* @author Alexey Efimov
*/
final class OptionsUIForm {
- private JPanel contentPane;
- private JCheckBox showGrid;
- private JLabel gridLineZoomFactorlLabel;
- private JSpinner gridLineZoomFactor;
- private JLabel gridLineSpanLabel;
- private JSpinner gridLineSpan;
- private JCheckBox showChessboard;
- private JSpinner chessboardSize;
- private JLabel chessboardSizeLabel;
- private JCheckBox wheelZooming;
- private JCheckBox smartZooming;
- private JSpinner smartZoomingWidth;
- private JLabel smartZoomingWidthLabel;
- private JSpinner smartZoomingHeight;
- private JLabel smartZoomingHeightLabel;
- private JLabel gridLineColorLabel;
- private ColorPanel gridLineColor;
- private JLabel chessboardWhiteColorLabel;
- private JLabel chessboardBlackColorLabel;
- private ColorPanel chessboardBlackColor;
- private ColorPanel chessboardWhiteColor;
- private JLabel externalEditorLabel;
- private TextFieldWithBrowseButton externalEditorPath;
+ private JPanel contentPane;
+ private JCheckBox showGrid;
+ private JLabel gridLineZoomFactorlLabel;
+ private JSpinner gridLineZoomFactor;
+ private JLabel gridLineSpanLabel;
+ private JSpinner gridLineSpan;
+ private JCheckBox showChessboard;
+ private JSpinner chessboardSize;
+ private JLabel chessboardSizeLabel;
+ private JCheckBox wheelZooming;
+ private JCheckBox smartZooming;
+ private JSpinner smartZoomingWidth;
+ private JLabel smartZoomingWidthLabel;
+ private JSpinner smartZoomingHeight;
+ private JLabel smartZoomingHeightLabel;
+ private JLabel gridLineColorLabel;
+ private ColorPanel gridLineColor;
+ private JLabel chessboardWhiteColorLabel;
+ private JLabel chessboardBlackColorLabel;
+ private ColorPanel chessboardBlackColor;
+ private ColorPanel chessboardWhiteColor;
+ private JLabel externalEditorLabel;
+ private TextFieldWithBrowseButton externalEditorPath;
- // Options
- private final Options options = new OptionsImpl();
+ // Options
+ private final Options options = new OptionsImpl();
- OptionsUIForm() {
- // Setup labels
- gridLineZoomFactorlLabel.setLabelFor(gridLineZoomFactor);
- gridLineSpanLabel.setLabelFor(gridLineSpan);
- chessboardSizeLabel.setLabelFor(chessboardSize);
- smartZoomingWidthLabel.setLabelFor(smartZoomingWidth);
- smartZoomingHeightLabel.setLabelFor(smartZoomingHeight);
- gridLineColorLabel.setLabelFor(gridLineColor);
- chessboardWhiteColorLabel.setLabelFor(chessboardWhiteColor);
- chessboardBlackColorLabel.setLabelFor(chessboardBlackColor);
- externalEditorLabel.setLabelFor(externalEditorPath);
+ OptionsUIForm() {
- // Setup listeners for enabling and disabling linked checkbox groups
- smartZooming.addItemListener(new LinkEnabledListener(new JComponent[]{
- smartZoomingHeightLabel,
- smartZoomingHeight,
- smartZoomingWidthLabel,
- smartZoomingWidth,
- }));
- // Setup spinners models
- gridLineZoomFactor.setModel(new SpinnerNumberModel(GridOptions.DEFAULT_LINE_ZOOM_FACTOR, 2, 8, 1));
- gridLineSpan.setModel(new SpinnerNumberModel(GridOptions.DEFAULT_LINE_SPAN, 1, 100, 1));
- chessboardSize.setModel(new SpinnerNumberModel(TransparencyChessboardOptions.DEFAULT_CELL_SIZE, 1, 100, 1));
- smartZoomingWidth.setModel(new SpinnerNumberModel(ZoomOptions.DEFAULT_PREFFERED_SIZE.width, 1, 9999, 1));
- smartZoomingHeight.setModel(new SpinnerNumberModel(ZoomOptions.DEFAULT_PREFFERED_SIZE.height, 1, 9999, 1));
+ wheelZooming.setText(ImagesBundle.message("enable.mousewheel.zooming", SystemInfo.isMac ? "Cmd" : "Ctrl"));
+
+ // Setup labels
+ gridLineZoomFactorlLabel.setLabelFor(gridLineZoomFactor);
+ gridLineSpanLabel.setLabelFor(gridLineSpan);
+ chessboardSizeLabel.setLabelFor(chessboardSize);
+ smartZoomingWidthLabel.setLabelFor(smartZoomingWidth);
+ smartZoomingHeightLabel.setLabelFor(smartZoomingHeight);
+ gridLineColorLabel.setLabelFor(gridLineColor);
+ chessboardWhiteColorLabel.setLabelFor(chessboardWhiteColor);
+ chessboardBlackColorLabel.setLabelFor(chessboardBlackColor);
+ externalEditorLabel.setLabelFor(externalEditorPath);
- // Setup listeners for chnages
- showGrid.addItemListener(new CheckboxOptionsListener(GridOptions.ATTR_SHOW_DEFAULT));
- gridLineZoomFactor.addChangeListener(new SpinnerOptionsListener(GridOptions.ATTR_LINE_ZOOM_FACTOR));
- gridLineSpan.addChangeListener(new SpinnerOptionsListener(GridOptions.ATTR_LINE_SPAN));
- showChessboard.addItemListener(new CheckboxOptionsListener(TransparencyChessboardOptions.ATTR_SHOW_DEFAULT));
- chessboardSize.addChangeListener(new SpinnerOptionsListener(TransparencyChessboardOptions.ATTR_CELL_SIZE));
- wheelZooming.addItemListener(new CheckboxOptionsListener(ZoomOptions.ATTR_WHEEL_ZOOMING));
- smartZooming.addItemListener(new CheckboxOptionsListener(ZoomOptions.ATTR_SMART_ZOOMING));
- smartZoomingWidth.addChangeListener(new SpinnerOptionsListener(ZoomOptions.ATTR_PREFFERED_WIDTH));
- smartZoomingHeight.addChangeListener(new SpinnerOptionsListener(ZoomOptions.ATTR_PREFFERED_HEIGHT));
- gridLineColor.addActionListener(new ColorOptionsListener(GridOptions.ATTR_LINE_COLOR));
- chessboardWhiteColor.addActionListener(new ColorOptionsListener(TransparencyChessboardOptions.ATTR_WHITE_COLOR));
- chessboardBlackColor.addActionListener(new ColorOptionsListener(TransparencyChessboardOptions.ATTR_BLACK_COLOR));
- externalEditorPath.getTextField().getDocument().addDocumentListener(new TextDocumentOptionsListener(ExternalEditorOptions.ATTR_EXECUTABLE_PATH));
+ // Setup listeners for enabling and disabling linked checkbox groups
+ smartZooming.addItemListener(new LinkEnabledListener(new JComponent[]{
+ smartZoomingHeightLabel,
+ smartZoomingHeight,
+ smartZoomingWidthLabel,
+ smartZoomingWidth,
+ }));
+ // Setup spinners models
+ gridLineZoomFactor.setModel(new SpinnerNumberModel(GridOptions.DEFAULT_LINE_ZOOM_FACTOR, 2, 8, 1));
+ gridLineSpan.setModel(new SpinnerNumberModel(GridOptions.DEFAULT_LINE_SPAN, 1, 100, 1));
+ chessboardSize.setModel(new SpinnerNumberModel(TransparencyChessboardOptions.DEFAULT_CELL_SIZE, 1, 100, 1));
+ smartZoomingWidth.setModel(new SpinnerNumberModel(ZoomOptions.DEFAULT_PREFFERED_SIZE.width, 1, 9999, 1));
+ smartZoomingHeight.setModel(new SpinnerNumberModel(ZoomOptions.DEFAULT_PREFFERED_SIZE.height, 1, 9999, 1));
- externalEditorPath.addActionListener(new ExternalEditorPathActionListener());
+ // Setup listeners for chnages
+ showGrid.addItemListener(new CheckboxOptionsListener(GridOptions.ATTR_SHOW_DEFAULT));
+ gridLineZoomFactor.addChangeListener(new SpinnerOptionsListener(GridOptions.ATTR_LINE_ZOOM_FACTOR));
+ gridLineSpan.addChangeListener(new SpinnerOptionsListener(GridOptions.ATTR_LINE_SPAN));
+ showChessboard.addItemListener(new CheckboxOptionsListener(TransparencyChessboardOptions.ATTR_SHOW_DEFAULT));
+ chessboardSize.addChangeListener(new SpinnerOptionsListener(TransparencyChessboardOptions.ATTR_CELL_SIZE));
+ wheelZooming.addItemListener(new CheckboxOptionsListener(ZoomOptions.ATTR_WHEEL_ZOOMING));
+ smartZooming.addItemListener(new CheckboxOptionsListener(ZoomOptions.ATTR_SMART_ZOOMING));
+ smartZoomingWidth.addChangeListener(new SpinnerOptionsListener(ZoomOptions.ATTR_PREFFERED_WIDTH));
+ smartZoomingHeight.addChangeListener(new SpinnerOptionsListener(ZoomOptions.ATTR_PREFFERED_HEIGHT));
+ gridLineColor.addActionListener(new ColorOptionsListener(GridOptions.ATTR_LINE_COLOR));
+ chessboardWhiteColor.addActionListener(new ColorOptionsListener(TransparencyChessboardOptions.ATTR_WHITE_COLOR));
+ chessboardBlackColor.addActionListener(new ColorOptionsListener(TransparencyChessboardOptions.ATTR_BLACK_COLOR));
+ externalEditorPath.getTextField().getDocument()
+ .addDocumentListener(new TextDocumentOptionsListener(ExternalEditorOptions.ATTR_EXECUTABLE_PATH));
- updateUI();
+ externalEditorPath.addActionListener(new ExternalEditorPathActionListener());
+
+ updateUI();
+ }
+
+ public JPanel getContentPane() {
+ return contentPane;
+ }
+
+ private static class LinkEnabledListener implements ItemListener {
+ private final JComponent[] children;
+
+ LinkEnabledListener(JComponent[] children) {
+ this.children = children.clone();
}
- public JPanel getContentPane() {
- return contentPane;
+ public void itemStateChanged(ItemEvent e) {
+ setSelected(e.getStateChange() == ItemEvent.SELECTED);
}
- private static class LinkEnabledListener implements ItemListener {
- private final JComponent[] children;
+ private void setSelected(boolean selected) {
+ for (JComponent component : children) {
+ component.setEnabled(selected);
+ }
+ }
+ }
- LinkEnabledListener(JComponent[] children) {
- this.children = children.clone();
- }
+ public Options getOptions() {
+ return options;
+ }
- public void itemStateChanged(ItemEvent e) {
- setSelected(e.getStateChange() == ItemEvent.SELECTED);
- }
+ public void updateUI() {
+ // Grid options
+ EditorOptions editorOptions = options.getEditorOptions();
+ ExternalEditorOptions externalEditorOptions = options.getExternalEditorOptions();
- private void setSelected(boolean selected) {
- for (JComponent component : children) {
- component.setEnabled(selected);
- }
- }
+ GridOptions gridOptions = editorOptions.getGridOptions();
+ showGrid.setSelected(gridOptions.isShowDefault());
+ gridLineZoomFactor.setValue(gridOptions.getLineZoomFactor());
+ gridLineSpan.setValue(gridOptions.getLineSpan());
+ gridLineColor.setSelectedColor(gridOptions.getLineColor());
+ TransparencyChessboardOptions transparencyChessboardOptions = editorOptions.getTransparencyChessboardOptions();
+ showChessboard.setSelected(transparencyChessboardOptions.isShowDefault());
+ chessboardSize.setValue(transparencyChessboardOptions.getCellSize());
+ chessboardWhiteColor.setSelectedColor(transparencyChessboardOptions.getWhiteColor());
+ chessboardBlackColor.setSelectedColor(transparencyChessboardOptions.getBlackColor());
+ ZoomOptions zoomOptions = editorOptions.getZoomOptions();
+ wheelZooming.setSelected(zoomOptions.isWheelZooming());
+ smartZooming.setSelected(zoomOptions.isSmartZooming());
+ Dimension prefferedSize = zoomOptions.getPrefferedSize();
+ smartZoomingWidth.setValue(prefferedSize.width);
+ smartZoomingHeight.setValue(prefferedSize.height);
+ externalEditorPath.setText(externalEditorOptions.getExecutablePath());
+ }
+
+ private final class CheckboxOptionsListener implements ItemListener {
+ private final String name;
+
+ private CheckboxOptionsListener(String name) {
+ this.name = name;
}
- public Options getOptions() {
- return options;
+ @SuppressWarnings({"UnnecessaryBoxing"})
+ public void itemStateChanged(ItemEvent e) {
+ options.setOption(name, Boolean.valueOf(ItemEvent.SELECTED == e.getStateChange()));
+ }
+ }
+
+ private final class SpinnerOptionsListener implements ChangeListener {
+ private final String name;
+
+ private SpinnerOptionsListener(String name) {
+ this.name = name;
}
- public void updateUI() {
- // Grid options
- EditorOptions editorOptions = options.getEditorOptions();
- ExternalEditorOptions externalEditorOptions = options.getExternalEditorOptions();
+ public void stateChanged(ChangeEvent e) {
+ JSpinner source = (JSpinner)e.getSource();
+ options.setOption(name, source.getValue());
+ }
+ }
- GridOptions gridOptions = editorOptions.getGridOptions();
- showGrid.setSelected(gridOptions.isShowDefault());
- gridLineZoomFactor.setValue(gridOptions.getLineZoomFactor());
- gridLineSpan.setValue(gridOptions.getLineSpan());
- gridLineColor.setSelectedColor(gridOptions.getLineColor());
- TransparencyChessboardOptions transparencyChessboardOptions = editorOptions.getTransparencyChessboardOptions();
- showChessboard.setSelected(transparencyChessboardOptions.isShowDefault());
- chessboardSize.setValue(transparencyChessboardOptions.getCellSize());
- chessboardWhiteColor.setSelectedColor(transparencyChessboardOptions.getWhiteColor());
- chessboardBlackColor.setSelectedColor(transparencyChessboardOptions.getBlackColor());
- ZoomOptions zoomOptions = editorOptions.getZoomOptions();
- wheelZooming.setSelected(zoomOptions.isWheelZooming());
- smartZooming.setSelected(zoomOptions.isSmartZooming());
- Dimension prefferedSize = zoomOptions.getPrefferedSize();
- smartZoomingWidth.setValue(prefferedSize.width);
- smartZoomingHeight.setValue(prefferedSize.height);
- externalEditorPath.setText(externalEditorOptions.getExecutablePath());
+ private final class ColorOptionsListener implements ActionListener {
+ private final String name;
+
+ private ColorOptionsListener(String name) {
+ this.name = name;
}
- private final class CheckboxOptionsListener implements ItemListener {
- private final String name;
+ public void actionPerformed(ActionEvent e) {
+ ColorPanel source = (ColorPanel)e.getSource();
+ options.setOption(name, source.getSelectedColor());
+ }
+ }
- private CheckboxOptionsListener(String name) {
- this.name = name;
- }
+ private final class TextDocumentOptionsListener extends DocumentAdapter {
+ private final String name;
- @SuppressWarnings({"UnnecessaryBoxing"})
- public void itemStateChanged(ItemEvent e) {
- options.setOption(name, Boolean.valueOf(ItemEvent.SELECTED == e.getStateChange()));
- }
+ public TextDocumentOptionsListener(String name) {
+ this.name = name;
}
- private final class SpinnerOptionsListener implements ChangeListener {
- private final String name;
-
- private SpinnerOptionsListener(String name) {
- this.name = name;
- }
-
- public void stateChanged(ChangeEvent e) {
- JSpinner source = (JSpinner)e.getSource();
- options.setOption(name, source.getValue());
- }
+ protected void textChanged(DocumentEvent documentEvent) {
+ Document document = documentEvent.getDocument();
+ Position startPosition = document.getStartPosition();
+ try {
+ options.setOption(name, document.getText(startPosition.getOffset(), document.getLength()));
+ }
+ catch (BadLocationException e) {
+ // Ignore
+ }
}
+ }
- private final class ColorOptionsListener implements ActionListener {
- private final String name;
-
- private ColorOptionsListener(String name) {
- this.name = name;
+ private final class ExternalEditorPathActionListener implements ActionListener {
+ public void actionPerformed(ActionEvent e) {
+ Application application = ApplicationManager.getApplication();
+ VirtualFile previous = application.runWriteAction(new Computable() {
+ public VirtualFile compute() {
+ return LocalFileSystem.getInstance().refreshAndFindFileByPath(externalEditorPath.getText().replace('\\', '/'));
}
-
- public void actionPerformed(ActionEvent e) {
- ColorPanel source = (ColorPanel)e.getSource();
- options.setOption(name, source.getSelectedColor());
- }
- }
-
- private final class TextDocumentOptionsListener extends DocumentAdapter {
- private final String name;
-
- public TextDocumentOptionsListener(String name) {
- this.name = name;
- }
-
- protected void textChanged(DocumentEvent documentEvent) {
- Document document = documentEvent.getDocument();
- Position startPosition = document.getStartPosition();
- try {
- options.setOption(name, document.getText(startPosition.getOffset(), document.getLength()));
- } catch (BadLocationException e) {
- // Ignore
- }
- }
- }
-
- private final class ExternalEditorPathActionListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- Application application = ApplicationManager.getApplication();
- VirtualFile previous = application.runWriteAction(new Computable() {
- public VirtualFile compute() {
- return LocalFileSystem.getInstance().refreshAndFindFileByPath(externalEditorPath.getText().replace('\\', '/'));
- }
- });
- FileChooserDescriptor fileDescriptor = new FileChooserDescriptor(true, SystemInfo.isMac, false, false, false, false);
- fileDescriptor.setShowFileSystemRoots(true);
- fileDescriptor.setTitle(ImagesBundle.message("select.external.executable.title"));
- fileDescriptor.setDescription(ImagesBundle.message("select.external.executable.message"));
- FileChooser.chooseFilesWithSlideEffect(fileDescriptor, null, previous, new Consumer() {
- @Override
- public void consume(VirtualFile[] virtualFiles) {
- if (virtualFiles != null && virtualFiles.length > 0) {
- String path = virtualFiles[0].getPath();
- externalEditorPath.setText(path);
- }
- }
- });
+ });
+ FileChooserDescriptor fileDescriptor = new FileChooserDescriptor(true, SystemInfo.isMac, false, false, false, false);
+ fileDescriptor.setShowFileSystemRoots(true);
+ fileDescriptor.setTitle(ImagesBundle.message("select.external.executable.title"));
+ fileDescriptor.setDescription(ImagesBundle.message("select.external.executable.message"));
+ FileChooser.chooseFilesWithSlideEffect(fileDescriptor, null, previous, new Consumer() {
+ @Override
+ public void consume(VirtualFile[] virtualFiles) {
+ if (virtualFiles != null && virtualFiles.length > 0) {
+ String path = virtualFiles[0].getPath();
+ externalEditorPath.setText(path);
+ }
}
+ });
}
+ }
}
diff --git a/java/compiler/impl/src/com/intellij/compiler/actions/BuildArtifactAction.java b/java/compiler/impl/src/com/intellij/compiler/actions/BuildArtifactAction.java
index de755eef5ed5..4c48887f958c 100644
--- a/java/compiler/impl/src/com/intellij/compiler/actions/BuildArtifactAction.java
+++ b/java/compiler/impl/src/com/intellij/compiler/actions/BuildArtifactAction.java
@@ -15,16 +15,26 @@
*/
package com.intellij.compiler.actions;
-import com.intellij.openapi.actionSystem.*;
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.CommonShortcuts;
+import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.compiler.CompileScope;
import com.intellij.openapi.compiler.CompilerManager;
import com.intellij.openapi.keymap.KeymapUtil;
+import com.intellij.openapi.progress.ProgressIndicator;
+import com.intellij.openapi.progress.Task;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
+import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.popup.JBPopupFactory;
import com.intellij.openapi.ui.popup.ListSeparator;
import com.intellij.openapi.ui.popup.PopupStep;
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
+import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.vfs.LocalFileSystem;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.packaging.artifacts.Artifact;
import com.intellij.packaging.impl.artifacts.ArtifactUtil;
import com.intellij.packaging.impl.compiler.ArtifactCompileScope;
@@ -37,9 +47,8 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import java.io.File;
+import java.util.*;
/**
* @author nik
@@ -102,10 +111,9 @@ public class BuildArtifactAction extends AnAction {
}
protected static void doBuild(@NotNull Project project, final @NotNull ArtifactPopupItem item, boolean rebuild) {
- final Artifact artifact = item.getArtifact();
- final List artifacts = artifact != null ? Collections.singletonList(artifact) : ArtifactUtil.getArtifactWithOutputPaths(project);
+ final List artifacts = item.getArtifacts(project);
final CompileScope scope = ArtifactCompileScope.createArtifactsScope(project, artifacts);
- ArtifactsWorkspaceSettings.getInstance(project).setArtifactsToBuild(ContainerUtil.createMaybeSingletonList(artifact));
+ ArtifactsWorkspaceSettings.getInstance(project).setArtifactsToBuild(ContainerUtil.createMaybeSingletonList(item.getArtifact()));
if (!rebuild) {
CompilerManager.getInstance(project).make(scope, null);
}
@@ -125,6 +133,70 @@ public class BuildArtifactAction extends AnAction {
}
}
+ private static class CleanArtifactItem extends ArtifactActionItem {
+ private CleanArtifactItem(@NotNull ArtifactPopupItem item, @NotNull Project project) {
+ super(item, project, "Clean");
+ }
+
+ @Override
+ public void run() {
+ Set parents = new HashSet();
+ final VirtualFile[] roots = ProjectRootManager.getInstance(myProject).getContentSourceRoots();
+ for (VirtualFile root : roots) {
+ VirtualFile parent = root;
+ while (parent != null && !parents.contains(parent)) {
+ parents.add(parent);
+ parent = parent.getParent();
+ }
+ }
+
+ Map outputPathContainingSourceRoots = new HashMap();
+ final List files = new ArrayList();
+ for (Artifact artifact : myArtifactPopupItem.getArtifacts(myProject)) {
+ String outputPath = artifact.getOutputFilePath();
+ if (outputPath != null) {
+ files.add(new File(FileUtil.toSystemDependentName(outputPath)));
+ final VirtualFile outputFile = LocalFileSystem.getInstance().findFileByPath(outputPath);
+ if (parents.contains(outputFile)) {
+ outputPathContainingSourceRoots.put(artifact.getName(), outputPath);
+ }
+ }
+ }
+
+ if (!outputPathContainingSourceRoots.isEmpty()) {
+ final String message;
+ if (outputPathContainingSourceRoots.size() == 1 && outputPathContainingSourceRoots.values().size() == 1) {
+ final String name = ContainerUtil.getFirstItem(outputPathContainingSourceRoots.keySet());
+ final String output = outputPathContainingSourceRoots.get(name);
+ message = "The output directory '" + output + "' of '" + name + "' artifact contains source roots of the project. Do you want to continue and clear it?";
+ }
+ else {
+ StringBuilder info = new StringBuilder();
+ for (String name : outputPathContainingSourceRoots.keySet()) {
+ info.append(" '").append(name).append("' artifact ('").append(outputPathContainingSourceRoots.get(name)).append("')\n");
+ }
+ message = "The output directories of the following artifacts contains source roots:\n" +
+ info + "Do you want to continue and clear these directories?";
+ }
+ final int answer = Messages.showYesNoDialog(myProject, message, "Clean Artifacts", null);
+ if (answer != 0) {
+ return;
+ }
+ }
+
+ new Task.Backgroundable(myProject, "Cleaning artifacts...", true) {
+ @Override
+ public void run(@NotNull ProgressIndicator indicator) {
+ for (File file : files) {
+ indicator.checkCanceled();
+ FileUtil.delete(file);
+ }
+ LocalFileSystem.getInstance().refreshIoFiles(files, true, true, null);
+ }
+ }.queue();
+ }
+ }
+
private static class RebuildArtifactItem extends ArtifactActionItem {
private RebuildArtifactItem(ArtifactPopupItem item, Project project) {
super(item, project, "Rebuild");
@@ -189,6 +261,11 @@ public class BuildArtifactAction extends AnAction {
public Icon getIcon() {
return myIcon;
}
+
+ public List getArtifacts(Project project) {
+ final Artifact artifact = getArtifact();
+ return artifact != null ? Collections.singletonList(artifact) : ArtifactUtil.getArtifactWithOutputPaths(project);
+ }
}
private static class ChooseArtifactStep extends BaseListPopupStep {
@@ -244,6 +321,7 @@ public class BuildArtifactAction extends AnAction {
final List actions = new ArrayList();
actions.add(new BuildArtifactItem(selectedValue, myProject));
actions.add(new RebuildArtifactItem(selectedValue, myProject));
+ actions.add(new CleanArtifactItem(selectedValue, myProject));
if (mySettingsService != null) {
actions.add(new EditArtifactItem(selectedValue, myProject, mySettingsService));
}
diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
index fa1b38dee670..9cde8f07e2df 100644
--- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
+++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactUtil.java
@@ -33,6 +33,7 @@ import com.intellij.packaging.artifacts.ArtifactProperties;
import com.intellij.packaging.artifacts.ArtifactType;
import com.intellij.packaging.elements.*;
import com.intellij.packaging.impl.elements.*;
+import com.intellij.util.PathUtil;
import com.intellij.util.Processor;
import com.intellij.util.SmartList;
import com.intellij.util.containers.ContainerUtil;
@@ -554,5 +555,9 @@ public class ArtifactUtil {
}
return result;
}
+
+ public static String suggestArtifactFileName(String artifactName) {
+ return PathUtil.suggestFileName(artifactName, true, true);
+ }
}
diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java
index 47d0033a6e09..678cd9cb6dd0 100644
--- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java
+++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java
@@ -15,13 +15,13 @@
*/
package com.intellij.packaging.impl.artifacts;
-import com.intellij.openapi.util.io.FileUtil;
import com.intellij.packaging.artifacts.ArtifactTemplate;
import com.intellij.packaging.artifacts.ArtifactType;
import com.intellij.packaging.elements.CompositePackagingElement;
import com.intellij.packaging.elements.PackagingElementOutputKind;
import com.intellij.packaging.elements.PackagingElementResolvingContext;
import com.intellij.packaging.impl.elements.ArchivePackagingElement;
+import com.intellij.util.PathUtil;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -54,7 +54,7 @@ public class JarArtifactType extends ArtifactType {
@NotNull
@Override
public CompositePackagingElement> createRootElement(@NotNull String artifactName) {
- return new ArchivePackagingElement(FileUtil.sanitizeFileName(artifactName) + ".jar");
+ return new ArchivePackagingElement(ArtifactUtil.suggestArtifactFileName(artifactName) + ".jar");
}
@NotNull
diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarFromModulesTemplate.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarFromModulesTemplate.java
index bfce865fdd4a..542db382fd4b 100644
--- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarFromModulesTemplate.java
+++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarFromModulesTemplate.java
@@ -24,7 +24,6 @@ import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.ui.Messages;
-import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.packaging.artifacts.ArtifactTemplate;
@@ -94,7 +93,7 @@ public class JarFromModulesTemplate extends ArtifactTemplate {
String name = modules.length == 1 ? modules[0].getName() : project.getName();
final PackagingElementFactory factory = PackagingElementFactory.getInstance();
- final CompositePackagingElement> archive = factory.createArchive(FileUtil.sanitizeFileName(name) + ".jar");
+ final CompositePackagingElement> archive = factory.createArchive(ArtifactUtil.suggestArtifactFileName(name) + ".jar");
OrderEnumerator orderEnumerator = ProjectRootManager.getInstance(project).orderEntries(Arrays.asList(modules));
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java
index 272d0f645c7c..86394d0e5d1a 100644
--- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java
+++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java
@@ -429,14 +429,14 @@ public class ArtifactEditorImpl implements ArtifactEditorEx {
setOutputPath(ArtifactUtil.getDefaultArtifactOutputPath(newArtifactName, myProject));
final CompositePackagingElement> root = getRootElement();
if (root instanceof ArchivePackagingElement) {
- String oldFileName = FileUtil.sanitizeFileName(oldArtifactName);
+ String oldFileName = ArtifactUtil.suggestArtifactFileName(oldArtifactName);
final String name = ((ArchivePackagingElement)root).getArchiveFileName();
final String fileName = FileUtil.getNameWithoutExtension(name);
final String extension = FileUtil.getExtension(name);
if (fileName.equals(oldFileName) && extension.length() > 0) {
myLayoutTreeComponent.editLayout(new Runnable() {
public void run() {
- ((ArchivePackagingElement)getRootElement()).setArchiveFileName(FileUtil.sanitizeFileName(newArtifactName) + "." + extension);
+ ((ArchivePackagingElement)getRootElement()).setArchiveFileName(ArtifactUtil.suggestArtifactFileName(newArtifactName) + "." + extension);
}
});
myLayoutTreeComponent.updateRootNode();
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
index 216a3c44afdc..3eff28e67732 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorParameterFromFieldFix.java
@@ -152,8 +152,15 @@ public class CreateConstructorParameterFromFieldFix implements IntentionAction {
}
}
-
- addParameterToConstructor(project, file, editor, constructor, constrs.size() == constructors.length ? fields.toArray(new PsiField[fields.size()]) : new PsiField[]{getField()});
+ Collections.sort(fields, new Comparator() {
+ @Override
+ public int compare(PsiField o1, PsiField o2) {
+ return o1.getTextOffset() - o2.getTextOffset();
+ }
+ });
+ addParameterToConstructor(project, file, editor, constructor, constrs.size() == constructors.length
+ ? fields.toArray(new PsiField[fields.size()])
+ : new PsiField[]{getField()});
fieldsToFix.clear();
}
}
@@ -217,7 +224,7 @@ public class CreateConstructorParameterFromFieldFix implements IntentionAction {
expressions[i++] = factory.createExpressionFromText(field.getName(), constructor);
}
if (constructor.isVarArgs()) {
- ArrayUtil.swap(expressions, parameters.length - 1, expressions.length - 1);
+ ArrayUtil.rotateLeft(expressions, parameters.length - 1, expressions.length - 1);
}
final SmartPointerManager manager = SmartPointerManager.getInstance(project);
final SmartPsiElementPointer constructorPointer = manager.createSmartPsiElementPointer(constructor);
diff --git a/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java b/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java
index 559f2d6cbcbe..de021bad6ae2 100644
--- a/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java
+++ b/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java
@@ -477,6 +477,8 @@ public class JavaSdkImpl extends JavaSdk {
if (jarDir != null && jarDir.isDirectory()) {
File[] jarFiles = jarDir.listFiles(jarFileFilter);
for (File jarFile : jarFiles) {
+ final String jarFileName = jarFile.getName();
+ if (jarFileName.equals("alt-rt.jar") || jarFileName.equals("alt-string.jar")) continue;
try {
// File.getCanonicalFile() allows us to filter out duplicate (symbolically linked) jar files,
// commonly found in osx JDK distributions
diff --git a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java
index f686c9c7bef5..6a8011e49d98 100644
--- a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java
+++ b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java
@@ -707,12 +707,8 @@ public String getAccessorsVisibility() {
}
private void configureColors(boolean isSelected, JTable table, boolean hasFocus, final int row, final int column) {
- if (isSelected) {
- setForeground(table.getSelectionForeground());
- } else {
- setForeground(UIUtil.getTableForeground());
- }
-
+ setForeground(isSelected ? UIUtil.getTableSelectionForeground() : UIUtil.getTableForeground());
+ setBackground(isSelected ? UIUtil.getTableSelectionBackground() : UIUtil.getTableBackground());
if (hasFocus) {
if (table.isCellEditable(row, column)) {
super.setForeground(UIUtil.getTableFocusCellForeground());
diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/daemon/JavaErrorMessages.java b/java/java-psi-impl/src/com/intellij/codeInsight/daemon/JavaErrorMessages.java
index c874afcb270a..3fc250b1c0ab 100644
--- a/java/java-psi-impl/src/com/intellij/codeInsight/daemon/JavaErrorMessages.java
+++ b/java/java-psi-impl/src/com/intellij/codeInsight/daemon/JavaErrorMessages.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2011 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,31 +15,23 @@
*/
package com.intellij.codeInsight.daemon;
-import com.intellij.CommonBundle;
+import com.intellij.AbstractBundle;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.PropertyKey;
-import java.util.ResourceBundle;
-
/**
* @author max
*/
-public class JavaErrorMessages {
+public class JavaErrorMessages extends AbstractBundle {
+ public static final JavaErrorMessages INSTANCE = new JavaErrorMessages();
@NonNls public static final String BUNDLE = "messages.JavaErrorMessages";
private JavaErrorMessages() {
+ super(BUNDLE);
}
public static String message(@PropertyKey(resourceBundle = BUNDLE)String key, Object... params) {
- return CommonBundle.message(getBundle(), key, params);
- }
-
- private static class ResourceBundleHolder {
- private static final ResourceBundle ourBundle = ResourceBundle.getBundle(BUNDLE);
- }
-
- private static ResourceBundle getBundle() {
- return ResourceBundleHolder.ourBundle;
+ return INSTANCE.getMessage(key, params);
}
}
diff --git a/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java b/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java
index e4ef509e762e..11828295ce42 100644
--- a/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java
+++ b/java/java-psi-impl/src/com/intellij/lang/java/parser/FileParser.java
@@ -15,7 +15,7 @@
*/
package com.intellij.lang.java.parser;
-import com.intellij.CommonBundle;
+import com.intellij.AbstractBundle;
import com.intellij.codeInsight.daemon.JavaErrorMessages;
import com.intellij.lang.PsiBuilder;
import com.intellij.openapi.util.Pair;
@@ -27,8 +27,6 @@ import com.intellij.psi.tree.TokenSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import java.util.ResourceBundle;
-
import static com.intellij.lang.PsiBuilderUtil.expect;
import static com.intellij.lang.java.parser.JavaParserUtil.*;
@@ -52,14 +50,17 @@ public class FileParser {
}
public void parse(final PsiBuilder builder) {
- parseFile(builder, IMPORT_LIST_STOPPER_SET, JavaErrorMessages.BUNDLE, "expected.class.or.interface");
+ parseFile(builder, IMPORT_LIST_STOPPER_SET, JavaErrorMessages.INSTANCE, "expected.class.or.interface");
}
- private static String error(@NotNull String bundle, @NotNull String errorMessageKey) {
- return CommonBundle.message(ResourceBundle.getBundle(bundle), errorMessageKey);
+ private static String error(@NotNull AbstractBundle bundle, @NotNull String errorMessageKey) {
+ return bundle.getMessage(errorMessageKey);
}
- public void parseFile(final PsiBuilder builder, final TokenSet importListStoppers, @NotNull String bundle, @NotNull String errorMessageKey) {
+ public void parseFile(@NotNull final PsiBuilder builder,
+ @NotNull final TokenSet importListStoppers,
+ @NotNull final AbstractBundle bundle,
+ @NotNull final String errorMessageKey) {
parsePackageStatement(builder);
final Pair impListInfo = parseImportList(builder, importListStoppers);
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFields.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFields.java
index db50428a883e..79a6f917ba56 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFields.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFields.java
@@ -3,10 +3,10 @@ class A {
private final int field;
private final Object o;
private final Runnable runnable;
- A(int field, Runnable runnable, Object o, String... strs) {
- this.field = field;
- this.runnable = runnable;
+ A(int field, Object o, Runnable runnable, String... strs) {
+ this.field = field;
this.o = o;
+ this.runnable = runnable;
}
}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFieldsNoConstructorNoUsages.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFieldsNoConstructorNoUsages.java
index e142c903f5ff..97b2c31c0350 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFieldsNoConstructorNoUsages.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterMultipleFieldsNoConstructorNoUsages.java
@@ -4,9 +4,9 @@ public class A {
private final Object o;
private final Runnable runnable;
- public A(Runnable runnable, Object o, int field) {
- this.runnable = runnable;
+ public A(int field, Object o, Runnable runnable) {
+ this.field = field;
this.o = o;
- this.field = field;
+ this.runnable = runnable;
}
}
diff --git a/platform/core-api/src/com/intellij/openapi/vfs/newvfs/events/VFileCreateEvent.java b/platform/core-api/src/com/intellij/openapi/vfs/newvfs/events/VFileCreateEvent.java
index 7b9a7b86d8bd..4d9df7675eb0 100644
--- a/platform/core-api/src/com/intellij/openapi/vfs/newvfs/events/VFileCreateEvent.java
+++ b/platform/core-api/src/com/intellij/openapi/vfs/newvfs/events/VFileCreateEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2011 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,26 +13,40 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-/*
- * @author max
- */
package com.intellij.openapi.vfs.newvfs.events;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileSystem;
import org.jetbrains.annotations.NonNls;
+/**
+ * @author max
+ */
public class VFileCreateEvent extends VFileEvent {
private final VirtualFile myParent;
private final boolean myDirectory;
private final String myChildName;
+ private final boolean myReCreation;
- public VFileCreateEvent(final Object requestor, final VirtualFile parent, final String childName, boolean isDirectory, boolean isFromRefresh) {
+ public VFileCreateEvent(final Object requestor,
+ final VirtualFile parent,
+ final String childName,
+ final boolean isDirectory,
+ final boolean isFromRefresh) {
+ this(requestor, parent, childName, isDirectory, isFromRefresh, false);
+ }
+
+ public VFileCreateEvent(final Object requestor,
+ final VirtualFile parent,
+ final String childName,
+ final boolean isDirectory,
+ final boolean isFromRefresh,
+ final boolean isReCreation) {
super(requestor, isFromRefresh);
myChildName = childName;
myParent = parent;
myDirectory = isDirectory;
+ myReCreation = isReCreation;
}
public String getChildName() {
@@ -48,8 +62,10 @@ public class VFileCreateEvent extends VFileEvent {
}
@NonNls
+ @Override
public String toString() {
- return "VfsEvent[create " + (isDirectory() ? "dir " : "file ") + myChildName + " in " + myParent.getUrl() + "]";
+ return "VfsEvent[" + (myReCreation ? "re" : "") + "create " + (myDirectory ? "dir " : "file ") +
+ myChildName + " in " + myParent.getUrl() + "]";
}
@Override
@@ -69,9 +85,15 @@ public class VFileCreateEvent extends VFileEvent {
@Override
public boolean isValid() {
- return myParent.isValid() && myParent.findChild(myChildName) == null;
+ if (myParent.isValid()) {
+ final VirtualFile child = myParent.findChild(myChildName);
+ return !myReCreation && child == null || myReCreation && child != null;
+ }
+
+ return false;
}
+ @Override
public boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
@@ -81,15 +103,17 @@ public class VFileCreateEvent extends VFileEvent {
if (myDirectory != event.myDirectory) return false;
if (!myChildName.equals(event.myChildName)) return false;
if (!myParent.equals(event.myParent)) return false;
+ if (myReCreation != event.myReCreation) return false;
return true;
}
+ @Override
public int hashCode() {
- int result;
- result = myParent.hashCode();
+ int result = myParent.hashCode();
result = 31 * result + (myDirectory ? 1 : 0);
result = 31 * result + myChildName.hashCode();
+ result = 31 * result + (myReCreation ? 1 : 0);
return result;
}
}
diff --git a/platform/lang-impl/src/com/intellij/application/options/InitialConfigurationDialog.java b/platform/lang-impl/src/com/intellij/application/options/InitialConfigurationDialog.java
index 577d96bb4f0e..a9446399ccf3 100644
--- a/platform/lang-impl/src/com/intellij/application/options/InitialConfigurationDialog.java
+++ b/platform/lang-impl/src/com/intellij/application/options/InitialConfigurationDialog.java
@@ -105,7 +105,9 @@ public class InitialConfigurationDialog extends DialogWrapper {
myColorSchemeComboBox.setRenderer(new ListCellRendererWrapper(myColorSchemeComboBox.getRenderer()) {
@Override
public void customize(JList list, Object value, int index, boolean selected, boolean cellHasFocus) {
- setText(((EditorColorsScheme)value).getName());
+ if (value != null) {
+ setText(((EditorColorsScheme)value).getName());
+ }
}
});
myColorSchemeComboBox.addActionListener(new ActionListener() {
diff --git a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java
index 61b243c92d74..f229c5233a66 100644
--- a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java
+++ b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java
@@ -1,3 +1,4 @@
+/*
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
@@ -113,9 +114,9 @@ public class ClickNavigator {
public static String highlightingTypeFromTokenType(IElementType tokenType, SyntaxHighlighter highlighter) {
TextAttributesKey[] highlights = highlighter.getTokenHighlights(tokenType);
String s = null;
- for (TextAttributesKey highlight : highlights) {
- if (highlight != HighlighterColors.TEXT) {
- s = highlight.getExternalName();
+ for (int i = highlights.length - 1; i >= 0; i--) {
+ if (highlights[i] != HighlighterColors.TEXT) {
+ s = highlights[i].getExternalName();
break;
}
}
diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.form b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.form
index 2721f16caa1c..ae5e2aecd4de 100644
--- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.form
+++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.form
@@ -2,7 +2,7 @@