From 2d382834d2802f7fcce645826c6e51515e3eccf7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 21 Oct 2010 13:45:14 +0400 Subject: [PATCH] use remembered value of "open in new window" also when opening a new project; rename option (IDEA-58404) --- .../com/intellij/ide/impl/NewProjectUtil.java | 12 ++++++---- .../intellij/ide/GeneralSettingsPanel.form | 2 +- .../com/intellij/ide/impl/ProjectUtil.java | 23 +++++++++++-------- .../PlatformProjectOpenProcessor.java | 17 +------------- 4 files changed, 23 insertions(+), 31 deletions(-) diff --git a/java/idea-ui/src/com/intellij/ide/impl/NewProjectUtil.java b/java/idea-ui/src/com/intellij/ide/impl/NewProjectUtil.java index 1288d2af9c68..d6fc7c720a39 100644 --- a/java/idea-ui/src/com/intellij/ide/impl/NewProjectUtil.java +++ b/java/idea-ui/src/com/intellij/ide/impl/NewProjectUtil.java @@ -19,6 +19,7 @@ */ package com.intellij.ide.impl; +import com.intellij.ide.GeneralSettings; import com.intellij.ide.IdeBundle; import com.intellij.ide.util.newProjectWizard.AddModuleWizard; import com.intellij.ide.util.projectWizard.ProjectBuilder; @@ -188,13 +189,16 @@ public class NewProjectUtil { public static void closePreviousProject(final Project projectToClose) { Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); if (openProjects.length > 0) { - int exitCode = Messages.showDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.new.project"), - new String[]{IdeBundle.message("button.newframe"), IdeBundle.message("button.existingframe")}, 1, 0, - Messages.getQuestionIcon()); + final GeneralSettings settings = GeneralSettings.getInstance(); + int exitCode = settings.getConfirmOpenNewProject(); + if (exitCode < 0) { + exitCode = Messages.showDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.new.project"), + new String[]{IdeBundle.message("button.newframe"), IdeBundle.message("button.existingframe")}, 1, 0, + Messages.getQuestionIcon(), new ProjectNewWindowDoNotAskOption()); + } if (exitCode == 1) { // "No" option ProjectUtil.closeProject(projectToClose != null ? projectToClose : openProjects[openProjects.length - 1]); } } } - } diff --git a/platform/platform-impl/src/com/intellij/ide/GeneralSettingsPanel.form b/platform/platform-impl/src/com/intellij/ide/GeneralSettingsPanel.form index 0b847b8ab594..85e7ae2e640b 100644 --- a/platform/platform-impl/src/com/intellij/ide/GeneralSettingsPanel.form +++ b/platform/platform-impl/src/com/intellij/ide/GeneralSettingsPanel.form @@ -51,7 +51,7 @@ - + diff --git a/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java b/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java index 5171776260ef..7862a170ffa7 100644 --- a/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java +++ b/platform/platform-impl/src/com/intellij/ide/impl/ProjectUtil.java @@ -150,16 +150,7 @@ public class ProjectUtil { } if (!forceOpenInNewFrame && openProjects.length > 0) { - final GeneralSettings settings = GeneralSettings.getInstance(); - int exitCode; - if (settings.getConfirmOpenNewProject() < 0) { - exitCode = Messages.showDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.open.project"), - new String[]{IdeBundle.message("button.newframe"), IdeBundle.message("button.existingframe"), - CommonBundle.getCancelButtonText()}, 1, 0, Messages.getQuestionIcon(), - new ProjectNewWindowDoNotAskOption()); - } else { - exitCode = settings.getConfirmOpenNewProject(); - } + int exitCode = confirmOpenNewProject(); if (exitCode == 1) { // "No" option if (!closeProject(projectToClose != null ? projectToClose : openProjects[openProjects.length - 1])) return null; } @@ -190,6 +181,18 @@ public class ProjectUtil { return project; } + public static int confirmOpenNewProject() { + final GeneralSettings settings = GeneralSettings.getInstance(); + if (settings.getConfirmOpenNewProject() < 0) { + return Messages.showDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.open.project"), + new String[]{IdeBundle.message("button.newframe"), IdeBundle.message("button.existingframe"), + CommonBundle.getCancelButtonText()}, 1, 0, Messages.getQuestionIcon(), + new ProjectNewWindowDoNotAskOption()); + } else { + return settings.getConfirmOpenNewProject(); + } + } + private static boolean isSameProject(String path, Project p) { final IProjectStore projectStore = ((ProjectEx)p).getStateStore(); diff --git a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java index 83e9f56b4285..7c2ef3ce2d20 100644 --- a/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java +++ b/platform/platform-impl/src/com/intellij/platform/PlatformProjectOpenProcessor.java @@ -15,10 +15,6 @@ */ package com.intellij.platform; -import com.intellij.CommonBundle; -import com.intellij.ide.GeneralSettings; -import com.intellij.ide.IdeBundle; -import com.intellij.ide.impl.ProjectNewWindowDoNotAskOption; import com.intellij.ide.impl.ProjectUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; @@ -29,7 +25,6 @@ import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.project.ex.ProjectManagerEx; import com.intellij.openapi.project.impl.ProjectManagerImpl; import com.intellij.openapi.startup.StartupManager; -import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindowManager; @@ -78,17 +73,7 @@ public class PlatformProjectOpenProcessor extends ProjectOpenProcessor { Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); if (!forceOpenInNewFrame && openProjects.length > 0) { - final GeneralSettings settings = GeneralSettings.getInstance(); - int exitCode; - if (settings.getConfirmOpenNewProject() < 0) { - exitCode = Messages.showDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.open.project"), - new String[]{IdeBundle.message("button.newframe"), IdeBundle.message("button.existingframe"), - CommonBundle.getCancelButtonText()}, 1, 0, Messages.getQuestionIcon(), - new ProjectNewWindowDoNotAskOption()); - } - else { - exitCode = settings.getConfirmOpenNewProject(); - } + int exitCode = ProjectUtil.confirmOpenNewProject(); if (exitCode == 1) { // "No" option if (!ProjectUtil.closeProject(projectToClose != null ? projectToClose : openProjects[openProjects.length - 1])) return null; }