diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/common.js releases/unplug-2.002/source/chrome/content/common.js
135c135
< version : 2.001,
---
> version : 2.002,
139c139
< revision : 200904051824,
---
> revision : 200904100034,
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/config.xul releases/unplug-2.002/source/chrome/content/config.xul
84a85
>
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/overlay.js releases/unplug-2.002/source/chrome/content/overlay.js
35a36,38
>
> // popup window (if not closed) from last button click
> this._popup_window_ref = null;
44c47,53
< window.openDialog("chrome://unplug/content/searchpage.xul", "unplug_window", "chrome,centerscreen", data );
---
> try {
> UnPlug2Overlay._popup_win_ref.close();
> } catch(e) {
> // pass
> }
> UnPlug2Overlay._popup_win_ref = window.openDialog("chrome://unplug/content/searchpage.xul", "unplug_window", "chrome,centerscreen", data );
> UnPlug2Overlay._popup_win_ref.focus();
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/rules.js releases/unplug-2.002/source/chrome/content/rules.js
64a65,83
> * Executes an ifnot_* statement.
> * statement_name should not begin with "ifnot_"
> * An ifnot_* statement is executes.
> * If there's no if_* statement, the if_* (or each_*) statement is executed, and the opposite is returned. If throws an exception, treats this as being true.
> */
> exec_ifnot : function (statement_name, node, variables, url, text, doc) {
> var rule = UnPlug2Rules.get_rule("ifnot_" + statement_name);
> if (rule) {
> return (UnPlug2Rules.exec_statement(rule, node, variables, url, text, doc) !== false);
> }
>
> try {
> return (!UnPlug2Rules.exec_if(statement_name, node, variables, url, text, doc));
> } catch (e) {
> return true;
> }
> },
>
> /*
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/rules.xml releases/unplug-2.002/source/chrome/content/rules.xml
59a60,79
>
>
>
>
>
>
>
>
>
>
>
> iid\s*:\s*"(\d+)"
> title\s*:\s*"(.*?)"
>
>
>
>
>
>
>
399a420
> * xhamster.com
404,405c425,434
<
<
---
>
>
>
>
>
>
>
> addVariable\('srv','([^']+)'\)
>
>
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/search.js releases/unplug-2.002/source/chrome/content/search.js
698a699
> var exectype = null;
700a702,706
> exectype = "if";
> optional = false;
> } else if (nodetagname.substring(0, 6) == "ifnot_") {
> funcname = nodetagname.substring(6);
> exectype = "ifnot";
703a710
> exectype = "optional";
715,718c722
< if (optional)
< result = UnPlug2Rules.exec_optional(funcname, node, variables, url, text, doc);
< else
< result = UnPlug2Rules.exec_if(funcname, node, variables, url, text, doc);
---
> result = UnPlug2Rules["exec_" + exectype](funcname, node, variables, url, text, doc);
778c782
< if (nodetagname.substring(0, 3) != "if_" && nodetagname.substring(0, 9) != "optional_" && nodetagname.substring(0, 5) != "each_") {
---
> if (nodetagname.substring(0, 3) != "if_" && nodetagname.substring(0, 6) != "ifnot_" && nodetagname.substring(0, 9) != "optional_" && nodetagname.substring(0, 5) != "each_") {
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/searchpage.js releases/unplug-2.002/source/chrome/content/searchpage.js
51a52
> this.capabilities['downloader'] = UnPlug2.get_pref("downloader");
68,69c69
< // TODO - localize
< document.getElementById("dynamic_results").value = "No results yet";
---
> document.getElementById("dynamic_results").value = UnPlug2.str("search_no_results_yet");
93d92
< // TODO - localize
96c95
< document.getElementById("dynamic_results").value = "No results";
---
> document.getElementById("dynamic_results").value = UnPlug2.str("search_no_results");
99c98
< document.getElementById("dynamic_results").value = "1 result";
---
> document.getElementById("dynamic_results").value = UnPlug2.str("search_1_result");
101c100
< document.getElementById("dynamic_results").value = "# results".replace("#", all_results.length);
---
> document.getElementById("dynamic_results").value = UnPlug2.str("search_n_results").replace("#", all_results.length);
133c132
< reselem.setAttribute("type", result.type || "");
---
> reselem.setAttribute("type", result.media_type_hint || "");
172c171,175
< window.open(reselem.getAttribute("url"));
---
> try {
> window.open(reselem.getAttribute("url"));
> } catch(e) {
> UnPlug2.log("newwin " + e);
> }
176,177c179,184
< var t = UnPlug2SearchPage._gbrowser.addTab(reselem.getAttribute("url"));
< UnPlug2SearchPage._gbrowser.selectedTab = t;
---
> try {
> var t = UnPlug2SearchPage._gbrowser.addTab(reselem.getAttribute("url"));
> UnPlug2SearchPage._gbrowser.selectedTab = t;
> } catch(e) {
> UnPlug2.log("newtab " + e);
> }
181c188,192
< UnPlug2SearchPage._win.location = reselem.getAttribute("url");
---
> try {
> UnPlug2SearchPage._win.location = reselem.getAttribute("url");
> } catch(e) {
> UnPlug2.log("overwin " + e);
> }
185c196,200
< UnPlug2SearchPage._clipboard.copyString(reselem.getAttribute("url"));
---
> try {
> UnPlug2SearchPage._clipboard.copyString(reselem.getAttribute("url"));
> } catch(e) {
> UnPlug2.log("copyurl " + e);
> }
189,194c204,214
< var source_url = reselem.getAttribute("url");
< var dest = "/home/user/DELETEME";
< var file = UnPlug2SearchPage._save_as_box();
< if (!file)
< return;
< UnPlug2SearchPage._download_with_downloadmgr(source_url, file);
---
> try {
> var source_url = reselem.getAttribute("url");
> var dest = "/home/user/DELETEME";
> var name = reselem.getAttribute("title", "").replace(RegExp("[^\\w\\s]+", "g"), "_");
> var file = UnPlug2SearchPage._save_as_box(name, reselem.getAttribute("type"));
> if (!file)
> return;
> UnPlug2SearchPage._download_with_downloadmgr(source_url, file);
> } catch(e) {
> UnPlug2.log("saveas " + e);
> }
200c220
< _save_as_box : function () {
---
> _save_as_box : function (name, ext) {
203a224,227
> name = name || "no name";
> ext = ext || "ext";
> filepicker.defaultString = name + "." + ext;
> //filepicker.defaultExtention = ext;
237,243c261,271
< var source_url = reselem.getAttribute("url");
< window.opener.DTA_AddingFunctions.saveSingleLink(
< false, //turbo
< source_url, //url
< String(UnPlug2SearchPage._win.location), // referer
< null, // description
< null) // post data
---
> try {
> var source_url = reselem.getAttribute("url");
> window.opener.DTA_AddingFunctions.saveSingleLink(
> false, //turbo
> source_url, //url
> String(UnPlug2SearchPage._win.location), // referer
> null, // description
> null) // post data
> } catch(e) {
> UnPlug2.log("dta " + e);
> }
247,248c275,280
< var fg = UnPlug2SearchPage._gbrowser.gFlashGotService;
< fg.download(["http://example.com"], fg.OP_ONE);
---
> try {
> var fg = UnPlug2SearchPage._gbrowser.gFlashGotService;
> fg.download(["http://example.com"], fg.OP_ONE);
> } catch(e) {
> UnPlug2.log("flashgot " + e);
> }
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/widgets/unplug_result.xbl releases/unplug-2.002/source/chrome/content/widgets/unplug_result.xbl
94a95,98
> if (caps['downloader'] == "saveas") {
> default_dl = document.getAnonymousElementByAttribute(this, "id", "dl_saveas")
> }
>
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/locale/en-US/strings.txt releases/unplug-2.002/source/chrome/locale/en-US/strings.txt
15a16,19
> search_no_results_yet=No results yet
> search_1_result=1 result
> search_n_results=# results
> search_no_results=No results
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/skin/searchpage.css releases/unplug-2.002/source/chrome/skin/searchpage.css
1d0
<
31c30
< list-style-image: url("moz-icon://stock/gtk-preferences?size=menu");
---
> list-style-image: url("chrome://unplug/skin/tango-16/preferences-system.png");
36c35
< list-style-image: url("moz-icon://stock/gtk-save-as?size=menu");
---
> list-style-image: url("chrome://unplug/skin/tango-16/document-save-as.png");
48a48,52
> toolbarbutton.copyurl,
> menuitem.copyurl {
> list-style-image: url("chrome://unplug/skin/tango-16/edit-copy.png");
> }
>
51c55
< /* list-style-image: url(""); */
---
> list-style-image: url("chrome://unplug/skin/tango-16/tab-new.png");
54,56c58,65
< toolbarbutton.copyurl,
< menuitem.copyurl {
< list-style-image: url("moz-icon://stock/gtk-copy?size=menu");
---
> toolbarbutton.opennew,
> menuitem.opennew {
> list-style-image: url("chrome://unplug/skin/tango-16/window-new.png");
> }
>
> toolbarbutton.openover,
> menuitem.openover {
> list-style-image: url("chrome://unplug/skin/tango-16/window.png");
70c79
< list-style-image: url("moz-icon://stock/gtk-stop?size=menu");
---
> list-style-image: url("chrome://unplug/skin/tango-16/process-stop.png");
74c83,84
< list-style-image: url("moz-icon://stock/gtk-stop?size=menu&state=disabled");
---
> /* greyscale; brightness + 100% */
> list-style-image: url("chrome://unplug/skin/tango-16/process-stop-disabled.png");
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/document-save-as.png and releases/unplug-2.002/source/chrome/skin/tango-16/document-save-as.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/edit-copy.png and releases/unplug-2.002/source/chrome/skin/tango-16/edit-copy.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/preferences-system.png and releases/unplug-2.002/source/chrome/skin/tango-16/preferences-system.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/process-stop-disabled.png and releases/unplug-2.002/source/chrome/skin/tango-16/process-stop-disabled.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/process-stop.png and releases/unplug-2.002/source/chrome/skin/tango-16/process-stop.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/tab-new.png and releases/unplug-2.002/source/chrome/skin/tango-16/tab-new.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/window-new.png and releases/unplug-2.002/source/chrome/skin/tango-16/window-new.png differ
Binary files releases/unplug-2.001/source/chrome/skin/tango-16/window.png and releases/unplug-2.002/source/chrome/skin/tango-16/window.png differ
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/install.rdf releases/unplug-2.002/source/install.rdf
6c6
< 2.001
---
> 2.002
14c14
< 3.1.*
---
> 3.5b4pre
diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/todo.txt releases/unplug-2.002/source/todo.txt
4,5d3
< Tell people when menu config is applied next restart.
<
8c6
< More finely-grained optional/required attributes in UnPlug2Rules -- eg Right-click popup on unplug_result widget
10c8,13
< Rules documentation
---
> Better object to send through search.js:_apply_rules_to_document() loop.
> This could contain a way of reading original target, so we can allow file:// links to be downloaded if it's the original target of the page
>
> Tell people when menu config is applied next restart.
>
> More finely-grained optional/required attributes in UnPlug2Rules -- eg Rules documentation (needs more stable rules api)
>
29a35
> Clean up the element situation where some require the dynamic version of the page, and others require a re-downloaded version (for consistency: the dynamic version can be serialized in different ways; and t avoid flashblock, etc). Perhaps group into and (or and ; or something) on the root node.
34c40,42
< , + binary downloads
---
> , + binary downloads + .mov files
>
> Use web workers for evaluating s without DOM nodes (ie in ): https://developer.mozilla.org/En/Using_web_workers
Binary files releases/unplug-2.001/unplug.xpi and releases/unplug-2.002/unplug.xpi differ