[mac] rework buttons for wizards

This commit is contained in:
Alexey Pegov
2011-08-16 16:04:14 +04:00
parent f7d20af74c
commit 8cfc53b56e
3 changed files with 42 additions and 13 deletions
@@ -81,7 +81,13 @@ public class NewProjectUtil {
if (StorageScheme.DIRECTORY_BASED == dialog.getStorageScheme()) {
final File ideaDir = new File(projectFilePath + File.separator + ".idea");
if (!ideaDir.exists() && !ideaDir.mkdirs()) {
Messages.showErrorDialog("Unable to create '.idea' directory at: " + projectFilePath, "Project initialization failed");
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Messages.showErrorDialog("Unable to create '.idea' directory at: " + projectFilePath, "Project initialization failed");
}
});
return;
}
}
@@ -194,7 +200,7 @@ public class NewProjectUtil {
final GeneralSettings settings = GeneralSettings.getInstance();
int exitCode = settings.getConfirmOpenNewProject();
if (exitCode == GeneralSettings.OPEN_PROJECT_ASK) {
exitCode = Messages.showOkCancelDialog(IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.new.project"),
exitCode = Messages.showOkCancelDialog(projectToClose, IdeBundle.message("prompt.open.project.in.new.frame"), IdeBundle.message("title.new.project"),
IdeBundle.message("button.existingframe"), IdeBundle.message("button.newframe"),
Messages.getQuestionIcon(), new ProjectNewWindowDoNotAskOption());
}
@@ -39,6 +39,7 @@ import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.annotations.NonNls;
@@ -139,14 +140,14 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
preferredFocusedComponent.requestFocus();
}
else {
if (isLastStep) {
if (isLastStep && finishButton.isVisible()) {
finishButton.requestFocus();
}
else {
nextButton.requestFocus();
}
}
getRootPane().setDefaultButton(isLastStep ? finishButton : nextButton);
getRootPane().setDefaultButton(isLastStep && finishButton.isVisible()? finishButton : nextButton);
}
});
}
@@ -231,9 +232,17 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
private void updateButtons() {
final boolean isLastStep = isLastStep(getCurrentStep());
getNextButton().setEnabled(!isLastStep);
getFinishButton().setEnabled(isLastStep);
getRootPane().setDefaultButton(isLastStep ? getFinishButton() : getNextButton());
if (SystemInfo.isMac) {
getNextButton().setEnabled(true);
getFinishButton().setVisible(false);
getNextButton().setText(isLastStep ? IdeBundle.message("button.finish") : IdeBundle.message("button.wizard.next"));
getRootPane().setDefaultButton(getNextButton());
} else {
getNextButton().setEnabled(!isLastStep);
getFinishButton().setEnabled(isLastStep);
getRootPane().setDefaultButton(isLastStep ? getFinishButton() : getNextButton());
}
}
private boolean isLastStep(int step) {