diff --git a/build/order.txt b/build/order.txt
index f93a7f28e863..ff0a75037144 100644
--- a/build/order.txt
+++ b/build/order.txt
@@ -4148,7 +4148,6 @@ com/intellij/psi/search/scope/packageSet/ParsingException.class:/lib/openapi.jar
com/intellij/packageDependencies/DependencyValidationManagerImpl.class:/lib/idea.jar
com/intellij/psi/search/scope/packageSet/NamedScope.class:/lib/openapi.jar
com/intellij/psi/search/scope/packageSet/NamedScope$UnnamedScope.class:/lib/openapi.jar
-ide/sharedScope.png:/lib/icons.jar
com/intellij/packageDependencies/DependencyValidationManagerImpl$1.class:/lib/idea.jar
com/intellij/ide/startup/impl/StartupManagerImpl$4.class:/lib/idea.jar
com/intellij/psi/search/scope/packageSet/PackageSetFactory.class:/lib/openapi.jar
diff --git a/java/java-impl/java-impl.iml b/java/java-impl/java-impl.iml
index 688a8d303608..6067c7e0a5ee 100644
--- a/java/java-impl/java-impl.iml
+++ b/java/java-impl/java-impl.iml
@@ -53,6 +53,7 @@
+
diff --git a/java/java-impl/src/com/intellij/codeInspection/inferNullity/InferNullityAnnotationsAction.java b/java/java-impl/src/com/intellij/codeInspection/inferNullity/InferNullityAnnotationsAction.java
index ae45a6f04c87..7affcf4c8b04 100644
--- a/java/java-impl/src/com/intellij/codeInspection/inferNullity/InferNullityAnnotationsAction.java
+++ b/java/java-impl/src/com/intellij/codeInspection/inferNullity/InferNullityAnnotationsAction.java
@@ -23,6 +23,8 @@ import com.intellij.codeInsight.NullableNotNullManager;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.codeInsight.daemon.impl.quickfix.LocateLibraryDialog;
import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
+import com.intellij.history.LocalHistory;
+import com.intellij.history.LocalHistoryAction;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.Result;
@@ -207,17 +209,23 @@ public class InferNullityAnnotationsAction extends BaseAnalysisAction {
final Runnable applyRunnable = new Runnable() {
@Override
public void run() {
- new WriteCommandAction(project, INFER_NULLITY_ANNOTATIONS) {
- @Override
- protected void run(Result result) throws Throwable {
- if (!inferrer.nothingFoundMessage(project)) {
- final SequentialModalProgressTask progressTask = new SequentialModalProgressTask(project, INFER_NULLITY_ANNOTATIONS, false);
- progressTask.setMinIterationTime(200);
- progressTask.setTask(new AnnotateTask(project, inferrer, progressTask));
- ProgressManager.getInstance().run(progressTask);
+ final LocalHistoryAction action = LocalHistory.getInstance().startAction(INFER_NULLITY_ANNOTATIONS);
+ try {
+ new WriteCommandAction(project, INFER_NULLITY_ANNOTATIONS) {
+ @Override
+ protected void run(Result result) throws Throwable {
+ if (!inferrer.nothingFoundMessage(project)) {
+ final SequentialModalProgressTask progressTask = new SequentialModalProgressTask(project, INFER_NULLITY_ANNOTATIONS, false);
+ progressTask.setMinIterationTime(200);
+ progressTask.setTask(new AnnotateTask(project, inferrer, progressTask));
+ ProgressManager.getInstance().run(progressTask);
+ }
}
- }
- }.execute();
+ }.execute();
+ }
+ finally {
+ action.finish();
+ }
}
};
SwingUtilities.invokeLater(applyRunnable);
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/DocCommentTokenizer.java b/java/java-impl/src/com/intellij/spellchecker/DocCommentTokenizer.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/DocCommentTokenizer.java
rename to java/java-impl/src/com/intellij/spellchecker/DocCommentTokenizer.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/JavaSpellcheckingStrategy.java b/java/java-impl/src/com/intellij/spellchecker/JavaSpellcheckingStrategy.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/JavaSpellcheckingStrategy.java
rename to java/java-impl/src/com/intellij/spellchecker/JavaSpellcheckingStrategy.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/LiteralExpressionTokenizer.java b/java/java-impl/src/com/intellij/spellchecker/LiteralExpressionTokenizer.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/LiteralExpressionTokenizer.java
rename to java/java-impl/src/com/intellij/spellchecker/LiteralExpressionTokenizer.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/MethodNameTokenizerJava.java b/java/java-impl/src/com/intellij/spellchecker/MethodNameTokenizerJava.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/MethodNameTokenizerJava.java
rename to java/java-impl/src/com/intellij/spellchecker/MethodNameTokenizerJava.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/NamedElementTokenizer.java b/java/java-impl/src/com/intellij/spellchecker/NamedElementTokenizer.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/NamedElementTokenizer.java
rename to java/java-impl/src/com/intellij/spellchecker/NamedElementTokenizer.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/PsiIdentifierTokenizer.java b/java/java-impl/src/com/intellij/spellchecker/PsiIdentifierTokenizer.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/PsiIdentifierTokenizer.java
rename to java/java-impl/src/com/intellij/spellchecker/PsiIdentifierTokenizer.java
diff --git a/plugins/java-i18n/src/com/intellij/spellchecker/PsiTypeTokenizer.java b/java/java-impl/src/com/intellij/spellchecker/PsiTypeTokenizer.java
similarity index 100%
rename from plugins/java-i18n/src/com/intellij/spellchecker/PsiTypeTokenizer.java
rename to java/java-impl/src/com/intellij/spellchecker/PsiTypeTokenizer.java
diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java
index 6e3b0ccdff82..ecb14768b153 100644
--- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java
+++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/ImplementationsViewTest.java
@@ -115,6 +115,9 @@ public class ImplementationsViewTest extends LightCodeInsightFixtureTestCase {
new ImplementationViewComponent(all.toArray(new PsiElement[all.size()]), 0);
try {
final String[] visibleFiles = component.getVisibleFiles();
+ assertTrue(visibleFiles.length > 0);
+ assertEquals(visibleFiles[0], "a.java (AFoo)");
+ Arrays.sort(visibleFiles);
Assert.assertArrayEquals(Arrays.toString(visibleFiles),
new String[]{"a.java (AFoo)", "a.java (AFoo1 in AFoo)", "a.java (AFoo2 in AFoo)", "a.java (AFoo3 in AFoo)"}, visibleFiles);
}
diff --git a/lib/asm-all.jar b/lib/asm-all.jar
index c83fcebb709c..0257ef24af13 100644
Binary files a/lib/asm-all.jar and b/lib/asm-all.jar differ
diff --git a/lib/src/asm5-src.zip b/lib/src/asm5-src.zip
index c76977dbe561..cf71038f68db 100644
Binary files a/lib/src/asm5-src.zip and b/lib/src/asm5-src.zip differ
diff --git a/platform/analysis-impl/src/com/intellij/packageDependencies/DependencyValidationManagerImpl.java b/platform/analysis-impl/src/com/intellij/packageDependencies/DependencyValidationManagerImpl.java
index 5948e948a86b..0cb4eb11da5e 100644
--- a/platform/analysis-impl/src/com/intellij/packageDependencies/DependencyValidationManagerImpl.java
+++ b/platform/analysis-impl/src/com/intellij/packageDependencies/DependencyValidationManagerImpl.java
@@ -25,6 +25,7 @@ import com.intellij.openapi.util.*;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.psi.PsiFile;
import com.intellij.psi.search.scope.packageSet.*;
+import com.intellij.ui.LayeredIcon;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.text.UniqueNameGenerator;
import com.intellij.util.ui.UIUtil;
@@ -46,6 +47,7 @@ import java.util.*;
)
public class DependencyValidationManagerImpl extends DependencyValidationManager {
private static final Logger LOG = Logger.getInstance("#com.intellij.packageDependencies.DependencyValidationManagerImpl");
+ public static final Icon SHARED_SCOPE_ICON = new LayeredIcon(AllIcons.Ide.LocalScope, AllIcons.Nodes.Shared);
private final List myRules = new ArrayList();
private final NamedScopeManager myNamedScopeManager;
@@ -194,7 +196,7 @@ public class DependencyValidationManagerImpl extends DependencyValidationManager
@Override
public Icon getIcon() {
- return AllIcons.Ide.SharedScope;
+ return SHARED_SCOPE_ICON;
}
@Override
diff --git a/platform/icons/src/ide/sharedScope.png b/platform/icons/src/ide/sharedScope.png
deleted file mode 100644
index d80399c64021..000000000000
Binary files a/platform/icons/src/ide/sharedScope.png and /dev/null differ
diff --git a/platform/icons/src/ide/sharedScope@2x.png b/platform/icons/src/ide/sharedScope@2x.png
deleted file mode 100644
index 940dacd3a88d..000000000000
Binary files a/platform/icons/src/ide/sharedScope@2x.png and /dev/null differ
diff --git a/platform/icons/src/ide/sharedScope@2x_dark.png b/platform/icons/src/ide/sharedScope@2x_dark.png
deleted file mode 100644
index 775601cec359..000000000000
Binary files a/platform/icons/src/ide/sharedScope@2x_dark.png and /dev/null differ
diff --git a/platform/icons/src/ide/sharedScope_dark.png b/platform/icons/src/ide/sharedScope_dark.png
deleted file mode 100644
index bce25010a6e3..000000000000
Binary files a/platform/icons/src/ide/sharedScope_dark.png and /dev/null differ
diff --git a/platform/icons/src/nodes/shared.png b/platform/icons/src/nodes/shared.png
new file mode 100644
index 000000000000..b7c6eb8772c4
Binary files /dev/null and b/platform/icons/src/nodes/shared.png differ
diff --git a/platform/icons/src/nodes/shared@2x.png b/platform/icons/src/nodes/shared@2x.png
new file mode 100644
index 000000000000..1715515eb082
Binary files /dev/null and b/platform/icons/src/nodes/shared@2x.png differ
diff --git a/platform/icons/src/nodes/shared@2x_dark.png b/platform/icons/src/nodes/shared@2x_dark.png
new file mode 100644
index 000000000000..850a06d1d940
Binary files /dev/null and b/platform/icons/src/nodes/shared@2x_dark.png differ
diff --git a/platform/icons/src/nodes/shared_dark.png b/platform/icons/src/nodes/shared_dark.png
new file mode 100644
index 000000000000..6702efd84dce
Binary files /dev/null and b/platform/icons/src/nodes/shared_dark.png differ
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java
index 867e4ac0b065..b83d832f8348 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java
@@ -330,15 +330,6 @@ public class ImplementationViewComponent extends JPanel {
names.add(((PsiNamedElement)element).getName());
}
}
- Arrays.sort(elements, new Comparator() {
- @Override
- public int compare(PsiElement e1, PsiElement e2) {
- if (e1 instanceof PsiNamedElement && e2 instanceof PsiNamedElement) {
- return Comparing.compare(((PsiNamedElement)e1).getName(), ((PsiNamedElement)e2).getName());
- }
- return e1.hashCode() - e2.hashCode();
- }
- });
for (PsiElement element : elements) {
PsiFile file = getContainingFile(element);
if (file == null) continue;
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
index 1220d5db0df6..44ca0a7fb6e7 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
+++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java
@@ -33,7 +33,6 @@ import com.intellij.openapi.ui.popup.ListPopupStep;
import com.intellij.openapi.ui.popup.PopupStep;
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
import com.intellij.openapi.util.Comparing;
-import com.intellij.openapi.util.IconLoader;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Trinity;
import com.intellij.openapi.wm.IdeFocusManager;
@@ -77,7 +76,7 @@ class RunConfigurable extends BaseConfigurable {
private static final Icon ADD_ICON = IconUtil.getAddIcon();
private static final Icon REMOVE_ICON = IconUtil.getRemoveIcon();
- private static final Icon SHARED_ICON = IconLoader.getTransparentIcon(AllIcons.Nodes.Symlink, .6f);
+ private static final Icon SHARED_ICON = AllIcons.Nodes.Shared;
private static final Icon NON_SHARED_ICON = EmptyIcon.ICON_16;
@NonNls private static final String DIVIDER_PROPORTION = "dividerProportion";
@NonNls private static final Object DEFAULTS = new Object() {
@@ -203,9 +202,7 @@ class RunConfigurable extends BaseConfigurable {
}
if (shared != null) {
Icon icon = getIcon();
- LayeredIcon layeredIcon = new LayeredIcon(2);
- layeredIcon.setIcon(icon, 0, 0, 0);
- layeredIcon.setIcon(shared ? SHARED_ICON : NON_SHARED_ICON, 1, 8, 0);
+ LayeredIcon layeredIcon = new LayeredIcon(icon, shared ? SHARED_ICON : NON_SHARED_ICON);
setIcon(layeredIcon);
setIconTextGap(0);
} else {
diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java b/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java
index ee1fc7ba708d..f632ab9523e1 100644
--- a/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java
+++ b/platform/platform-impl/src/com/intellij/ide/plugins/ActionInstallPlugin.java
@@ -218,7 +218,7 @@ public class ActionInstallPlugin extends AnAction implements DumbAware {
}, ", ") + ".";
}
}
- message += " Disabled plugins and plugins which depends on disabled plugins won't be activated after restart.";
+ message += " Disabled plugins " + (disabled.isEmpty() ? "and plugins which depend on disabled " :"") + "won't be activated after restart.";
int result;
if (!disabled.isEmpty() && !disabledDependants.isEmpty()) {
@@ -237,8 +237,8 @@ public class ActionInstallPlugin extends AnAction implements DumbAware {
//noinspection SpellCheckingInspection
message += "plugin dependenc" + (disabledDependants.size() > 1 ? "ies" : "y");
}
- message += "?