From 5cc2b053b7cc396b106eb50971180c303b57bce3 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Tue, 20 Mar 2012 21:02:50 +0400 Subject: [PATCH] Implement choose browser combobox. --- .../k2jsrun/K2JSBrowserProgramRunner.java | 2 +- .../k2jsrun/K2JSConfigurationSettings.java | 13 ++++++++ .../k2jsrun/K2JSRunConfigurationEditor.form | 2 +- .../k2jsrun/K2JSRunConfigurationEditor.java | 31 +++++++++++++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSBrowserProgramRunner.java b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSBrowserProgramRunner.java index 71eb3b2344a..775c4f8df48 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSBrowserProgramRunner.java +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSBrowserProgramRunner.java @@ -63,7 +63,7 @@ public final class K2JSBrowserProgramRunner extends GenericProgramRunner { private static void openBrowser(@NotNull K2JSConfigurationSettings configurationSettings) { String filePath = configurationSettings.getFilePath(); String url = VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, filePath); - BrowsersConfiguration.launchBrowser(BrowsersConfiguration.BrowserFamily.FIREFOX, url); + BrowsersConfiguration.launchBrowser(configurationSettings.getBrowserFamily(), url); } @NotNull diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSConfigurationSettings.java b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSConfigurationSettings.java index be6d3563326..b92fb805c63 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSConfigurationSettings.java +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSConfigurationSettings.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.plugin.k2jsrun; +import com.intellij.ide.browsers.BrowsersConfiguration; import org.jetbrains.annotations.NotNull; /** @@ -26,6 +27,18 @@ public class K2JSConfigurationSettings { @NotNull private String filePath = ""; + @NotNull + private BrowsersConfiguration.BrowserFamily browserFamily = BrowsersConfiguration.getInstance().getActiveBrowsers().get(0); + + @NotNull + public BrowsersConfiguration.BrowserFamily getBrowserFamily() { + return browserFamily; + } + + public void setBrowserFamily(@NotNull BrowsersConfiguration.BrowserFamily browserFamily) { + this.browserFamily = browserFamily; + } + @NotNull public String getFilePath() { return filePath; diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.form b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.form index b28f0ab4ae9..4cfeec10fa5 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.form +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.form @@ -39,7 +39,7 @@ - + diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.java b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.java index 829746cd84f..6b0c95721dd 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.java +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationEditor.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.plugin.k2jsrun; +import com.intellij.ide.browsers.BrowsersConfiguration; +import com.intellij.ide.ui.ListCellRendererWrapper; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.fileTypes.StdFileTypes; @@ -36,6 +38,7 @@ public final class K2JSRunConfigurationEditor extends SettingsEditor(browserComboBox) { + @Override + public void customize(JList list, BrowsersConfiguration.BrowserFamily family, int index, boolean selected, boolean hasFocus) { + if (family != null) { + setText(family.getName()); + setIcon(family.getIcon()); + } + } + }); + if (browserComboBox.getItemCount() < 2) { + browserComboBox.setVisible(false); + browserComboBox.setVisible(false); + } + else { + browserComboBox.setSelectedItem(0); + } + } + @Override protected void disposeEditor() { // do nothing