summaryrefslogtreecommitdiff
path: root/xml/impl/src/com/intellij/ide
diff options
context:
space:
mode:
Diffstat (limited to 'xml/impl/src/com/intellij/ide')
-rw-r--r--xml/impl/src/com/intellij/ide/actions/CreateHtmlFileAction.java4
-rw-r--r--xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java22
-rw-r--r--xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java29
-rw-r--r--xml/impl/src/com/intellij/ide/browsers/actions/BaseOpenInBrowserAction.java7
-rw-r--r--xml/impl/src/com/intellij/ide/browsers/actions/OpenInBrowserBaseGroupAction.java12
-rw-r--r--xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java2
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