[Pkg-mozext-commits] [adblock-plus-element-hiding-helper] 24/483: Adding preview feature
David Prévot
taffit at moszumanska.debian.org
Thu Jan 22 21:41:23 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository adblock-plus-element-hiding-helper.
commit 63dc9a5f32e71d8adfc1f849c09eecb54d32bc5e
Author: Wladimir Palant <trev at gtchat.de>
Date: Wed Jan 10 15:18:58 2007 +0000
Adding preview feature
--HG--
extra : convert_revision : svn%3Ad8bf93c1-8190-44a8-bb31-1ea94378a4df/trunk%40621
---
chrome/content/composer.js | 35 +++++++++++++++++++++++++++++++++--
chrome/content/composer.xul | 6 +++++-
chrome/locale/en-US/composer.dtd | 1 +
3 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/chrome/content/composer.js b/chrome/content/composer.js
index 39824ec..2534a8f 100644
--- a/chrome/content/composer.js
+++ b/chrome/content/composer.js
@@ -26,6 +26,9 @@ var domainData;
var nodeData;
var selectedNode = null;
var advancedMode = false;
+var stylesheetURL;
+var previewStyle = null;
+var doc;
/*******************
* NodeData object *
@@ -134,7 +137,8 @@ function TreeView_getCellProperties(row, col, properties) {
function init() {
var element = window.arguments[0];
- var wnd = element.ownerDocument.defaultView;
+ doc = element.ownerDocument;
+ var wnd = doc.defaultView;
nodeData = new NodeData(element);
nodeData.tagName.checked = true;
@@ -172,6 +176,8 @@ function init() {
setTimeout(function() {
fillDomains(domainData);
document.getElementById("domainGroup").selectedItem.focus();
+ if (document.getElementById("preview").checked)
+ togglePreview(true);
}, 0);
}
@@ -236,8 +242,10 @@ function updateExpression() {
}
var expression;
- if (simpleMode)
+ if (simpleMode) {
expression = domainData.selected + "#" + nodeData.expressionSimple;
+ stylesheetURL = "data:text/css," + encodeURIComponent(nodeData.expressionRaw + "{display: none !important;}");
+ }
else {
expression = nodeData.expressionRaw;
@@ -292,6 +300,7 @@ function updateExpression() {
curData = null;
}
+ stylesheetURL = "data:text/css," + encodeURIComponent(expression + "{display: none !important;}");
expression = domainData.selected + "##" + expression;
}
@@ -299,6 +308,9 @@ function updateExpression() {
var tree = document.getElementById("nodes-tree");
tree.boxObject.invalidateRow(tree.view.selection.currentIndex);
+
+ if (previewStyle)
+ previewStyle.setAttribute("href", stylesheetURL);
}
function fillDomains(domainData) {
@@ -426,6 +438,23 @@ function fillAttributes(nodeData) {
customCSSField.value = nodeData.customCSS.selected;
}
+function togglePreview(preview) {
+ if (preview) {
+ if (!previewStyle || !previewStyle.parentNode) {
+ previewStyle = doc.createElement("link");
+ previewStyle.setAttribute("rel", "stylesheet");
+ previewStyle.setAttribute("type", "text/css");
+ doc.documentElement.appendChild(previewStyle);
+ }
+ previewStyle.setAttribute("href", stylesheetURL);
+ }
+ else {
+ if (previewStyle && previewStyle.parentNode)
+ previewStyle.parentNode.removeChild(previewStyle);
+ previewStyle = null;
+ }
+}
+
function changeDomain(node) {
domainData.selected = node.getAttribute("value");
updateExpression();
@@ -510,4 +539,6 @@ function addExpression() {
var abp = Components.classes["@mozilla.org/adblockplus;1"]
.createInstance(Components.interfaces.nsIAdblockPlus);
abp.addPatterns([document.getElementById("expression").value], 1);
+
+ togglePreview(true);
}
diff --git a/chrome/content/composer.xul b/chrome/content/composer.xul
index 50ac563..febcbac 100644
--- a/chrome/content/composer.xul
+++ b/chrome/content/composer.xul
@@ -34,6 +34,7 @@
title="&dialog.title;"
onload="init()"
ondialogaccept="addExpression()"
+ ondialogcancel="togglePreview(false)"
ondialogdisclosure="setAdvancedMode(!advancedMode)"
buttons="accept,cancel,disclosure"
width="600px"
@@ -49,7 +50,10 @@
<vbox id="expressionBox">
<label control="expression" value="&expression.label;"/>
- <textbox id="expression" readonly="true"/>
+ <hbox>
+ <textbox id="expression" flex="1" readonly="true"/>
+ <checkbox id="preview" label="&preview.label;" oncommand="togglePreview(this.checked)" persist="checked"/>
+ </hbox>
</vbox>
<hbox id="choices" flex="1">
diff --git a/chrome/locale/en-US/composer.dtd b/chrome/locale/en-US/composer.dtd
index 613aa42..ffaf377 100644
--- a/chrome/locale/en-US/composer.dtd
+++ b/chrome/locale/en-US/composer.dtd
@@ -27,6 +27,7 @@
<!ENTITY advanced.label "Advanced view">
<!ENTITY basic.label "Basic view">
<!ENTITY expression.label "Filter rule">
+<!ENTITY preview.label "Preview">
<!ENTITY domain.label "Bind to domain">
<!ENTITY domain.none.label "Any domain (not recommended)">
<!ENTITY nodes-tree.node.label "Node">
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus-element-hiding-helper.git
More information about the Pkg-mozext-commits
mailing list