Bug 84211: font prefs in pref dialog not lockable (eClient)

sr=ben r=bnesse
This commit is contained in:
eddyk%netscape.com 2006-05-17 02:30:12 +00:00
parent 4c5677ad70
commit 177e729042

View File

@ -130,7 +130,10 @@ function SetFields( aDataObject )
userResolution.removeAttribute("hidden");
screenResolution.selectedItem = userResolution;
}
if ( parent.hPrefWindow.getPrefIsLocked( "browser.display.screen_resolution" ) ) {
screenResolution.disabled = true;
}
var useDocFontsCheckbox = document.getElementById( "browserUseDocumentFonts" );
if( aDataObject.useDocFonts != undefined )
useDocFontsCheckbox.checked = aDataObject.useDocFonts ? true : false;
@ -140,6 +143,9 @@ function SetFields( aDataObject )
if( prefvalue != "!/!ERROR_UNDEFINED_PREF!/!" )
useDocFontsCheckbox.checked = prefvalue ? true : false ;
}
if ( parent.hPrefWindow.getPrefIsLocked( "browser.display.use_document_fonts" ) ) {
useDocFontsCheckbox.disabled = true;
}
}
function Startup()
@ -172,6 +178,12 @@ function Startup()
resolution = document.getElementById( "defaultResolution" );
resolution.setAttribute( "value", "96" );
resolution.setAttribute( "label", dpi.replace(/\$val/, "96" ) );
// This prefstring is a contrived pref whose sole purpose is to lock some
// elements in this panel. The value of the pref is not used and does not matter.
if ( parent.hPrefWindow.getPrefIsLocked( "browser.display.languageList" ) ) {
disableAllFontElements();
}
}
function listElement( aListID )
@ -367,7 +379,6 @@ function selectLanguage()
{
if (strDefaultFontFace) {
//initialze pref panel only if font faces are available for this language family
var selectVal;
@ -392,6 +403,7 @@ function selectLanguage()
variableSize.removeAttribute("disabled");
fixedSize.removeAttribute("disabled");
try {
var variableSizePref = "font.size.variable." + languageList.value;
var fixedSizePref = "font.size.fixed." + languageList.value;
@ -505,3 +517,18 @@ function onCancel()
window.arguments[0].newdpi = -1;
return true;
}
// disable font items, but not the browserUseDocumentFonts checkbox nor the resolution
// menulist
function disableAllFontElements()
{
var doc_ids = [ "selectLangs", "proportionalFont",
"sizeVar", "serif", "sans-serif",
"cursive", "fantasy", "monospace",
"sizeMono" ];
for (i=0; i<doc_ids.length; i++) {
element = document.getElementById( doc_ids[i] );
element.disabled = true;
}
}