Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: chrome/content/options.js

Issue 8382011: Applied changes from emailed code review (Closed)
Patch Set: Created Sept. 28, 2012, 1:40 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/content/options.xul » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This Source Code is subject to the terms of the Mozilla Public License 2 * This Source Code is subject to the terms of the Mozilla Public License
3 * version 2.0 (the "License"). You can obtain a copy of the License at 3 * version 2.0 (the "License"). You can obtain a copy of the License at
4 * http://mozilla.org/MPL/2.0/. 4 * http://mozilla.org/MPL/2.0/.
5 */ 5 */
6 6
7 Cu.import("resource://gre/modules/Services.jsm"); 7 Cu.import("resource://gre/modules/Services.jsm");
8 8
9 let {Prefs} = require("prefs"); 9 let {Prefs} = require("prefs");
10 Prefs.addListener(onPrefChange); 10 Prefs.addListener(onPrefChange);
(...skipping 29 matching lines...) Expand all
40 let ruleListElement = E("custom_corrections"); 40 let ruleListElement = E("custom_corrections");
41 let whitelistElement = E("whitelist"); 41 let whitelistElement = E("whitelist");
42 42
43 // Remove existing list entries 43 // Remove existing list entries
44 for (let i = ruleListElement.getRowCount() - 1; i >= 0; i--) 44 for (let i = ruleListElement.getRowCount() - 1; i >= 0; i--)
45 ruleListElement.removeItemAt(i); 45 ruleListElement.removeItemAt(i);
46 for (let i = whitelistElement.getRowCount() - 1; i >= 0; i--) 46 for (let i = whitelistElement.getRowCount() - 1; i >= 0; i--)
47 whitelistElement.removeItemAt(i); 47 whitelistElement.removeItemAt(i);
48 48
49 // Build a list of custom rules and sort it alphabetically 49 // Build a list of custom rules and sort it alphabetically
50 let customRules = Prefs.custom_replace; 50 let prefRulesList = Prefs.custom_replace;
51 let prefWhitelist = Prefs.whitelist;
51 let ruleList = []; 52 let ruleList = [];
52 let whitelist = []; 53 let whitelist = [];
53 for (let searchString in customRules) 54
55 for (let searchString in prefRulesList)
54 { 56 {
55 if(searchString == customRules[searchString]) 57 ruleList.push([searchString, prefRulesList[searchString]]);
56 { 58 }
57 whitelist.push(searchString); 59 for (let searchString in prefWhitelist)
58 } 60 {
59 else 61 whitelist.push(searchString);
60 {
61 ruleList.push([searchString, customRules[searchString]]);
62 }
63 } 62 }
64 63
65 ruleList.sort(function(a, b) 64 ruleList.sort(function(a, b)
66 { 65 {
67 if (a[0] < b[0]) 66 if (a[0] < b[0])
68 return -1; 67 return -1;
69 else if (a[0] > b[0]) 68 else if (a[0] > b[0])
70 return 1; 69 return 1;
71 else 70 else
72 return 0; 71 return 0;
73 }); 72 });
74 whitelist.sort(); 73 whitelist.sort();
75 74
76 // Add the rules to the list 75 // Add the rules to the list
77 if(ruleList.length > 0) 76 if (ruleList.length > 0)
78 { 77 {
79 for (let i = 0; i < ruleList.length; i++) 78 for (let i = 0; i < ruleList.length; i++)
80 { 79 {
81 let [searchString, replacement] = ruleList[i]; 80 let [searchString, replacement] = ruleList[i];
82 81
83 let option = document.createElement('listitem'); 82 let option = document.createElement('listitem');
84 option.setAttribute("value", searchString); 83 option.setAttribute("value", searchString);
85 84
86 let cell1 = document.createElement('listcell'); 85 let cell1 = document.createElement('listcell');
87 cell1.setAttribute("label", searchString); 86 cell1.setAttribute("label", searchString);
88 option.appendChild(cell1); 87 option.appendChild(cell1);
89 88
90 let cell2 = document.createElement('listcell'); 89 let cell2 = document.createElement('listcell');
91 cell2.setAttribute("label", replacement); 90 cell2.setAttribute("label", replacement);
92 option.appendChild(cell2); 91 option.appendChild(cell2);
93 92
94 ruleListElement.appendChild(option); 93 ruleListElement.appendChild(option);
95 } 94 }
96 } 95 }
97 else 96 else
98 { 97 {
99 let option = document.createElement("listitem"); 98 let option = document.createElement("listitem");
100 option.setAttribute("class", "auto-entry"); 99 option.setAttribute("class", "auto-entry");
101 option.setAttribute("label", ruleListElement.getAttribute("_emptyLabel")); 100 option.setAttribute("label", ruleListElement.getAttribute("_emptyLabel"));
102 101
103 ruleListElement.appendChild(option); 102 ruleListElement.appendChild(option);
104 } 103 }
105 104
106 if(whitelist.length > 0) 105 if (whitelist.length > 0)
107 { 106 {
108 for (let i = 0; i < whitelist.length; i++) 107 for (let i = 0; i < whitelist.length; i++)
109 { 108 {
110 let option = document.createElement("listitem"); 109 let option = document.createElement("listitem");
111 option.setAttribute("value", whitelist[i]); 110 option.setAttribute("value", whitelist[i]);
112 option.setAttribute("label", whitelist[i]) 111 option.setAttribute("label", whitelist[i])
113 112
114 whitelistElement.appendChild(option); 113 whitelistElement.appendChild(option);
115 } 114 }
116 } 115 }
(...skipping 14 matching lines...) Expand all
131 if (searchString.length == 0) 130 if (searchString.length == 0)
132 return; 131 return;
133 132
134 Prefs.custom_replace[searchString] = replacement; 133 Prefs.custom_replace[searchString] = replacement;
135 Prefs.custom_replace = JSON.parse(JSON.stringify(Prefs.custom_replace)); 134 Prefs.custom_replace = JSON.parse(JSON.stringify(Prefs.custom_replace));
136 135
137 E("find").value = E("replace").value = ""; 136 E("find").value = E("replace").value = "";
138 E("find").oninput(); 137 E("find").oninput();
139 } 138 }
140 139
141 function removeRule(btn) 140 function removeRule(btn, pref)
142 { 141 {
143 let list = E(btn.getAttribute("_list")); 142 let list = E(btn.getAttribute("_list"));
144 let items = list.selectedItems; 143 let items = list.selectedItems;
145 144
145 let {onWhitelistEntryRemoved} = require("rules");
146
146 for (let i = items.length - 1; i >= 0; i--) 147 for (let i = items.length - 1; i >= 0; i--)
147 { 148 {
148 let searchString = items[i].getAttribute("value"); 149 let searchString = items[i].getAttribute("value");
149 delete Prefs.custom_replace[searchString]; 150 delete Prefs[pref][searchString];
151
152 if (pref == "whitelist")
153 onWhitelistEntryRemoved(searchString);
150 } 154 }
151 Prefs.custom_replace = JSON.parse(JSON.stringify(Prefs.custom_replace)); 155 Prefs[pref] = JSON.parse(JSON.stringify(Prefs[pref]));
152 } 156 }
OLDNEW
« no previous file with comments | « no previous file | chrome/content/options.xul » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld