mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -38,7 +38,6 @@ import com.intellij.psi.search.*;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.util.CommonProcessors;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.codeInsight.CommentUtilCore;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -659,12 +658,8 @@ public class PsiSearchHelperImpl implements PsiSearchHelper {
|
||||
}
|
||||
|
||||
private static MultiMap<VirtualFile, RequestWithProcessor> createMultiMap() {
|
||||
return new MultiMap<VirtualFile, RequestWithProcessor>(){
|
||||
@Override
|
||||
protected Collection<RequestWithProcessor> createCollection() {
|
||||
return new SmartList<RequestWithProcessor>(); // usually there is just one request
|
||||
}
|
||||
};
|
||||
// usually there is just one request
|
||||
return MultiMap.createSmartList();
|
||||
}
|
||||
|
||||
private static GlobalSearchScope uniteScopes(Collection<RequestWithProcessor> requests) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.FileHighlighingSetting;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightLevelUtil;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.EditorBundle;
|
||||
import com.intellij.openapi.editor.HectorComponentPanel;
|
||||
@@ -33,6 +34,7 @@ import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
|
||||
import com.intellij.profile.codeInspection.ui.ErrorsConfigurable;
|
||||
@@ -40,7 +42,6 @@ import com.intellij.psi.FileViewProvider;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.ui.Gray;
|
||||
import com.intellij.ui.HyperlinkLabel;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
@@ -113,7 +114,7 @@ public class HectorComponent extends JPanel {
|
||||
int value = slider.getValue();
|
||||
for (Enumeration<Integer> enumeration = sliderLabels.keys(); enumeration.hasMoreElements();) {
|
||||
Integer key = enumeration.nextElement();
|
||||
sliderLabels.get(key).setForeground(key.intValue() <= value ? Color.black : Gray._100);
|
||||
sliderLabels.get(key).setForeground(key.intValue() <= value ? UIUtil.getLabelForeground() : UIUtil.getLabelDisabledForeground());
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -230,6 +231,16 @@ public class HectorComponent extends JPanel {
|
||||
}
|
||||
})
|
||||
.createPopup();
|
||||
Disposer.register(myFile.getProject(), new Disposable() {
|
||||
@Override
|
||||
public void dispose() {
|
||||
final JBPopup oldHector = getOldHector();
|
||||
if (oldHector != null && !oldHector.isDisposed()) {
|
||||
Disposer.dispose(oldHector);
|
||||
}
|
||||
Disposer.dispose(hector);
|
||||
}
|
||||
});
|
||||
final JBPopup oldHector = getOldHector();
|
||||
if (oldHector != null){
|
||||
oldHector.cancel();
|
||||
|
||||
@@ -668,14 +668,14 @@ public class Switcher extends AnAction implements DumbAware {
|
||||
}, 300);
|
||||
if (jList.getModel().getSize() == 1) {
|
||||
goLeft();
|
||||
((DefaultListModel)jList.getModel()).removeElementAt(selectedIndex);
|
||||
removeElementAt(jList, selectedIndex);
|
||||
this.remove(jList);
|
||||
this.remove(separator);
|
||||
final Dimension size = toolWindows.getSize();
|
||||
myPopup.setSize(new Dimension(size.width, myPopup.getSize().height));
|
||||
} else {
|
||||
goForward();
|
||||
((DefaultListModel)jList.getModel()).removeElementAt(selectedIndex);
|
||||
removeElementAt(jList, selectedIndex);
|
||||
jList.setSize(jList.getPreferredSize());
|
||||
}
|
||||
pack();
|
||||
@@ -690,6 +690,17 @@ public class Switcher extends AnAction implements DumbAware {
|
||||
}
|
||||
}
|
||||
|
||||
private static void removeElementAt(JList jList, int index) {
|
||||
final ListModel model = jList.getModel();
|
||||
if (model instanceof DefaultListModel) {
|
||||
((DefaultListModel)model).removeElementAt(index);
|
||||
} else if (model instanceof NameFilteringListModel) {
|
||||
((NameFilteringListModel)model).remove(index);
|
||||
} else {
|
||||
throw new IllegalArgumentException("Wrong list model " + model.getClass());
|
||||
}
|
||||
}
|
||||
|
||||
private void pack() {
|
||||
this.setSize(this.getPreferredSize());
|
||||
final JRootPane rootPane = SwingUtilities.getRootPane(this);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.intellij.util.containers;
|
||||
|
||||
import com.intellij.util.SmartList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -230,6 +231,16 @@ public class MultiMap<K, V> implements Serializable {
|
||||
return new MultiMap<K, V>();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static <K, V> MultiMap<K, V> createSmartList() {
|
||||
return new MultiMap<K, V>() {
|
||||
@Override
|
||||
protected Collection<V> createCollection() {
|
||||
return new SmartList<V>();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static <K, V> MultiMap<K, V> create(int i, float v) {
|
||||
return new MultiMap<K, V>(i, v);
|
||||
@@ -251,4 +262,4 @@ public class MultiMap<K, V> implements Serializable {
|
||||
public String toString() {
|
||||
return myMap.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user