зеркало из https://github.com/mozilla/pjs.git
Bug 561382 - Theme doesn't dynamically switch on sync to default theme, r=Mardak
--HG-- extra : rebase_source : e2a8fe1659816065cd162c2514336ec6f5a07521
This commit is contained in:
Родитель
152c9df466
Коммит
2b46d6a587
|
@ -133,6 +133,20 @@ PrefStore.prototype = {
|
||||||
},
|
},
|
||||||
|
|
||||||
_setAllPrefs: function PrefStore__setAllPrefs(values) {
|
_setAllPrefs: function PrefStore__setAllPrefs(values) {
|
||||||
|
// cache
|
||||||
|
let ltmExists = true;
|
||||||
|
let ltm = {};
|
||||||
|
let enabledBefore = false;
|
||||||
|
let prevTheme = "";
|
||||||
|
try {
|
||||||
|
Cu.import("resource://gre/modules/LightweightThemeManager.jsm", ltm);
|
||||||
|
ltm = ltm.LightweightThemeManager;
|
||||||
|
enabledBefore = this._prefs.getBoolPref("lightweightThemes.isThemeSelected");
|
||||||
|
prevTheme = ltm.currentTheme;
|
||||||
|
} catch(ex) {
|
||||||
|
ltmExists = false;
|
||||||
|
} // LightweightThemeManager only exists in Firefox 3.6+
|
||||||
|
|
||||||
for (let i = 0; i < values.length; i++) {
|
for (let i = 0; i < values.length; i++) {
|
||||||
switch (values[i]["type"]) {
|
switch (values[i]["type"]) {
|
||||||
case "int":
|
case "int":
|
||||||
|
@ -150,17 +164,15 @@ PrefStore.prototype = {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notify the lightweight theme manager of all the new values
|
// Notify the lightweight theme manager of all the new values
|
||||||
try {
|
if (ltmExists) {
|
||||||
let ltm = {};
|
let enabledNow = this._prefs.getBoolPref("lightweightThemes.isThemeSelected");
|
||||||
Cu.import("resource://gre/modules/LightweightThemeManager.jsm", ltm);
|
if (enabledBefore && !enabledNow)
|
||||||
ltm = ltm.LightweightThemeManager;
|
ltm.currentTheme = null;
|
||||||
if (ltm.currentTheme) {
|
else if (enabledNow && ltm.usedThemes[0] != prevTheme) {
|
||||||
ltm.currentTheme = null;
|
ltm.currentTheme = null;
|
||||||
ltm.currentTheme = ltm.usedThemes[0];
|
ltm.currentTheme = ltm.usedThemes[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// LightweightThemeManager only exists in Firefox 3.6+
|
|
||||||
catch (ex) {}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getAllIDs: function PrefStore_getAllIDs() {
|
getAllIDs: function PrefStore_getAllIDs() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче