mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
allow disabling browser hover in editor
#WEB-461 fixed
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.ide.browsers.BrowserSettingsPanel">
|
||||
<grid id="27dc6" binding="root" layout-manager="GridLayoutManager" row-count="4" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<grid id="27dc6" binding="root" layout-manager="GridLayoutManager" row-count="4" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="595" height="400"/>
|
||||
@@ -11,7 +11,7 @@
|
||||
<grid id="df7ca" binding="defaultBrowserPanel" layout-manager="GridLayoutManager" row-count="1" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
<grid row="1" column="0" row-span="1" col-span="2" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
@@ -40,7 +40,7 @@
|
||||
</grid>
|
||||
<component id="c38a1" class="javax.swing.JComponent" binding="browsersTable" custom-create="true">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
<grid row="0" column="0" row-span="1" col-span="2" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</component>
|
||||
<component id="b18a3" class="javax.swing.JCheckBox" binding="confirmExtractFiles" default-binding="true">
|
||||
@@ -53,12 +53,20 @@
|
||||
</component>
|
||||
<component id="d1faa" class="javax.swing.JButton" binding="clearExtractedFiles" default-binding="true">
|
||||
<constraints>
|
||||
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
<grid row="3" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="Clear extracted files"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="beb5b" class="com.intellij.ui.components.JBCheckBox" binding="showBrowserHover">
|
||||
<constraints>
|
||||
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="Show browser popup in editor"/>
|
||||
</properties>
|
||||
</component>
|
||||
</children>
|
||||
</grid>
|
||||
<buttonGroups>
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.intellij.openapi.ui.TextFieldWithBrowseButton;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.ui.ListCellRendererWrapper;
|
||||
import com.intellij.ui.TitledSeparator;
|
||||
import com.intellij.ui.components.JBCheckBox;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.ui.ColumnInfo;
|
||||
@@ -144,6 +145,7 @@ final class BrowserSettingsPanel {
|
||||
private JComponent browsersTable;
|
||||
|
||||
private ComboBox defaultBrowserPolicyComboBox;
|
||||
private JBCheckBox showBrowserHover;
|
||||
|
||||
private TableModelEditor<ConfigurableWebBrowser> browsersEditor;
|
||||
|
||||
@@ -321,7 +323,9 @@ final class BrowserSettingsPanel {
|
||||
GeneralSettings generalSettings = GeneralSettings.getInstance();
|
||||
|
||||
DefaultBrowserPolicy defaultBrowserPolicy = getDefaultBrowser();
|
||||
if (browserManager.getDefaultBrowserPolicy() != defaultBrowserPolicy || generalSettings.isConfirmExtractFiles() != confirmExtractFiles.isSelected()) {
|
||||
if (browserManager.getDefaultBrowserPolicy() != defaultBrowserPolicy ||
|
||||
generalSettings.isConfirmExtractFiles() != confirmExtractFiles.isSelected() ||
|
||||
browserManager.isShowBrowserHover() != showBrowserHover.isSelected()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -345,6 +349,7 @@ final class BrowserSettingsPanel {
|
||||
settings.setConfirmExtractFiles(confirmExtractFiles.isSelected());
|
||||
|
||||
WebBrowserManager browserManager = WebBrowserManager.getInstance();
|
||||
browserManager.setShowBrowserHover(showBrowserHover.isSelected());
|
||||
browserManager.defaultBrowserPolicy = getDefaultBrowser();
|
||||
browserManager.setList(browsersEditor.apply());
|
||||
}
|
||||
@@ -354,14 +359,16 @@ final class BrowserSettingsPanel {
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
DefaultBrowserPolicy defaultBrowserPolicy = WebBrowserManager.getInstance().getDefaultBrowserPolicy();
|
||||
final WebBrowserManager browserManager = WebBrowserManager.getInstance();
|
||||
DefaultBrowserPolicy defaultBrowserPolicy = browserManager.getDefaultBrowserPolicy();
|
||||
DefaultBrowserPolicy effectiveDefaultBrowserPolicy = defaultBrowserPolicy == DefaultBrowserPolicy.SYSTEM && !BrowserLauncherAppless.canUseSystemDefaultBrowserPolicy()
|
||||
? DefaultBrowserPolicy.ALTERNATIVE : defaultBrowserPolicy;
|
||||
defaultBrowserPolicyComboBox.setSelectedItem(effectiveDefaultBrowserPolicy);
|
||||
|
||||
GeneralSettings settings = GeneralSettings.getInstance();
|
||||
confirmExtractFiles.setSelected(settings.isConfirmExtractFiles());
|
||||
browsersEditor.reset(WebBrowserManager.getInstance().getList());
|
||||
showBrowserHover.setSelected(browserManager.isShowBrowserHover());
|
||||
browsersEditor.reset(browserManager.getList());
|
||||
|
||||
customPathValue = settings.getBrowserPath();
|
||||
alternativeBrowserPathField.setEnabled(effectiveDefaultBrowserPolicy == DefaultBrowserPolicy.ALTERNATIVE);
|
||||
|
||||
@@ -51,7 +51,7 @@ public class WebBrowserManager extends SimpleModificationTracker implements Pers
|
||||
);
|
||||
|
||||
private List<ConfigurableWebBrowser> browsers;
|
||||
|
||||
private boolean myShowBrowserHover = true;
|
||||
DefaultBrowserPolicy defaultBrowserPolicy = DefaultBrowserPolicy.SYSTEM;
|
||||
|
||||
public WebBrowserManager() {
|
||||
@@ -103,6 +103,9 @@ public class WebBrowserManager extends SimpleModificationTracker implements Pers
|
||||
if (defaultBrowserPolicy != DefaultBrowserPolicy.SYSTEM) {
|
||||
state.setAttribute("default", defaultBrowserPolicy.name().toLowerCase(Locale.ENGLISH));
|
||||
}
|
||||
if (!myShowBrowserHover) {
|
||||
state.setAttribute("showHover", "false");
|
||||
}
|
||||
|
||||
for (ConfigurableWebBrowser browser : browsers) {
|
||||
Element entry = new Element("browser");
|
||||
@@ -206,6 +209,8 @@ public class WebBrowserManager extends SimpleModificationTracker implements Pers
|
||||
}
|
||||
}
|
||||
|
||||
myShowBrowserHover = !"false".equals(element.getAttributeValue("showHover"));
|
||||
|
||||
List<ConfigurableWebBrowser> list = new ArrayList<ConfigurableWebBrowser>();
|
||||
for (Element child : element.getChildren("browser")) {
|
||||
BrowserFamily family = readFamily(child.getAttributeValue("family"));
|
||||
@@ -388,4 +393,12 @@ public class WebBrowserManager extends SimpleModificationTracker implements Pers
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setShowBrowserHover(boolean showBrowserHover) {
|
||||
myShowBrowserHover = showBrowserHover;
|
||||
}
|
||||
|
||||
public boolean isShowBrowserHover() {
|
||||
return myShowBrowserHover;
|
||||
}
|
||||
}
|
||||
@@ -80,7 +80,8 @@ public abstract class OpenInBrowserBaseGroupAction extends ComputableActionGroup
|
||||
|
||||
@Override
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
e.getPresentation().setVisible(!WebBrowserManager.getInstance().getActiveBrowsers().isEmpty());
|
||||
final WebBrowserManager browserManager = WebBrowserManager.getInstance();
|
||||
e.getPresentation().setVisible(browserManager.isShowBrowserHover() && !browserManager.getActiveBrowsers().isEmpty());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user