mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +09:00
Add Pale Moon
This commit is contained in:
parent
dcd9973243
commit
fe8028fa2e
1173 changed files with 143053 additions and 934 deletions
209
application/palemoon/components/preferences/content.js
Normal file
209
application/palemoon/components/preferences/content.js
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
var gContentPane = {
|
||||
|
||||
/**
|
||||
* Initializes the fonts dropdowns displayed in this pane.
|
||||
*/
|
||||
init: function ()
|
||||
{
|
||||
this._rebuildFonts();
|
||||
var menulist = document.getElementById("defaultFont");
|
||||
if (menulist.selectedIndex == -1) {
|
||||
menulist.insertItemAt(0, "", "", "");
|
||||
menulist.selectedIndex = 0;
|
||||
}
|
||||
},
|
||||
|
||||
// UTILITY FUNCTIONS
|
||||
|
||||
/**
|
||||
* Utility function to enable/disable the button specified by aButtonID based
|
||||
* on the value of the Boolean preference specified by aPreferenceID.
|
||||
*/
|
||||
updateButtons: function (aButtonID, aPreferenceID)
|
||||
{
|
||||
var button = document.getElementById(aButtonID);
|
||||
var preference = document.getElementById(aPreferenceID);
|
||||
button.disabled = preference.value != true;
|
||||
return undefined;
|
||||
},
|
||||
|
||||
/**
|
||||
* Utility function to enable/disable the checkboxes for MSE options depending
|
||||
* on the value of media.mediasource.enabled.
|
||||
*/
|
||||
updateMSE: function ()
|
||||
{
|
||||
var checkboxMSENFR = document.getElementById('videoMSENFR');
|
||||
var checkboxMSEMP4 = document.getElementById('videoMSEMP4');
|
||||
var checkboxMSEWebM = document.getElementById('videoMSEWebM');
|
||||
var preference = document.getElementById('media.mediasource.enabled');
|
||||
checkboxMSENFR.disabled = preference.value != true;
|
||||
checkboxMSEMP4.disabled = preference.value != true;
|
||||
checkboxMSEWebM.disabled = preference.value != true;
|
||||
// Check and disable WebM if necessary
|
||||
if (preference.value == true) {
|
||||
this.updateMSEWebM();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Utility function to enable/disable the checkbox for MSE+WebM depending
|
||||
* on the value of media.mediasource.format-reader.
|
||||
*/
|
||||
updateMSEWebM: function ()
|
||||
{
|
||||
var checkboxMSEWebM = document.getElementById('videoMSEWebM');
|
||||
var preference = document.getElementById('media.mediasource.format-reader');
|
||||
checkboxMSEWebM.disabled = preference.value == true;
|
||||
if (preference.value == true) {
|
||||
// Switch off incompatible format
|
||||
Services.prefs.setBoolPref('media.mediasource.webm.enabled', false);
|
||||
checkboxMSEWebM.checked = false;
|
||||
}
|
||||
},
|
||||
|
||||
// BEGIN UI CODE
|
||||
|
||||
/*
|
||||
* Preferences:
|
||||
*
|
||||
* dom.disable_open_during_load
|
||||
* - true if popups are blocked by default, false otherwise
|
||||
*/
|
||||
|
||||
// POP-UPS
|
||||
|
||||
/**
|
||||
* Displays the popup exceptions dialog where specific site popup preferences
|
||||
* can be set.
|
||||
*/
|
||||
showPopupExceptions: function ()
|
||||
{
|
||||
var bundlePreferences = document.getElementById("bundlePreferences");
|
||||
var params = { blockVisible: false, sessionVisible: false, allowVisible: true, prefilledHost: "", permissionType: "popup" };
|
||||
params.windowTitle = bundlePreferences.getString("popuppermissionstitle");
|
||||
params.introText = bundlePreferences.getString("popuppermissionstext");
|
||||
document.documentElement.openWindow("Browser:Permissions",
|
||||
"chrome://browser/content/preferences/permissions.xul",
|
||||
"", params);
|
||||
},
|
||||
|
||||
|
||||
// FONTS
|
||||
|
||||
/**
|
||||
* Populates the default font list in UI.
|
||||
*/
|
||||
_rebuildFonts: function ()
|
||||
{
|
||||
var langGroupPref = document.getElementById("font.language.group");
|
||||
this._selectDefaultLanguageGroup(langGroupPref.value,
|
||||
this._readDefaultFontTypeForLanguage(langGroupPref.value) == "serif");
|
||||
},
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
_selectDefaultLanguageGroup: function (aLanguageGroup, aIsSerif)
|
||||
{
|
||||
const kFontNameFmtSerif = "font.name.serif.%LANG%";
|
||||
const kFontNameFmtSansSerif = "font.name.sans-serif.%LANG%";
|
||||
const kFontNameListFmtSerif = "font.name-list.serif.%LANG%";
|
||||
const kFontNameListFmtSansSerif = "font.name-list.sans-serif.%LANG%";
|
||||
const kFontSizeFmtVariable = "font.size.variable.%LANG%";
|
||||
|
||||
var prefs = [{ format : aIsSerif ? kFontNameFmtSerif : kFontNameFmtSansSerif,
|
||||
type : "fontname",
|
||||
element : "defaultFont",
|
||||
fonttype : aIsSerif ? "serif" : "sans-serif" },
|
||||
{ format : aIsSerif ? kFontNameListFmtSerif : kFontNameListFmtSansSerif,
|
||||
type : "unichar",
|
||||
element : null,
|
||||
fonttype : aIsSerif ? "serif" : "sans-serif" },
|
||||
{ format : kFontSizeFmtVariable,
|
||||
type : "int",
|
||||
element : "defaultFontSize",
|
||||
fonttype : null }];
|
||||
var preferences = document.getElementById("contentPreferences");
|
||||
for (var i = 0; i < prefs.length; ++i) {
|
||||
var preference = document.getElementById(prefs[i].format.replace(/%LANG%/, aLanguageGroup));
|
||||
if (!preference) {
|
||||
preference = document.createElement("preference");
|
||||
var name = prefs[i].format.replace(/%LANG%/, aLanguageGroup);
|
||||
preference.id = name;
|
||||
preference.setAttribute("name", name);
|
||||
preference.setAttribute("type", prefs[i].type);
|
||||
preferences.appendChild(preference);
|
||||
}
|
||||
|
||||
if (!prefs[i].element)
|
||||
continue;
|
||||
|
||||
var element = document.getElementById(prefs[i].element);
|
||||
if (element) {
|
||||
element.setAttribute("preference", preference.id);
|
||||
|
||||
if (prefs[i].fonttype)
|
||||
FontBuilder.buildFontList(aLanguageGroup, prefs[i].fonttype, element);
|
||||
|
||||
preference.setElementValue(element);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the type of the current default font for the language denoted by
|
||||
* aLanguageGroup.
|
||||
*/
|
||||
_readDefaultFontTypeForLanguage: function (aLanguageGroup)
|
||||
{
|
||||
const kDefaultFontType = "font.default.%LANG%";
|
||||
var defaultFontTypePref = kDefaultFontType.replace(/%LANG%/, aLanguageGroup);
|
||||
var preference = document.getElementById(defaultFontTypePref);
|
||||
if (!preference) {
|
||||
preference = document.createElement("preference");
|
||||
preference.id = defaultFontTypePref;
|
||||
preference.setAttribute("name", defaultFontTypePref);
|
||||
preference.setAttribute("type", "string");
|
||||
preference.setAttribute("onchange", "gContentPane._rebuildFonts();");
|
||||
document.getElementById("contentPreferences").appendChild(preference);
|
||||
}
|
||||
return preference.value;
|
||||
},
|
||||
|
||||
/**
|
||||
* Displays the fonts dialog, where web page font names and sizes can be
|
||||
* configured.
|
||||
*/
|
||||
configureFonts: function ()
|
||||
{
|
||||
document.documentElement.openSubDialog("chrome://browser/content/preferences/fonts.xul",
|
||||
"", null);
|
||||
},
|
||||
|
||||
/**
|
||||
* Displays the colors dialog, where default web page/link/etc. colors can be
|
||||
* configured.
|
||||
*/
|
||||
configureColors: function ()
|
||||
{
|
||||
document.documentElement.openSubDialog("chrome://browser/content/preferences/colors.xul",
|
||||
"", null);
|
||||
},
|
||||
|
||||
// LANGUAGES
|
||||
|
||||
/**
|
||||
* Shows a dialog in which the preferred language for web content may be set.
|
||||
*/
|
||||
showLanguages: function ()
|
||||
{
|
||||
document.documentElement.openSubDialog("chrome://browser/content/preferences/languages.xul",
|
||||
"", null);
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue