diff options
Diffstat (limited to 'xml/impl/src/com/intellij/ide')
6 files changed, 45 insertions, 31 deletions
diff --git a/xml/impl/src/com/intellij/ide/actions/CreateHtmlFileAction.java b/xml/impl/src/com/intellij/ide/actions/CreateHtmlFileAction.java index cbf690cf4ceb..5ac605b5d450 100644 --- a/xml/impl/src/com/intellij/ide/actions/CreateHtmlFileAction.java +++ b/xml/impl/src/com/intellij/ide/actions/CreateHtmlFileAction.java @@ -43,8 +43,8 @@ public class CreateHtmlFileAction extends CreateFileFromTemplateAction implement protected void buildDialog(Project project, PsiDirectory directory, CreateFileFromTemplateDialog.Builder builder) { builder .setTitle(XmlBundle.message("new.html.file.action")) - .addKind("HTML file", StdFileTypes.HTML.getIcon(), FileTemplateManager.INTERNAL_HTML5_TEMPLATE_NAME) - .addKind("HTML4 file", StdFileTypes.HTML.getIcon(), FileTemplateManager.INTERNAL_HTML_TEMPLATE_NAME) + .addKind("HTML 5 file", StdFileTypes.HTML.getIcon(), FileTemplateManager.INTERNAL_HTML5_TEMPLATE_NAME) + .addKind("HTML 4 file", StdFileTypes.HTML.getIcon(), FileTemplateManager.INTERNAL_HTML_TEMPLATE_NAME) .addKind("XHTML file", StdFileTypes.XHTML.getIcon(), FileTemplateManager.INTERNAL_XHTML_TEMPLATE_NAME); } diff --git a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java index 342a274c0b30..603746bb3c60 100644 --- a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java +++ b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java @@ -1,3 +1,18 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.intellij.ide.browsers; import com.intellij.ide.DataManager; @@ -141,6 +156,13 @@ public class StartBrowserPanel { return browserSettings; } + public void setFromSettings(StartBrowserSettings settings) { + setSelected(settings.isSelected()); + setUrl(settings.getUrl()); + myStartJavaScriptDebuggerCheckBox.setSelected(settings.isStartJavaScriptDebugger()); + myBrowserSelector.setSelected(settings.getBrowser()); + } + public static void setupUrlField(@NotNull TextFieldWithBrowseButton field, @NotNull final Project project) { FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, false, false, false, false) { @Override diff --git a/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java b/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java index 7800d8821778..a2d78ccb898b 100644 --- a/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java +++ b/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 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. @@ -17,10 +17,7 @@ package com.intellij.ide.browsers; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.util.Condition; -import com.intellij.openapi.util.Conditions; -import com.intellij.openapi.util.JDOMUtil; -import com.intellij.openapi.util.ModificationTracker; +import com.intellij.openapi.util.*; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.SmartList; import com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters; @@ -29,13 +26,10 @@ import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; +import java.util.*; @State(name = "WebBrowsersConfiguration", storages = {@Storage(file = StoragePathMacros.APP_CONFIG + "/web-browsers.xml")}) -public class WebBrowserManager implements PersistentStateComponent<Element>, ModificationTracker { +public class WebBrowserManager extends SimpleModificationTracker implements PersistentStateComponent<Element> { private static final Logger LOG = Logger.getInstance(WebBrowserManager.class); // default standard browser ID must be constant across all IDE versions on all machines for all users @@ -48,8 +42,6 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod private List<ConfigurableWebBrowser> browsers; - private long modificationCount; - DefaultBrowser defaultBrowser = DefaultBrowser.SYSTEM; public WebBrowserManager() { @@ -87,7 +79,7 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod public Element getState() { Element state = new Element("state"); if (defaultBrowser != DefaultBrowser.SYSTEM) { - state.setAttribute("default", defaultBrowser.name().toLowerCase()); + state.setAttribute("default", defaultBrowser.name().toLowerCase(Locale.ENGLISH)); } for (ConfigurableWebBrowser browser : browsers) { @@ -185,7 +177,7 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod String defaultValue = element.getAttributeValue("default"); if (!StringUtil.isEmpty(defaultValue)) { try { - defaultBrowser = DefaultBrowser.valueOf(defaultValue.toUpperCase()); + defaultBrowser = DefaultBrowser.valueOf(defaultValue.toUpperCase(Locale.ENGLISH)); } catch (IllegalArgumentException e) { LOG.warn(e); @@ -245,7 +237,7 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod void setList(@NotNull List<ConfigurableWebBrowser> value) { browsers = value; - modificationCount++; + incModificationCount(); } @NotNull @@ -286,7 +278,7 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod final BrowserSpecificSettings specificSettings) { final ConfigurableWebBrowser browser = new ConfigurableWebBrowser(id, family, name, path, active, specificSettings); browsers.add(browser); - modificationCount++; + incModificationCount(); return browser; } @@ -371,9 +363,4 @@ public class WebBrowserManager implements PersistentStateComponent<Element>, Mod } return null; } - - @Override - public long getModificationCount() { - return modificationCount; - } }
\ No newline at end of file diff --git a/xml/impl/src/com/intellij/ide/browsers/actions/BaseOpenInBrowserAction.java b/xml/impl/src/com/intellij/ide/browsers/actions/BaseOpenInBrowserAction.java index b01bcdfd9b52..8ec2a2e55b67 100644 --- a/xml/impl/src/com/intellij/ide/browsers/actions/BaseOpenInBrowserAction.java +++ b/xml/impl/src/com/intellij/ide/browsers/actions/BaseOpenInBrowserAction.java @@ -84,12 +84,11 @@ public abstract class BaseOpenInBrowserAction extends DumbAwareAction { StringBuilder builder = new StringBuilder(description); builder.append(" ("); Shortcut[] shortcuts = KeymapManager.getInstance().getActiveKeymap().getShortcuts("WebOpenInAction"); - if (shortcuts.length > 0) { - builder.append(KeymapUtil.getShortcutText(shortcuts[0])); - } + boolean exists = shortcuts.length > 0; + if (exists) builder.append(KeymapUtil.getShortcutText(shortcuts[0])); if (HtmlUtil.isHtmlFile(result.first.getFile())) { - builder.append(", hold Shift to open URL of local file"); + builder.append(exists ? ", " : "").append("hold Shift to open URL of local file"); } builder.append(')'); description = builder.toString(); diff --git a/xml/impl/src/com/intellij/ide/browsers/actions/OpenInBrowserBaseGroupAction.java b/xml/impl/src/com/intellij/ide/browsers/actions/OpenInBrowserBaseGroupAction.java index 2d5409fd6974..5dd70c03ec77 100644 --- a/xml/impl/src/com/intellij/ide/browsers/actions/OpenInBrowserBaseGroupAction.java +++ b/xml/impl/src/com/intellij/ide/browsers/actions/OpenInBrowserBaseGroupAction.java @@ -18,9 +18,7 @@ package com.intellij.ide.browsers.actions; import com.intellij.icons.AllIcons; import com.intellij.ide.browsers.WebBrowser; import com.intellij.ide.browsers.WebBrowserManager; -import com.intellij.openapi.actionSystem.ActionManager; -import com.intellij.openapi.actionSystem.AnAction; -import com.intellij.openapi.actionSystem.ComputableActionGroup; +import com.intellij.openapi.actionSystem.*; import com.intellij.psi.util.CachedValueProvider; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -32,6 +30,10 @@ public abstract class OpenInBrowserBaseGroupAction extends ComputableActionGroup protected OpenInBrowserBaseGroupAction(boolean popup) { super(popup); + Presentation p = getTemplatePresentation(); + p.setText("Open in _Browser"); + p.setDescription("Open selected file in browser"); + p.setIcon(AllIcons.Nodes.PpWeb); } @NotNull @@ -75,4 +77,8 @@ public abstract class OpenInBrowserBaseGroupAction extends ComputableActionGroup super(false); } } + + public void update(@NotNull AnActionEvent e) { + e.getPresentation().setVisible(!ActionGroupUtil.isGroupEmpty(this, e)); + } }
\ No newline at end of file diff --git a/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java b/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java index 5647e69af22c..5cd056f869d9 100644 --- a/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java +++ b/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java @@ -62,7 +62,7 @@ public class WebBrowserServiceImpl extends WebBrowserService { } } } - return virtualFile instanceof LightVirtualFile ? Collections.<Url>emptySet() : Collections.singleton(Urls.newFromVirtualFile(virtualFile)); + return virtualFile instanceof LightVirtualFile || !request.getFile().getViewProvider().isPhysical() ? Collections.<Url>emptySet() : Collections.singleton(Urls.newFromVirtualFile(virtualFile)); } @Nullable |