summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/openapi
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/openapi')
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java36
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ProjectWithModulesStoreImpl.java13
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl.java7
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java14
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl.java8
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/ExportableApplicationLibraryTable.java5
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/roots/impl/storage/ClasspathStorage.java25
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/roots/libraries/ui/impl/RootDetectionUtil.java8
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ModulesAlphaComparator.java7
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java16
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java3
-rw-r--r--platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java10
12 files changed, 71 insertions, 81 deletions
diff --git a/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java b/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java
index e35319819e32..216f368d4a1d 100644
--- a/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java
+++ b/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ModuleStoreImpl.java
@@ -29,25 +29,26 @@ import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.ArrayUtil;
+import com.intellij.util.PathUtilRt;
import gnu.trove.THashMap;
import org.jdom.Attribute;
import org.jdom.Element;
-import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
public class ModuleStoreImpl extends BaseFileConfigurableStoreImpl implements IModuleStore {
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.components.impl.stores.ModuleStoreImpl");
- @NonNls private static final String MODULE_FILE_MACRO = "MODULE_FILE";
private final ModuleImpl myModule;
- public static final String DEFAULT_STATE_STORAGE = "$" + MODULE_FILE_MACRO + "$";
-
+ public static final String DEFAULT_STATE_STORAGE = "$MODULE_FILE$";
@SuppressWarnings({"UnusedDeclaration"})
public ModuleStoreImpl(final ComponentManagerImpl componentManager, final ModuleImpl module) {
@@ -56,8 +57,8 @@ public class ModuleStoreImpl extends BaseFileConfigurableStoreImpl implements IM
}
@Override
- protected XmlElementStorage getMainStorage() {
- final XmlElementStorage storage = (XmlElementStorage)getStateStorageManager().getFileStateStorage(DEFAULT_STATE_STORAGE);
+ protected FileBasedStorage getMainStorage() {
+ FileBasedStorage storage = (FileBasedStorage)getStateStorageManager().getStateStorage(DEFAULT_STATE_STORAGE, RoamingType.PER_USER);
assert storage != null;
return storage;
}
@@ -116,8 +117,8 @@ public class ModuleStoreImpl extends BaseFileConfigurableStoreImpl implements IM
}
@Override
- public void load(@NotNull final Element rootElement) throws IOException {
- super.load(rootElement);
+ public void load(@NotNull Element rootElement, @Nullable PathMacroSubstitutor pathMacroSubstitutor, boolean intern) {
+ super.load(rootElement, pathMacroSubstitutor, intern);
for (Attribute attribute : rootElement.getAttributes()) {
myOptions.put(attribute.getName(), attribute.getValue());
@@ -132,8 +133,7 @@ public class ModuleStoreImpl extends BaseFileConfigurableStoreImpl implements IM
@Override
@NotNull
protected Element save() {
- final Element root = super.save();
-
+ Element root = super.save();
myOptions.put(VERSION_OPTION, Integer.toString(myVersion));
String[] options = ArrayUtil.toStringArray(myOptions.keySet());
Arrays.sort(options);
@@ -187,31 +187,25 @@ public class ModuleStoreImpl extends BaseFileConfigurableStoreImpl implements IM
LocalFileSystem.getInstance().refreshAndFindFileByPath(path);
final StateStorageManager storageManager = getStateStorageManager();
storageManager.clearStateStorage(DEFAULT_STATE_STORAGE);
- storageManager.addMacro(MODULE_FILE_MACRO, path);
+ storageManager.addMacro(DEFAULT_STATE_STORAGE, path);
}
@Override
@Nullable
public VirtualFile getModuleFile() {
- final FileBasedStorage storage = (FileBasedStorage)getStateStorageManager().getFileStateStorage(DEFAULT_STATE_STORAGE);
- assert storage != null;
- return storage.getVirtualFile();
+ return getMainStorage().getVirtualFile();
}
@Override
@NotNull
public String getModuleFilePath() {
- final FileBasedStorage storage = (FileBasedStorage)getStateStorageManager().getFileStateStorage(DEFAULT_STATE_STORAGE);
- assert storage != null;
- return storage.getFilePath();
+ return getMainStorage().getFilePath();
}
@Override
@NotNull
public String getModuleFileName() {
- final FileBasedStorage storage = (FileBasedStorage)getStateStorageManager().getFileStateStorage(DEFAULT_STATE_STORAGE);
- assert storage != null;
- return storage.getFileName();
+ return PathUtilRt.getFileName(getMainStorage().getFilePath());
}
@Override
diff --git a/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ProjectWithModulesStoreImpl.java b/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ProjectWithModulesStoreImpl.java
index eb03fa86fdab..c109c8c0e14d 100644
--- a/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ProjectWithModulesStoreImpl.java
+++ b/platform/lang-impl/src/com/intellij/openapi/components/impl/stores/ProjectWithModulesStoreImpl.java
@@ -25,10 +25,10 @@ import com.intellij.openapi.module.impl.ModuleImpl;
import com.intellij.openapi.project.impl.ProjectImpl;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.util.io.fs.IFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -102,15 +102,13 @@ public class ProjectWithModulesStoreImpl extends ProjectStoreImpl {
@NotNull
@Override
- public List<IFile> getAllStorageFiles(final boolean includingSubStructures) {
- final List<IFile> result = super.getAllStorageFiles(includingSubStructures);
-
+ public List<File> getAllStorageFiles(final boolean includingSubStructures) {
+ List<File> result = super.getAllStorageFiles(includingSubStructures);
if (includingSubStructures) {
for (SaveSession moduleSaveSession : myModuleSaveSessions) {
result.addAll(moduleSaveSession.getAllStorageFiles(true));
}
}
-
return result;
}
@@ -172,10 +170,9 @@ public class ProjectWithModulesStoreImpl extends ProjectStoreImpl {
}
@Override
- protected void collectSubfilesToSave(final List<IFile> result) throws IOException {
+ protected void collectSubFilesToSave(final List<File> result) throws IOException {
for (SaveSession moduleSaveSession : myModuleSaveSessions) {
- final List<IFile> moduleFiles = moduleSaveSession.getAllStorageFilesToSave(true);
- result.addAll(moduleFiles);
+ result.addAll(moduleSaveSession.getAllStorageFilesToSave(true));
}
}
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl.java
index 7713734d07de..eaed20f2960d 100644
--- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl.java
+++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl.java
@@ -102,8 +102,9 @@ public class PsiAwareFileEditorManagerImpl extends FileEditorManagerImpl {
return myProblemSolver.isProblemFile(file);
}
+ @NotNull
@Override
- public String getFileTooltipText(final VirtualFile file) {
+ public String getFileTooltipText(@NotNull final VirtualFile file) {
final StringBuilder tooltipText = new StringBuilder();
final Module module = ModuleUtilCore.findModuleForFile(file, getProject());
if (module != null) {
@@ -116,7 +117,7 @@ public class PsiAwareFileEditorManagerImpl extends FileEditorManagerImpl {
}
@Override
- protected Editor getOpenedEditor(final Editor editor, final boolean focusEditor) {
+ protected Editor getOpenedEditor(@NotNull final Editor editor, final boolean focusEditor) {
PsiDocumentManager documentManager = PsiDocumentManager.getInstance(getProject());
Document document = editor.getDocument();
PsiFile psiFile = documentManager.getPsiFile(document);
@@ -200,7 +201,7 @@ public class PsiAwareFileEditorManagerImpl extends FileEditorManagerImpl {
updateFile(file);
}
- private void updateFile(final VirtualFile file) {
+ private void updateFile(@NotNull VirtualFile file) {
queueUpdateFile(file);
}
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java
index 79ac777a6fd8..958daee0098a 100644
--- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java
+++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorManagerImpl.java
@@ -38,6 +38,7 @@ import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
import com.intellij.testFramework.LightVirtualFile;
+import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.HashMap;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
@@ -195,7 +196,7 @@ public class TestEditorManagerImpl extends FileEditorManagerEx implements Applic
return openTextEditor(descriptor, false);
}
- private FileEditorProvider getProvider(FileEditor editor) {
+ private static FileEditorProvider getProvider(FileEditor editor) {
return new FileEditorProvider() {
@Override
public boolean accept(@NotNull Project project, @NotNull VirtualFile file) {
@@ -205,18 +206,17 @@ public class TestEditorManagerImpl extends FileEditorManagerEx implements Applic
@Override
@NotNull
public FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) {
- return null;
+ throw new IncorrectOperationException();
}
@Override
public void disposeEditor(@NotNull FileEditor editor) {
- //Disposer.dispose(editor);
}
@Override
@NotNull
public FileEditorState readState(@NotNull Element sourceElement, @NotNull Project project, @NotNull VirtualFile file) {
- return null;
+ throw new IncorrectOperationException();
}
@Override
@@ -233,7 +233,7 @@ public class TestEditorManagerImpl extends FileEditorManagerEx implements Applic
@Override
@NotNull
public FileEditorPolicy getPolicy() {
- return null;
+ throw new IncorrectOperationException();
}
};
}
@@ -482,7 +482,7 @@ public class TestEditorManagerImpl extends FileEditorManagerEx implements Applic
@NotNull
@Override
public EditorsSplitters getSplitters() {
- return null;
+ throw new IncorrectOperationException();
}
@NotNull
@@ -492,6 +492,6 @@ public class TestEditorManagerImpl extends FileEditorManagerEx implements Applic
}
@Override
- public void setSelectedEditor(@NotNull VirtualFile file, String fileEditorProviderId) {
+ public void setSelectedEditor(@NotNull VirtualFile file, @NotNull String fileEditorProviderId) {
}
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl.java b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl.java
index d5becac99ede..d36fe1b1e05d 100644
--- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl.java
+++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl.java
@@ -41,12 +41,8 @@ import java.util.List;
import java.util.Map;
@State(
- name="ProjectJdkTable",
- roamingType = RoamingType.DISABLED,
- storages= {
- @Storage(
- file = StoragePathMacros.APP_CONFIG + "/jdk.table.xml"
- )}
+ name = "ProjectJdkTable",
+ storages = {@Storage(file = StoragePathMacros.APP_CONFIG + "/jdk.table.xml", roamingType = RoamingType.DISABLED)}
)
public class ProjectJdkTableImpl extends ProjectJdkTable implements PersistentStateComponent<Element>, ExportableComponent {
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.projectRoots.impl.ProjectJdkTableImpl");
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/ExportableApplicationLibraryTable.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/ExportableApplicationLibraryTable.java
index 4be66eedde76..c3bed20a5052 100644
--- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/ExportableApplicationLibraryTable.java
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/libraries/ExportableApplicationLibraryTable.java
@@ -27,10 +27,7 @@ import java.io.File;
*/
@State(
name = "libraryTable",
- roamingType = RoamingType.DISABLED,
- storages = {
- @Storage( file = StoragePathMacros.APP_CONFIG + "/applicationLibraries.xml")
- }
+ storages = {@Storage(file = StoragePathMacros.APP_CONFIG + "/applicationLibraries.xml", roamingType = RoamingType.DISABLED)}
)
public class ExportableApplicationLibraryTable extends ApplicationLibraryTable implements ExportableComponent {
@Override
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/storage/ClasspathStorage.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/storage/ClasspathStorage.java
index b1f034d2dcb2..36e344ff0acc 100644
--- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/storage/ClasspathStorage.java
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/storage/ClasspathStorage.java
@@ -39,8 +39,6 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.*;
import com.intellij.openapi.vfs.tracker.VirtualFileTracker;
import com.intellij.util.containers.ContainerUtil;
-import com.intellij.util.io.fs.FileSystem;
-import com.intellij.util.io.fs.IFile;
import com.intellij.util.messages.MessageBus;
import org.jdom.Element;
import org.jetbrains.annotations.Nls;
@@ -104,7 +102,7 @@ public class ClasspathStorage implements StateStorage {
@Override
@Nullable
- public <T> T getState(final Object component, final String componentName, Class<T> stateClass, @Nullable T mergeInto)
+ public <T> T getState(final Object component, @NotNull final String componentName, Class<T> stateClass, @Nullable T mergeInto)
throws StateStorageException {
assert component instanceof ModuleRootManager;
assert componentName.equals("NewModuleRootManager");
@@ -144,7 +142,7 @@ public class ClasspathStorage implements StateStorage {
}
@Override
- public boolean hasState(final Object component, final String componentName, final Class<?> aClass, final boolean reloadData)
+ public boolean hasState(final Object component, @NotNull final String componentName, final Class<?> aClass, final boolean reloadData)
throws StateStorageException {
return true;
}
@@ -192,10 +190,9 @@ public class ClasspathStorage implements StateStorage {
return session;
}
- private static void convert2Io(List<IFile> list, ArrayList<VirtualFile> virtualFiles) {
+ private static void convert2Io(List<File> list, ArrayList<VirtualFile> virtualFiles) {
for (VirtualFile virtualFile : virtualFiles) {
- final File ioFile = VfsUtilCore.virtualToIoFile(virtualFile);
- list.add(FileSystem.FILE_SYSTEM.createFile(ioFile.getAbsolutePath()));
+ list.add(VfsUtilCore.virtualToIoFile(virtualFile));
}
}
@@ -384,12 +381,12 @@ public class ClasspathStorage implements StateStorage {
}
@Override
- public Set<String> getClasspath(final ModifiableRootModel model, final Element element) throws IOException, InvalidDataException {
+ public Set<String> getClasspath(final ModifiableRootModel model, final Element element) throws InvalidDataException {
throw new InvalidDataException(getDescription());
}
@Override
- public void setClasspath(ModuleRootModel model) throws IOException, WriteExternalException {
+ public void setClasspath(ModuleRootModel model) throws WriteExternalException {
throw new WriteExternalException(getDescription());
}
};
@@ -426,9 +423,9 @@ public class ClasspathStorage implements StateStorage {
@NotNull
@Override
- public Collection<IFile> getStorageFilesToSave() throws StateStorageException {
+ public Collection<File> getStorageFilesToSave() throws StateStorageException {
if (needsSave()) {
- final List<IFile> list = new ArrayList<IFile>();
+ final List<File> list = new ArrayList<File>();
final ArrayList<VirtualFile> virtualFiles = new ArrayList<VirtualFile>();
getFileSet().listModifiedFiles(virtualFiles);
convert2Io(list, virtualFiles);
@@ -441,9 +438,9 @@ public class ClasspathStorage implements StateStorage {
@NotNull
@Override
- public List<IFile> getAllStorageFiles() {
- final List<IFile> list = new ArrayList<IFile>();
- final ArrayList<VirtualFile> virtualFiles = new ArrayList<VirtualFile>();
+ public List<File> getAllStorageFiles() {
+ List<File> list = new ArrayList<File>();
+ ArrayList<VirtualFile> virtualFiles = new ArrayList<VirtualFile>();
getFileSet().listFiles(virtualFiles);
convert2Io(list, virtualFiles);
return list;
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/ui/impl/RootDetectionUtil.java b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/ui/impl/RootDetectionUtil.java
index 5a3efe1a31b7..ca273ba2373d 100644
--- a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/ui/impl/RootDetectionUtil.java
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/ui/impl/RootDetectionUtil.java
@@ -70,7 +70,7 @@ public class RootDetectionUtil {
try {
for (VirtualFile rootCandidate : rootCandidates) {
final Collection<DetectedLibraryRoot> roots = detector.detectRoots(rootCandidate, indicator);
- if (!roots.isEmpty() && allRootsHaveOneTypeAndEqualTo(roots, rootCandidate)) {
+ if (!roots.isEmpty() && allRootsHaveOneTypeAndEqualToOrAreDirectParentOf(roots, rootCandidate)) {
for (DetectedLibraryRoot root : roots) {
final LibraryRootType libraryRootType = root.getTypes().get(0);
result.add(new OrderRoot(root.getFile(), libraryRootType.getType(), libraryRootType.isJarDirectory()));
@@ -81,7 +81,7 @@ public class RootDetectionUtil {
final HashMap<LibraryRootType, String> names = new HashMap<LibraryRootType, String>();
for (LibraryRootType type : root.getTypes()) {
final String typeName = detector.getRootTypeName(type);
- LOG.assertTrue(typeName != null, "Unexpected root type " + type.getType().name() + (type.isJarDirectory() ? " (jar directory)" : "") + ", detectors: " + detector);
+ LOG.assertTrue(typeName != null, "Unexpected root type " + type.getType().name() + (type.isJarDirectory() ? " (JAR directory)" : "") + ", detectors: " + detector);
names.put(type, typeName);
}
suggestedRoots.add(new SuggestedChildRootInfo(rootCandidate, root, names));
@@ -141,9 +141,9 @@ public class RootDetectionUtil {
return result;
}
- private static boolean allRootsHaveOneTypeAndEqualTo(Collection<DetectedLibraryRoot> roots, VirtualFile candidate) {
+ private static boolean allRootsHaveOneTypeAndEqualToOrAreDirectParentOf(Collection<DetectedLibraryRoot> roots, VirtualFile candidate) {
for (DetectedLibraryRoot root : roots) {
- if (root.getTypes().size() > 1 || !root.getFile().equals(candidate)) {
+ if (root.getTypes().size() > 1 || !root.getFile().equals(candidate) && !root.getFile().equals(candidate.getParent())) {
return false;
}
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ModulesAlphaComparator.java b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ModulesAlphaComparator.java
index 8a561e4003b4..61a5c71861c3 100644
--- a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ModulesAlphaComparator.java
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ModulesAlphaComparator.java
@@ -29,8 +29,9 @@ public class ModulesAlphaComparator implements Comparator<Module>{
@Override
public int compare(Module module1, Module module2) {
- final String name1 = module1.getName();
- final String name2 = module2.getName();
- return name1.compareToIgnoreCase(name2);
+ if (module1 == null && module2 == null) return 0;
+ if (module1 == null && module2 != null) return -1;
+ if (module1 != null && module2 == null) return 1;
+ return module1.getName().compareToIgnoreCase(module2.getName());
}
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java
index e4c690ec05ed..87df147a745f 100644
--- a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel.java
@@ -86,6 +86,15 @@ public class ProjectSdksModel implements SdkModel {
}
public void reset(@Nullable Project project) {
+ resetSdkModel();
+ if (project != null) {
+ myProjectSdk = findSdk(ProjectRootManager.getInstance(project).getProjectSdkName());
+ }
+ myModified = false;
+ myInitialized = true;
+ }
+
+ private void resetSdkModel() {
myProjectSdks.clear();
final Sdk[] projectSdks = ProjectJdkTable.getInstance().getAllJdks();
for (Sdk sdk : projectSdks) {
@@ -96,11 +105,6 @@ public class ProjectSdksModel implements SdkModel {
LOG.error(e);
}
}
- if (project != null) {
- myProjectSdk = findSdk(ProjectRootManager.getInstance(project).getProjectSdkName());
- }
- myModified = false;
- myInitialized = true;
}
public void disposeUIResources() {
@@ -154,6 +158,7 @@ public class ProjectSdksModel implements SdkModel {
for (Sdk originalJdk : itemsInTable) {
final Sdk modifiedJdk = myProjectSdks.get(originalJdk);
LOG.assertTrue(modifiedJdk != null);
+ LOG.assertTrue(originalJdk != modifiedJdk);
jdkTable.updateJdk(originalJdk, modifiedJdk);
}
// Add new items to table
@@ -166,6 +171,7 @@ public class ProjectSdksModel implements SdkModel {
}
}
});
+ resetSdkModel();
myModified = false;
}
diff --git a/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java b/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java
index 65f2d758fcfd..a30ccd677682 100644
--- a/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java
+++ b/platform/lang-impl/src/com/intellij/openapi/util/registry/RegistryUi.java
@@ -471,9 +471,10 @@ public class RegistryUi implements Disposable {
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
myValue = ((MyTableModel)table.getModel()).getRegistryValue(row);
if (myValue.asColor(null) != null) {
- final Color color = ColorChooser.chooseColor(table, "Choose color", ((RegistryValue)value).asColor(Color.WHITE));
+ final Color color = ColorChooser.chooseColor(table, "Choose color", myValue.asColor(Color.WHITE));
if (color != null) {
myValue.setValue(color.getRed() + "," + color.getGreen() + "," + color.getBlue());
+ keyChanged(myValue.getKey());
}
return null;
} else if (myValue.isBoolean()) {
diff --git a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java
index b30661e6e840..a83f0b5703da 100644
--- a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java
+++ b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -125,21 +125,21 @@ public class TogglePopupHintsPanel extends EditorBasedWidget implements StatusBa
if (isStateChangeable(file)) {
if (PowerSaveMode.isEnabled()) {
myCurrentIcon = AllIcons.Ide.HectorNo;
- myToolTipText = "Code analysis is disabled in power save mode. ";
+ myToolTipText = "Code analysis is disabled in power save mode.\n";
}
else if (HighlightingLevelManager.getInstance(myProject).shouldInspect(file)) {
myCurrentIcon = AllIcons.Ide.HectorOn;
myToolTipText = "Current inspection profile: " +
InspectionProjectProfileManager.getInstance(file.getProject()).getInspectionProfile().getName() +
- ". ";
+ ".\n";
}
else if (HighlightingLevelManager.getInstance(myProject).shouldHighlight(file)) {
myCurrentIcon = AllIcons.Ide.HectorSyntax;
- myToolTipText = "Highlighting level is: Syntax. ";
+ myToolTipText = "Highlighting level is: Syntax.\n";
}
else {
myCurrentIcon = AllIcons.Ide.HectorOff;
- myToolTipText = "Inspections are off. ";
+ myToolTipText = "Inspections are off.\n";
}
myToolTipText += UIBundle.message("popup.hints.panel.click.to.configure.highlighting.tooltip.text");
}