From 67e4494f6d7bb2f7a288cfde1470513d1b023304 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 27 Mar 2012 19:19:30 +0200 Subject: [PATCH 1/8] try with scopes for default project (IDEA-81061) --- .../ide/util/scopeChooser/ScopeChooserConfigurable.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java index 98bbe0c5234a..79b07644c5ca 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java @@ -21,7 +21,6 @@ import com.intellij.execution.ExecutionBundle; import com.intellij.ide.IdeBundle; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.options.NonDefaultProjectConfigurable; import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectBundle; @@ -56,7 +55,7 @@ import java.util.*; * User: anna * Date: 01-Jul-2006 */ -public class ScopeChooserConfigurable extends MasterDetailsComponent implements NonDefaultProjectConfigurable, SearchableConfigurable { +public class ScopeChooserConfigurable extends MasterDetailsComponent implements /*NonDefaultProjectConfigurable,*/ SearchableConfigurable { private static final Icon SCOPES = IconLoader.getIcon("/ide/scopeConfigurable.png"); private static final Icon SAVE_ICON = IconLoader.getIcon("/runConfigurations/saveTempConfig.png"); @NonNls public static final String SCOPE_CHOOSER_CONFIGURABLE_UI_KEY = "ScopeChooserConfigurable.UI"; From 6d3898728b08333b4a9e3988f9d302b54aa90194 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 27 Mar 2012 20:31:46 +0200 Subject: [PATCH 2/8] inplace refactorings: ensure caret is visible before show popup (IDEA-83498) --- .../introduce/inplace/InplaceVariableIntroducer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/InplaceVariableIntroducer.java b/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/InplaceVariableIntroducer.java index 5bf749e445e2..1aec76c45211 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/InplaceVariableIntroducer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/InplaceVariableIntroducer.java @@ -26,6 +26,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.impl.StartMarkAction; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.Balloon; @@ -202,6 +203,7 @@ public abstract class InplaceVariableIntroducer extends In releaseIfNotRestart(); } }); + myEditor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE); myBalloon.show(new PositionTracker(myEditor.getContentComponent()) { @Override public RelativePoint recalculateLocation(Balloon object) { From d21a7430dc65bda7d7f64c0b339eb5d634f8e067 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 27 Mar 2012 20:46:45 +0200 Subject: [PATCH 3/8] inplace introduce variable: do not leave tail initialize expressions --- .../introduceVariable/JavaVariableInplaceIntroducer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java index d9d0dc41135a..25f01b4fd8dd 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java @@ -194,7 +194,7 @@ public class JavaVariableInplaceIntroducer extends InplaceVariableIntroducer Date: Tue, 27 Mar 2012 21:10:44 +0200 Subject: [PATCH 4/8] EA-35205 - NPE: VariableHeightLayoutCache.treeStructureChanged --- .../src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java index e5dfd6c99b84..aba5982da7b3 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java @@ -431,6 +431,7 @@ public class ScopeTreeViewPanel extends JPanel implements Disposable { final boolean wasCollapsed = myTree.isCollapsed(path); final Runnable runnable = new Runnable() { public void run() { + if (!isTreeShowing() || rootToReload.getParent() == null) return; TreeUtil.sort(rootToReload, getNodeComparator()); treeModel.reload(rootToReload); if (!wasCollapsed) { From 9980be2ecfe9ab91a80c7976c0870c1ca7469f6b Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 27 Mar 2012 21:37:55 +0200 Subject: [PATCH 5/8] create constructor matching super: shorten class names, insert final when required by code style (IDEA-83493) --- .../impl/quickfix/CreateConstructorMatchingSuperFix.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorMatchingSuperFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorMatchingSuperFix.java index 5bc69199b93c..59fb97bb44d1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorMatchingSuperFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateConstructorMatchingSuperFix.java @@ -29,6 +29,7 @@ import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; +import com.intellij.psi.codeStyle.JavaCodeStyleManager; import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.util.PsiUtil; import com.intellij.psi.util.TypeConversionUtil; @@ -147,7 +148,8 @@ public class CreateConstructorMatchingSuperFix extends BaseIntentionAction { derived.getBody().replace(stub.getBody()); derived = (PsiMethod)reformatter.reformat(derived); - derived = (PsiMethod)targetClass.add(derived); + derived = (PsiMethod)JavaCodeStyleManager.getInstance(project).shortenClassReferences(derived); + derived = (PsiMethod)GenerateMembersUtil.insert(targetClass, derived, null, true); } if (derived != null) { editor.getCaretModel().moveToOffset(derived.getTextRange().getStartOffset()); From acf653ddc0894221860fcc6fd77cbe947024cd16 Mon Sep 17 00:00:00 2001 From: Rustam Vishnyakov Date: Wed, 28 Mar 2012 13:24:28 +0400 Subject: [PATCH 6/8] Fixed IDEA-79468 Code Style: saving Project scheme to global list: if switch to new scheme is rejected, irrelevant scheme is shown in the combobox --- .../options/codeStyle/CodeStyleSchemesPanel.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleSchemesPanel.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleSchemesPanel.java index 65e521cafd2c..10c487e25cdf 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleSchemesPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleSchemesPanel.java @@ -115,7 +115,12 @@ public class CodeStyleSchemesPanel{ schemes.addAll(myModel.getAllSortedSchemes()); DefaultComboBoxModel model = new DefaultComboBoxModel(schemes.toArray()); myCombo.setModel(model); - myCombo.setSelectedItem(myModel.getSelectedGlobalScheme()); + if (myModel.isUsePerProjectSettings()) { + myCombo.setSelectedItem(myModel.getProjectScheme()); + } + else { + myCombo.setSelectedItem(myModel.getSelectedGlobalScheme()); + } } finally { myIsReset = false; From d1c64a6ecfcb3c050b84814cf4b3f1d93640a682 Mon Sep 17 00:00:00 2001 From: Vassiliy Kudryashov Date: Wed, 28 Mar 2012 13:29:54 +0400 Subject: [PATCH 7/8] Hints misbehaviour fix --- .../src/com/intellij/ide/IdeTooltip.java | 11 +++++++++++ .../src/com/intellij/ide/IdeTooltipManager.java | 7 ++++++- .../src/com/intellij/ui/LightweightHint.java | 4 ++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/IdeTooltip.java b/platform/platform-impl/src/com/intellij/ide/IdeTooltip.java index fea6906a3b9f..59511366ce00 100644 --- a/platform/platform-impl/src/com/intellij/ide/IdeTooltip.java +++ b/platform/platform-impl/src/com/intellij/ide/IdeTooltip.java @@ -50,6 +50,8 @@ public class IdeTooltip extends ComparableObject.Impl { private Ui myUi; + private boolean hint = false; + public IdeTooltip(Component component, Point point, JComponent tipComponent, Object... identity) { super(identity); @@ -232,6 +234,15 @@ public class IdeTooltip extends ComparableObject.Impl { return myLayer; } + public IdeTooltip setHint(boolean hint) { + this.hint = hint; + return this; + } + + public boolean isHint() { + return hint; + } + public boolean isInside(RelativePoint target) { return myUi != null && myUi.isInside(target); } diff --git a/platform/platform-impl/src/com/intellij/ide/IdeTooltipManager.java b/platform/platform-impl/src/com/intellij/ide/IdeTooltipManager.java index 61aaca2999b7..ecfc7331e470 100644 --- a/platform/platform-impl/src/com/intellij/ide/IdeTooltipManager.java +++ b/platform/platform-impl/src/com/intellij/ide/IdeTooltipManager.java @@ -143,7 +143,12 @@ public class IdeTooltipManager implements ApplicationComponent, AWTEventListener if (!myCurrentTipIsCentered) { myX = me.getX(); myY = me.getY(); - maybeShowFor(c, me); + if (c instanceof JComponent && ((JComponent)c).getToolTipText(me) == null && (myQueuedTooltip == null || !myQueuedTooltip.isHint())) { + hideCurrent(me, null, null);//There is no tooltip or hint here, let's proceed it as MOUSE_EXITED + } + else { + maybeShowFor(c, me); + } } } } diff --git a/platform/platform-impl/src/com/intellij/ui/LightweightHint.java b/platform/platform-impl/src/com/intellij/ui/LightweightHint.java index 56acf0a9cc90..0f09b4ec66dc 100644 --- a/platform/platform-impl/src/com/intellij/ui/LightweightHint.java +++ b/platform/platform-impl/src/com/intellij/ui/LightweightHint.java @@ -166,8 +166,8 @@ public class LightweightHint extends UserDataHolderBase implements Hint { .setFont(hintHint.getTextFont()) .setCalloutShift(hintHint.getCalloutShift()) .setPositionChangeShift(hintHint.getPositionChangeX(), hintHint.getPositionChangeY()) - .setExplicitClose(hintHint.isExplicitClose()); - + .setExplicitClose(hintHint.isExplicitClose()) + .setHint(true); myComponent.validate(); myCurrentIdeTooltip = IdeTooltipManager.getInstance().show(tooltip, hintHint.isShowImmediately()); } else { From 44c29175d5210270c0903c58f062c67be417b10a Mon Sep 17 00:00:00 2001 From: irengrig Date: Wed, 28 Mar 2012 13:56:46 +0400 Subject: [PATCH 8/8] IDEA-83605 117.99 Subversion: locally changed files are always "changed on server" --- .../openapi/vcs/changes/RemoteRevisionsNumbersCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsNumbersCache.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsNumbersCache.java index a548c323ee91..193d994f90e3 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsNumbersCache.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/RemoteRevisionsNumbersCache.java @@ -301,7 +301,7 @@ public class RemoteRevisionsNumbersCache implements ChangesOnServerTracker { if ((NOT_LOADED == remote) || (UNKNOWN == remote)) { return true; } - return local.compareTo(remote) == 0; + return local.compareTo(remote) >= 0; } return true; }