From f5aaba2d40dcb38cac1e8a1c2d9151ea4fc47da1 Mon Sep 17 00:00:00 2001 From: "mgalli%geckonnection.com" Date: Fri, 4 Nov 2005 00:24:05 +0000 Subject: [PATCH] Checked in preferences sync fix. git-svn-id: svn://10.0.0.236/trunk@184120 18797224-902f-48f8-a5cc-f745e15eee43 --- .../chrome/content/preferences/preferences.js | 59 +++++++++++-------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/mozilla/minimo/chrome/content/preferences/preferences.js b/mozilla/minimo/chrome/content/preferences/preferences.js index bf81643986c..f35c3f085df 100644 --- a/mozilla/minimo/chrome/content/preferences/preferences.js +++ b/mozilla/minimo/chrome/content/preferences/preferences.js @@ -247,37 +247,44 @@ function PrefCancel() { function syncPrefSaveDOM() { + try { + var psvc = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefService); - for(var strCurKey in gPrefQueue) { - var elRef=gPrefQueue[strCurKey]; - var prefName=elRef.getAttribute("preference"); - var transValidator=elRef.getAttribute("onsynctopreference"); - var prefSETValue=null; - if(transValidator!="") { - prefSETValue=eval(transValidator); - - } else { - if(elRef.nodeName=="checkbox") { - if(elRef.checked) { - elRef.value=true; - } else { - elRef.value=false; - } + for(var strCurKey in gPrefQueue) { + var elRef=gPrefQueue[strCurKey]; + var prefName=elRef.getAttribute("preference"); + var transValidator=elRef.getAttribute("onsynctopreference"); + var prefSETValue=null; + if(transValidator!="") { + prefSETValue=eval(transValidator); + + } else { + if(elRef.nodeName=="checkbox") { + if(elRef.checked) { + elRef.value=true; + } else { + elRef.value=false; + } + } + prefSETValue=elRef.value; + } + if (gPref.getPrefType(prefName) == gPref.PREF_STRING){ + gPref.setCharPref(prefName, prefSETValue); + } + + if (gPref.getPrefType(prefName) == gPref.PREF_INT) { + gPref.setIntPref(prefName, prefSETValue); + } + + if (gPref.getPrefType(prefName) == gPref.PREF_BOOL) { + gPref.setBoolPref(prefName, prefSETValue); } - prefSETValue=elRef.value; } - if (gPref.getPrefType(prefName) == gPref.PREF_STRING){ - gPref.setCharPref(prefName, prefSETValue); - } - if (gPref.getPrefType(prefName) == gPref.PREF_INT) { - gPref.setIntPref(prefName, prefSETValue); - } + psvc.savePrefFile(null); + } catch (e) { alert(e) } - if (gPref.getPrefType(prefName) == gPref.PREF_BOOL) { - gPref.setBoolPref(prefName, prefSETValue); - } - } } function syncPrefLoadDOM(elementList) {