summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2013-07-08 14:19:57 -0700
committerTor Norbye <tnorbye@google.com>2013-07-08 16:24:01 -0700
commit281f88a2e2e0454ec6d6d25e1a3e3be7cf392db6 (patch)
tree25b05c6fc84853c9d891119f7e2bd38667d8cd0d /java
parentef7502c6805fa22f21ba2202dcc241a2c270bd4b (diff)
downloadidea-281f88a2e2e0454ec6d6d25e1a3e3be7cf392db6.tar.gz
More merge fixes
Restores a85aa2665822cbccf9d8a2762744631ac68ffad7 765c6f92a0b59c34d5a146cecd891788edc53b5d a8539f4dc6230fd9a9a2b5559f15fd7d0612d52e 45953b78139fc1565f651b571b2b9a17850e3dfb 9b4a9fe25888002718c525405ef135786c156ba7 6b0a26c7d627b9137ec98c2eb1c03639ebcbd667 I9abc64443af3a2ed65499de731943b0f7300746c (gerrit) fbdba03ca1675559232a165427ffcc6ea6b37f58 2fd6821310bed531eb4a9a14b5ceccdddc3ba9dd Change-Id: I095ab6072fc311c51305db7faa29a16e64fb9749
Diffstat (limited to 'java')
-rw-r--r--java/idea-ui/src/com/intellij/ide/actions/ShowStructureSettingsAction.java36
-rw-r--r--java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/IdeaProjectSettingsService.java15
2 files changed, 51 insertions, 0 deletions
diff --git a/java/idea-ui/src/com/intellij/ide/actions/ShowStructureSettingsAction.java b/java/idea-ui/src/com/intellij/ide/actions/ShowStructureSettingsAction.java
index 777105f840ba..cd4131363ddf 100644
--- a/java/idea-ui/src/com/intellij/ide/actions/ShowStructureSettingsAction.java
+++ b/java/idea-ui/src/com/intellij/ide/actions/ShowStructureSettingsAction.java
@@ -15,15 +15,20 @@
*/
package com.intellij.ide.actions;
+import com.intellij.facet.Facet;
+import com.intellij.facet.FacetManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.options.newEditor.OptionsEditorDialog;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
+import com.intellij.openapi.ui.Messages;
public class ShowStructureSettingsAction extends AnAction implements DumbAware {
public void actionPerformed(AnActionEvent e) {
@@ -32,6 +37,37 @@ public class ShowStructureSettingsAction extends AnAction implements DumbAware {
project = ProjectManager.getInstance().getDefaultProject();
}
+ // TEMPORARY HACK! DO NOT MERGE INTO INTELLIJ. This just works around a lot
+ // of confusion caused by the fact that the structure dialog lets you edit
+ // project state which is ignored by gradle, so temporarily disable this
+ // dialog for Android-Gradle-based projects.
+ if (isGradleProject(project)) {
+ showDisabledProjectStructureDialogMessage();
+ }
+
ShowSettingsUtil.getInstance().editConfigurable(project, OptionsEditorDialog.DIMENSION_KEY, ProjectStructureConfigurable.getInstance(project));
}
+
+ public static void showDisabledProjectStructureDialogMessage() {
+ Messages.showInfoMessage(
+ "We will provide a UI to configure project settings later. " +
+ "Until then, please manually edit your build.gradle file to " +
+ "configure source folders, libraries and dependencies.\n\n" +
+ "NOTE THAT EDITS MADE IN THE FOLLOWING DIALOG DO NOT AFFECT THE GRADLE BUILD.\n" +
+ "The dialog can be used for temporary adjustments to SDKs etc.",
+ "Project Structure");
+ }
+
+ public static boolean isGradleProject(Project project) {
+ ModuleManager moduleManager = ModuleManager.getInstance(project);
+ for (Module module : moduleManager.getModules()) {
+ FacetManager facetManager = FacetManager.getInstance(module);
+ for (Facet facet : facetManager.getAllFacets()) {
+ if ("android-gradle".equals(facet.getType().getStringId())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
} \ No newline at end of file
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/IdeaProjectSettingsService.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/IdeaProjectSettingsService.java
index e654eab22bcd..612399ade011 100644
--- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/IdeaProjectSettingsService.java
+++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/IdeaProjectSettingsService.java
@@ -16,6 +16,7 @@
package com.intellij.openapi.roots.ui.configuration;
import com.intellij.compiler.actions.ArtifactAwareProjectSettingsService;
+import com.intellij.ide.actions.ShowStructureSettingsAction;
import com.intellij.ide.projectView.impl.ModuleGroup;
import com.intellij.ide.util.projectWizard.JdkChooserPanel;
import com.intellij.openapi.module.Module;
@@ -65,6 +66,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openLibrary(@NotNull final Library library) {
+ warnIfGradleProject();
final ProjectStructureConfigurable config = ProjectStructureConfigurable.getInstance(myProject);
ShowSettingsUtil.getInstance().editConfigurable(myProject, config, new Runnable() {
@Override
@@ -81,6 +83,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openModuleSettings(final Module module) {
+ warnIfGradleProject();
ModulesConfigurator.showDialog(myProject, module.getName(), null);
}
@@ -91,6 +94,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openModuleLibrarySettings(final Module module) {
+ warnIfGradleProject();
ModulesConfigurator.showDialog(myProject, module.getName(), ClasspathEditor.NAME);
}
@@ -101,6 +105,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openContentEntriesSettings(final Module module) {
+ warnIfGradleProject();
ModulesConfigurator.showDialog(myProject, module.getName(), ContentEntriesEditor.NAME);
}
@@ -111,6 +116,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openModuleDependenciesSettings(@NotNull final Module module, @Nullable final OrderEntry orderEntry) {
+ warnIfGradleProject();
ShowSettingsUtil.getInstance().editConfigurable(myProject, ProjectStructureConfigurable.getInstance(myProject), new Runnable() {
@Override
public void run() {
@@ -126,6 +132,7 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openLibraryOrSdkSettings(@NotNull final OrderEntry orderEntry) {
+ warnIfGradleProject();
final ProjectStructureConfigurable config = ProjectStructureConfigurable.getInstance(myProject);
ShowSettingsUtil.getInstance().editConfigurable(myProject, config, new Runnable() {
@Override
@@ -166,6 +173,14 @@ public class IdeaProjectSettingsService extends ProjectSettingsService implement
@Override
public void openArtifactSettings(@Nullable Artifact artifact) {
+ warnIfGradleProject();
ModulesConfigurator.showArtifactSettings(myProject, artifact);
}
+
+ // TEMPORARY HACK!! REMOVE ME ASAP!
+ private void warnIfGradleProject() {
+ if (ShowStructureSettingsAction.isGradleProject(myProject)) {
+ ShowStructureSettingsAction.showDisabledProjectStructureDialogMessage();
+ }
+ }
}