From e5de5c2c4a37a65563dbe59485f02d064506e7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Fri, 17 Oct 2014 15:37:39 +0200 Subject: [PATCH 1/3] DevKit: in IDEA project, fix rename handling when PsiClass and definition in XML are in unrelated modules --- plugins/devkit/src/DevKitUseScopeEnlarger.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/plugins/devkit/src/DevKitUseScopeEnlarger.java b/plugins/devkit/src/DevKitUseScopeEnlarger.java index 6b55133eb251..e66043fa5d7e 100644 --- a/plugins/devkit/src/DevKitUseScopeEnlarger.java +++ b/plugins/devkit/src/DevKitUseScopeEnlarger.java @@ -18,7 +18,9 @@ package org.jetbrains.idea.devkit; import com.intellij.ide.highlighter.XmlFileType; import com.intellij.pom.PomTarget; import com.intellij.pom.PomTargetPsiElement; +import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiModifier; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.UseScopeEnlarger; @@ -26,11 +28,13 @@ import com.intellij.util.xml.DomElement; import com.intellij.util.xml.DomTarget; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.devkit.dom.ExtensionPoint; +import org.jetbrains.idea.devkit.util.PsiUtil; /** * @author peter */ public class DevKitUseScopeEnlarger extends UseScopeEnlarger { + @Override public SearchScope getAdditionalUseScope(@NotNull PsiElement element) { if (element instanceof PomTargetPsiElement) { @@ -38,11 +42,21 @@ public class DevKitUseScopeEnlarger extends UseScopeEnlarger { if (target instanceof DomTarget) { DomElement domElement = ((DomTarget)target).getDomElement(); if (domElement instanceof ExtensionPoint) { - return GlobalSearchScope.getScopeRestrictedByFileTypes(GlobalSearchScope.allScope(element.getProject()), - XmlFileType.INSTANCE); + return createProjectXmlFilesScope(element); } } } + + if (element instanceof PsiClass && + PsiUtil.isIdeaProject(element.getProject()) && + ((PsiClass)element).hasModifierProperty(PsiModifier.PUBLIC)) { + return createProjectXmlFilesScope(element); + } return null; } + + private static SearchScope createProjectXmlFilesScope(PsiElement element) { + return GlobalSearchScope.getScopeRestrictedByFileTypes(GlobalSearchScope.allScope(element.getProject()), + XmlFileType.INSTANCE); + } } From 68f44da1c29f2d8561db1930a231e08d4c555fd3 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 17 Oct 2014 15:35:48 +0200 Subject: [PATCH 2/3] fixing ChooseByNameBase assertions * list update is requested * bg thread is canceled, a new one is started * then quickly a write action occurs * old bg thread hasn't finished yet and receives that event and restarts => two bg threads at the same time, bad --- .../com/intellij/ide/util/gotoByName/ChooseByNameBase.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 5b46d5bfb186..cc005b1929ad 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1521,8 +1521,9 @@ public abstract class ChooseByNameBase { ApplicationAdapter listener = new ApplicationAdapter() { @Override public void beforeWriteActionStart(Object action) { - cancel(); - scheduleRestart(); + if (cancel()) { + scheduleRestart(); //don't restart if already canceled explicitly + } ApplicationManager.getApplication().removeApplicationListener(this); } }; From 6d0168248953d93604d32825b886bc4b2fa5562d Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Fri, 17 Oct 2014 17:39:24 +0400 Subject: [PATCH 3/3] IDEA-131335 Simplify layout in the Settings banner --- .../intellij/openapi/options/newEditor/Banner.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/Banner.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/Banner.java index 0442455aecb6..465f16ddd42a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/Banner.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/Banner.java @@ -21,10 +21,9 @@ import com.intellij.openapi.project.Project; import com.intellij.ui.JBColor; import com.intellij.ui.RelativeFont; import com.intellij.ui.components.labels.SwingActionLink; +import com.intellij.ui.components.panels.HorizontalLayout; import javax.swing.Action; -import javax.swing.BorderFactory; -import javax.swing.BoxLayout; import javax.swing.JLabel; import javax.swing.JPanel; import java.awt.BorderLayout; @@ -39,7 +38,7 @@ final class Banner extends JPanel { Banner(Action action) { super(new BorderLayout(10, 0)); - myLeftPanel.setLayout(new BoxLayout(myLeftPanel, BoxLayout.X_AXIS)); + myLeftPanel.setLayout(new HorizontalLayout(5)); myProjectIcon.setIcon(AllIcons.General.ProjectConfigurableBanner); myProjectIcon.setForeground(JBColor.GRAY); myProjectIcon.setVisible(false); @@ -67,11 +66,9 @@ final class Banner extends JPanel { } else { if (i > 0) { - JLabel label = new JLabel("\u203A"); - label.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); - myLeftPanel.add(RelativeFont.HUGE.install(label)); + myLeftPanel.add(HorizontalLayout.LEFT, RelativeFont.HUGE.install(new JLabel("\u203A"))); } - myLeftPanel.add(RelativeFont.BOLD.install(new JLabel(name))); + myLeftPanel.add(HorizontalLayout.LEFT, RelativeFont.BOLD.install(new JLabel(name))); } i += 2; }