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

Side by Side Diff: lib/main.js

Issue 4744516900749312: issue #1155 - Don't allow displaying icon text with Australis theme (Closed)
Patch Set: Created July 30, 2014, 12:47 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 | « chrome/content/settings.xul ('k') | no next file » | 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 let {WindowObserver} = require("windowObserver"); 10 let {WindowObserver} = require("windowObserver");
11 11
12 var isAustralis = false;
13 try
14 {
15 Cu.import("resource:///modules/CustomizableUI.jsm", null);
16 isAustralis = true;
17 } catch(e) {}
18
12 var WindowFeature = 19 var WindowFeature =
13 { 20 {
14 observer: null, 21 observer: null,
15 22
16 init: function() 23 init: function()
17 { 24 {
18 if (!this.observer) 25 if (!this.observer)
19 this.observer = new WindowObserver(this, "ready"); 26 this.observer = new WindowObserver(this, "ready");
20 }, 27 },
21 28
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 __proto__: StylesheetFeature, 124 __proto__: StylesheetFeature,
118 stylesheet: "chrome://abpcustomization/content/oneLineSubscriptions.css" 125 stylesheet: "chrome://abpcustomization/content/oneLineSubscriptions.css"
119 }; 126 };
120 127
121 var RemoveActionsButton = 128 var RemoveActionsButton =
122 { 129 {
123 __proto__: StylesheetFeature, 130 __proto__: StylesheetFeature,
124 stylesheet: "chrome://abpcustomization/content/noActionButton.css" 131 stylesheet: "chrome://abpcustomization/content/noActionButton.css"
125 }; 132 };
126 133
134 var AddonPageAustralisStyles =
135 {
136 __proto__: StylesheetFeature,
137 stylesheet: "chrome://abpcustomization/content/addonPageAustralisStyles.css"
138 };
139
127 var ToolbarIconDisplay = 140 var ToolbarIconDisplay =
128 { 141 {
129 __proto__: StylesheetFeature, 142 __proto__: StylesheetFeature,
130 get template() 143 get template()
131 { 144 {
132 let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(C i.nsIXMLHttpRequest); 145 let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(C i.nsIXMLHttpRequest);
133 request.open("GET", "chrome://abpcustomization/content/toolbarIconDisplay.cs s", false); 146 request.open("GET", "chrome://abpcustomization/content/toolbarIconDisplay.cs s", false);
134 request.overrideMimeType("text/plain"); 147 request.overrideMimeType("text/plain");
135 request.send(); 148 request.send();
136 let result = request.responseText; 149 let result = request.responseText;
(...skipping 28 matching lines...) Expand all
165 stylesheet: "chrome://abpcustomization/content/hideMenus.css" 178 stylesheet: "chrome://abpcustomization/content/hideMenus.css"
166 }; 179 };
167 180
168 let features = 181 let features =
169 { 182 {
170 "addon-page-styles": AddonPageStyles, 183 "addon-page-styles": AddonPageStyles,
171 "vertical-preferences-layout": VerticalPreferencesLayout, 184 "vertical-preferences-layout": VerticalPreferencesLayout,
172 "preferences-one-line-subscriptions": OneLineSubscriptions, 185 "preferences-one-line-subscriptions": OneLineSubscriptions,
173 "preferences-remove-actions-button": RemoveActionsButton, 186 "preferences-remove-actions-button": RemoveActionsButton,
174 "toolbar-icon-display": ToolbarIconDisplay, 187 "toolbar-icon-display": ToolbarIconDisplay,
188 "addon-page-australis-styles": AddonPageAustralisStyles,
175 "green-icon": GreenIcon, 189 "green-icon": GreenIcon,
176 "remove-menus": RemoveMenus 190 "remove-menus": RemoveMenus
177 }; 191 };
178 192
179 function updateFeature(name) 193 function updateFeature(name)
180 { 194 {
181 if (name in features) 195 if (name in features)
182 { 196 {
183 let enabled; 197 let enabled;
184 if (name == "addon-page-styles") 198 if (name == "addon-page-styles")
185 enabled = true; 199 enabled = true;
200 else if (name == "toolbar-icon-display" && isAustralis)
201 enabled = false;
202 else if (name == "addon-page-australis-styles")
203 enabled = isAustralis;
186 else 204 else
187 enabled = Prefs[name]; 205 enabled = Prefs[name];
188 206
189 if (enabled) 207 if (enabled)
190 features[name].init(); 208 features[name].init();
191 else 209 else
192 features[name].shutdown(); 210 features[name].shutdown();
193 } 211 }
194 } 212 }
195 213
196
197 // Initialize features and make sure to update them on changes 214 // Initialize features and make sure to update them on changes
198 for (let feature in features) 215 for (let feature in features)
199 updateFeature(feature); 216 updateFeature(feature);
200 217
201 Prefs.addListener(updateFeature); 218 Prefs.addListener(updateFeature);
OLDNEW
« no previous file with comments | « chrome/content/settings.xul ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld